Vba: як знайти значення в стовпці (з прикладом)
Ви можете використовувати такий базовий синтаксис у VBA, щоб знайти значення в стовпці в Excel:
Sub FindValue()
Dim rng As Range
Dim cell As Range
Dim findString As String
'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")
'specify string to look for
findString = " Rockets "
'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
LookAt:=xlWhole, MatchCase:=False)
If cell Is Nothing Then
cell.Font.Color = vbBlack
Else
cell.Font.Color = vbRed
cell.Font.Bold = True
End If
End Sub
Цей конкретний макрос шукатиме рядок «Ракети» у всьому стовпці A поточного активного аркуша та, якщо буде знайдено, змінить колір шрифту комірки на червоний і зробить шрифт жирним.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як знайти значення в стовпці за допомогою VBA
Припустимо, що ми маємо наступний набір даних, що містить інформацію про різних баскетболістів:
Скажімо, ми хочемо знайти назву команди «Rockets» у стовпці A, а коли її знайдемо, перетворимо колір шрифту комірки на червоний і зробимо шрифт жирним.
Для цього ми можемо створити такий макрос:
Sub FindValues()
Dim rng As Range
Dim cell As Range
Dim findString As String
'specify range to look in
Set rng = ActiveSheet.Columns(" A:A ")
'specify string to look for
findString = " Rockets "
'find cell with string
Set cell = rng.Find(What:=findString, LookIn:=xlFormulas, _
LookAt:=xlWhole, MatchCase:=False)
If cell Is Nothing Then
cell.Font.Color = vbBlack
Else
cell.Font.Color = vbRed
cell.Font.Bold = True
End If
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Зверніть увагу, що шрифт у комірці, що містить рядок «Ракети», тепер червоний і жирний.
Всі інші комірки просто зберегли чорний шрифт.
Зауважте, що аргумент MatchCase:=False у коді повідомляє VBA виконувати пошук без урахування регістру.
Отже, якщо назва команди в стовпці A була «ракети», макрос завжди знаходив би цей рядок і виділяв шрифт червоним і жирним.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: як написати функції AVERAGEIF і AVERAGEIFS
VBA: як написати функції SUMIF і SUMIFS
VBA: як написати функції COUNTIF і COUNTIFS