Hi,
kann man so machen, allerdings würde ich euch empfehlen auf Select/Offset für das Navigieren durch Zellbereich zu verzichten, da es sehr langsam in der Ausführung ist und den Code unübersichtlich macht.
Stattedessen könnte man folgendes schreiben:
Private Sub Suche()
Dim a As Integer
For a = 1 To Cells(1, 1).End(xlDown).Row
If Cells(a, 1) = "1" Then
MsgBox Cells(a, 3)
Exit For
End If
Next
End Sub
Oder noch schneller:
Private Sub Suche()
Dim a As Integer
Dim ZellWerte
ZellWerte = Range(Cells(1, 1).End(xlDown), Cells(1, 3)).Value
For a = 1 To UBound(ZellWerte)
If ZellWerte(a, 1) = "1" Then
MsgBox ZellWerte(a, 3)
Exit For
End If
Next
End Sub
Um statt bis zu der ersten leeren Zelle, bis zur letzten beschriebenen zu suchen kann man statt "Cells(1, 1).End(xlDown)" auch "Cells(rows.count,1).End(xlup)" schreiben.
Gruß
Till
|