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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *