Vba: jak znaleźć wartość w kolumnie (z przykładem)
Aby znaleźć wartość w kolumnie w programie Excel, możesz użyć następującej podstawowej składni w VBA:
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
To konkretne makro przeszuka całą kolumnę A aktualnie aktywnego arkusza w poszukiwaniu ciągu „Rakiety” i, jeśli zostanie znaleziony, zmieni kolor czcionki komórki na czerwony i pogrubi czcionkę.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak znaleźć wartość w kolumnie za pomocą języka VBA
Załóżmy, że mamy następujący zbiór danych zawierający informacje o różnych koszykarzach:
Załóżmy, że chcemy znaleźć nazwę zespołu „Rakiety” w kolumnie A i po znalezieniu przekonwertować kolor czcionki komórki na czerwony i pogrubić czcionkę.
W tym celu możemy utworzyć następujące makro:
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
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Zwróć uwagę, że czcionka w komórce zawierającej ciąg „Rockets” jest teraz czerwona i pogrubiona.
Wszystkie pozostałe komórki po prostu zachowały czarną czcionkę.
Należy zauważyć, że argument MatchCase:=False w kodzie informuje VBA o konieczności przeprowadzenia wyszukiwania bez uwzględniania wielkości liter.
Jeśli więc nazwa zespołu w kolumnie A brzmiała „rakiety”, makro zawsze znajdzie ten ciąg i sprawi, że czcionka będzie czerwona i pogrubiona.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak napisać funkcje ŚREDNIA.JEŻELI i ŚREDNIA.JEŻELI
VBA: Jak pisać funkcje SUMIF i SUMIFS
VBA: Jak pisać funkcje COUNTIFS i COUNTIFS