Консультация № 202278
10.03.2022, 18:35
0.00 руб.
0 11 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
Столбцы A, B и C листа Excel (Лист1) заполняются буквами латинского алфавита. Разработайте алгоритм и коды соответствующих функций/процедур для расчета частоты встречаемости буквы из ячейки С3 в каждой заполненной строке и выделите желтым цветом ячейку, в которой встречается буква из ячейки С3. Вычислите количество частоты буквы из C3 и вставте сумму в ячейку E5. В ячейку E6 введите имя столбца, в котором буква из C3 встречается чаще. Столбцы заполняются, начиная со второй строки листа.
Прошу вас, помогите решить эту задачку в вба, нужно +- до 19:30-19:45 по мск, хелп плиз, буду ооочень благодарен! ;)

Обсуждение

давно
Модератор
137394
1850
10.03.2022, 18:53
общий
Адресаты:
Так быстро сегодня не получится. Тем более, задача не очень понятна, как-то путано изложено. Необходимо видеть пример таблицы,
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
405402
99
10.03.2022, 18:59
общий
Цитата: Megaloman
жаль, да и примера таблицы нет, это все что дал препод...
давно
Посетитель
405402
99
10.03.2022, 18:59
общий
ой блин, извините, не правильно дал коммент, просто 100 лет уже не заходил на этот сайт и забыл, как это делается
давно
Посетитель
405402
99
10.03.2022, 19:16
общий
P.S планы меняются, нужно уже не до 8, а до 9 вечера по мск, прошу хелп, кто шарит(((
давно
Посетитель
405402
99
10.03.2022, 19:27
общий
Адресаты:
Это все что есть, если что у меня 13 вар...
Прикрепленные файлы:
давно
Модератор
137394
1850
11.03.2022, 15:54
общий
это ответ
Похоже, решение уже неактуально, но Вы поставили нереальные сроки.
И вопрос задан не совсем по теме - это сфера "Пакет MSOffice"
Но вопрос задан, отвечаю.
Код:
Sub Coinside()

Dim Shr, Cel1, CelN, CelEq, ValEq As String
Dim OutCount, OutMax, OutName, OutMsg As String
Dim NCol, iMCount, Col1, TCount, iMax, i As Integer
Dim R, iR As Range

She = "Лист1" ' Имя листа
Cel1 = "A2" ' Начальная ячейка с данными
NCol = 3 ' Число колонок с данными

CelEq = "C3" ' Ячейка с эталонным содержимым
OutCount = "E5" ' Ячейка куда поместим количество совпадений с эталонным содержимым
OutMax = "E6" ' Ячейка куда поместим имя столбца, в котором эталон встречается чаще

Sheets(She).Select

CelN = Range("A2").End(xlDown).Address
CelN = Range(CelN).Offset(0, NCol - 1).Address

ValEq = Range(CelEq).Value
Set R = Range(Cel1 + ":" + CelN)

ReDim MCount(NCol - 1) As Integer

For iMCount = 0 To NCol - 1
MCount(iMCount) = 0
Next

Col1 = Range(Cel1).Column

For Each iR In R
With iR
If ValEq = .Value Then
.Interior.Color = 49407
iMCount = .Column - Col1
MCount(iMCount) = MCount(iMCount) + 1
Else
.Interior.Pattern = xlNone
End If
End With
Next

TCount = 0
iMax = 0

OutMsg = ""
For iMCount = 0 To NCol - 1
TCount = TCount + MCount(iMCount)
If MCount(iMCount) > MCount(iMax) Then iMax = iMCount
Next
Range(OutCount) = TCount

For iMCount = 0 To NCol - 1
OutName = Range(Cel1).Offset(0, iMCount).Address

For i = 0 To 10
OutName = Replace(OutName, CStr(i), "")
Next
OutName = Replace(OutName, "$", "")

OutMsg = OutMsg + vbCrLf + "В колонке: """ + OutName + """ найдено: " + vbTab + CStr(MCount(iMCount))
If MCount(iMCount) = MCount(iMax) Then
OutMsg = OutMsg + " (максимум)"
Range(OutMax) = OutName
End If
Next

OutMsg = "В ячейке:" + vbTab + vbTab + vbTab + """" + CelEq + """" + vbCrLf + _
"Имеется значение:" + vbTab + vbTab + """" + ValEq + """" + vbCrLf + vbCrLf + _
"В диапазоне ячеек: " + vbTab + vbTab + """" + Cel1 + ":" + Replace(CelN, "$", "") + """" + vbCrLf + _
"Найдено совпадений: " + vbTab + CStr(TCount) + vbCrLf + _
OutMsg

MsgBox OutMsg
End Sub


Прикрепленные файлы:
5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
405402
99
13.03.2022, 21:41
общий
Адресаты:
Добрый вечер! Огромное вам спасибо за помощь, жаль только она меня уже не спасет от пересдачи
Можно как-нибудь связаться с вами в соц сетях, том же вк или тг?
Мне еще ооочень пригодиться ваша помощь в будущем, и готов даже благодарить за нее денюжкой, если что я в вк/тг @garant_infoblog - везде один юзер.
+37376071928 - whatsapp ;)
давно
Модератор
137394
1850
13.03.2022, 23:12
общий
Адресаты:
Рад помочь в будущем. Размещайте вопросы на форуме, это повысит вероятность ответа и другими участниками. И рассчитывайте сроки: в конкретной ситуации за 2 часа да еще на ночь глядя вряд ли кто-нибудь смог бы сделать задание такого объема в VBA.
Задача, похоже, решается и без VBA формулами, и тогда сроки были бы реальнее.
Ваше спасибо вполне достаточно.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Посетитель
405402
99
13.03.2022, 23:32
общий
Цитата: Megaloman
Рад помочь в будущем. Размещайте вопросы на форуме, это повысит вероятность ответа и другими участниками. И рассчитывайте сроки: в конкретной ситуации за 2 часа да еще на ночь глядя вряд ли кто-нибудь смог бы сделать задание такого объема в VBA.
Задача, похоже, решается и без VBA формулами, и тогда сроки были бы реальнее.
Ваше спасибо вполне достаточно.
Я без проблем могу, как на форум так и вам в лс, просто такой срок был т.к у меня тогда аттестация была по этому предмету, и мне на эту задачку дали всего каких то несчастных 3 часа, поэтому придется пойти на пересдачу, да она решается и без VBA, но у меня просто такой предмет, и препод не принимает без кодаи хотелось бы свами связаться как-нибудь за день до пересдачи (
давно
Посетитель
405402
99
15.03.2022, 17:04
общий
Адресаты:
Здравствуйте! Вы в дискретной математике случайно не разбираетесь?
давно
Модератор
137394
1850
15.03.2022, 17:07
общий
Нет
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа