Public Sub FindLetter()
Dim rngFound As Range
Dim sColumnLetter As String
Dim sFirstAddress As String
sColumnLetter = ActiveSheet.Buttons(Application.Caller).Characters.Text
With Range("A:A")
Set rngFound = .Find(What:=sColumnLetter, After:=Range("A65536"), _
LookIn:=xlFormulas, LookAt:=xlPart, MatchCase:=True)
If Not rngFound Is Nothing Then 'überhaupt was gefunden?
sFirstAddress = rngFound.Address 'erste fundstelle merken
Do
If Left(rngFound, 1) = sColumnLetter Then 'Gewünschte stelle gefunden
Application.Goto Reference:=rngFound, Scroll:=True
Exit Do
Else 'Buchstabe ist nicht am Anfang (z.B.: "M": Bad Münstereifel)
Set rngFound = .FindNext(rngFound) 'weitersuchen bis erster Buchstabe der gesuchte oder am Anfang angelangt
If Not rngFound Is Nothing Then
If rngFound.Address = sFirstAddress Then 'schon wieder an erster Fundstelle angelangt?
Exit Do
End If
End If
End If
Loop
End If
End With
End Sub
Hallo an alle.
Ich weiß nicht mehr wer diesen Makro, auf meine Anfrage, vor einiger Zeit ins Forum gesetzt hat. Hiermit wird in einer größeren Liste
Aachen West
Augsburg
Aue (Sachs)
Berlin
Bad Homburg
Berlin-Wannsee usw.usw.
über die Schaltfläche A oder B usw. nach dem ersten Buchstaben gesucht und oben in der ersten Zelle angezeigt – funktioniert einwandfrei !!
Nun habe ich schon versucht es umzuändern, aber das übersteigt meinen „Horizont“.
Ich möchte jetzt in einer großen Liste
Mitte
Mitte
Nord
Nord
Ost
Ost
Süd
Süd
SüdOst
SüdOst
SüdWest
SüdWest
West
West
genauso die jeweilige Schaltfläche „anklicken“ und dann soll er mir den ersten Wert, z.B. von SüdWest, oben in der vierten Zeile anzeigen.
Gruß Peter