Anfangsbuchstaben finden
#1
Liebe Forumsmitglieder,
ich hatte es schon einmal gewusst, aber es fällt mir nicht mehr ein:
Ich möchte in einer Tabellenspalte z.B. den Anfangsbuchstaben ""K"" einer Zelle finden.
Wie krieg ich das mit VBA hin ?
Vielen Dank für Eure Hilfe.
Liebe Grüße
Helmut
Antworten Top
#2
Hallo Helmut,

sollte mit Find machbar sein. Der Makrorekorder ist hier dein Freund oder schau mal hier:
https://excelmacromastery.com/excel-vba-find/
[-] Folgende(r) 1 Nutzer sagt Danke an knobbi38 für diesen Beitrag:
  • heli
Antworten Top
#3
Code:
Hi Helmut,
wenn Du nur Zellen finden willst die mit K anfangen
Sub FindeAnfangsbuchstabeK()
    Dim ws As Worksheet
    Dim searchColumn As Range
    Dim cell As Range
    Dim result As String
   
    Set ws = ActiveSheet
    Set searchColumn = Application.InputBox("Bitte die zu durchsuchende(n) Spalte(n) auswählen (Matrix markieren)", Type:=8)
   
    result = ""
    For Each cell In searchColumn
       
        If Left(cell.Value, 1) = "K" Then
            cell.Interior.Color = RGB(255, 255, 0)
            result = result & cell.Address & vbNewLine
        End If
    Next cell
   
    If result <> "" Then
        MsgBox "Gefundene Zellen, die mit 'K' beginnen:" & vbNewLine & result
    Else
        MsgBox "Keine Zellen gefunden, die mit 'K' beginnen."
    End If
End Sub

oder wenn Du Zellen finden willst in denen irgendwo der Buchstabe am Anfang eines Wortes im Text der Zelle vorkommt dann

Sub FindeAnfangsbuchstabenK_irgendwoInDerZelle()
    Dim ws As Worksheet
    Dim searchColumn As Range
    Dim cell As Range
    Dim result As String
    Dim words() As String
    Dim word As Variant
    Dim found As Boolean
   
    Set ws = ActiveSheet
    Set searchColumn = Application.InputBox("Bitte die zu durchsuchende(n) Spalte(n) auswählen (Matrix markieren)", Type:=8)
   
    result = ""
    For Each cell In searchColumn
        found = False
       
        words = Split(cell.Value, " ")
       
        For Each word In words
            If Left(word, 1) = "K" Then
                found = True
                Exit For
            End If
        Next word
       
        If found Then
            cell.Interior.Color = RGB(255, 255, 0)
            result = result & cell.Address & vbNewLine
        End If
    Next cell
   
    If result <> "" Then
        MsgBox "Gefundene Zellen mit einem Wort, das mit 'K' beginnt:" & vbNewLine & result
    Else
        MsgBox "Keine Zellen gefunden, in denen ein Wort mit 'K' beginnt."
    End If
End Sub
Grüße

J.K.H.
[-] Folgende(r) 1 Nutzer sagt Danke an J.K.H. für diesen Beitrag:
  • heli
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste