Registriert seit: 20.06.2014
Version(en): 2013
28.10.2024, 21:29
(Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2024, 22:06 von Kuwer.
Bearbeitungsgrund: Text vergrößert
)
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
Registriert seit: 22.09.2024
Version(en): 2010
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:1 Nutzer sagt Danke an knobbi38 für diesen Beitrag 28
• heli
Registriert seit: 16.04.2019
Version(en): 2016-365
28.10.2024, 23:12
(Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2024, 23:34 von J.K.H..)
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:1 Nutzer sagt Danke an J.K.H. für diesen Beitrag 28
• heli