AW: Suchbegriffe in Tabelle farblich hervorheben
04.11.2016 17:49:19
Michael
Hi,
das klappt bei mir anstandslos:
Sub test()
Dim Sb, iSb&
Sb = Sheets("Suchbegriffe").Range("A1", Cells(1, 1).End(xlDown))
For iSb = 1 To UBound(Sb)
MsgBox Sb(iSb, 1)
Next
End Sub
Bist Du sicher, daß Du das Dim entsprechend geändert hast? Auf Sb, ... ohne as Range usw.?
Abgesehen davon: wenn nur ein Wert in A1 steht und kein weiterer darunter, springt xlDown bis zur untersten Zeile... Dann nimm halt Range("A1:A20") oder ermittle die unterste Zeile extra:
Sub test2()
Dim Sb, iSb&
iSb = Range("A" & Rows.Count).End(xlUp).Row
If iSb = 1 Then
ReDim Sb(1, 1)
Sb(1, 1) = Sheets("Suchbegriffe").Range("A1")
Else
Sb = Sheets("Suchbegriffe").Range("A1:A" & iSb)
End If
For iSb = 1 To UBound(Sb)
MsgBox Sb(iSb, 1)
Next
End Sub
Diese "blöde" If-Abfrage entfällt bei der Benutzung von Ranges; falls nur ein Wert vorhanden ist, wird standardmäßig nämlich kein Array, sondern nur ein Wert zugewiesen, so daß die Schleife mit ubound(a) dann nämlich auf eine Fehlermeldung laufen würde - die mit dem If sauber umgangen wird.
Schöne Grüße,
Michael