Supportnet / Forum / Tabellenkalkulation
per VBA in EXCEL Buchstaben löschen
Frage
Hallo,
ich habe -wahrscheinlich einfach zu lösendes- Problem in EXCEL:
In einigen Zellen stehen folgende Buchstabenkombinationen:
KVT - ich benötige allerdings nur den ersten.
Wie kann ich mit einem Makro alle Buchstaben die nach dem "K" kommen löschen? Die Buchstaben stehen in den Zellen B1,B4,B7...usw. also in Spalte B ab B1 bis Bxx.
Vielen Dank für Eure Hilfe
Antwort 1 von Beverly
Hi Sven,
weshalb mit einem Makro? Das geht auch mit einer Formel
=WENN(LINKS(B1)="K";"K";"")
und Formel nach unten kopieren.
Bis später,
Karin
weshalb mit einem Makro? Das geht auch mit einer Formel
=WENN(LINKS(B1)="K";"K";"")
und Formel nach unten kopieren.
Bis später,
Karin
Antwort 2 von Opa53
Hallo Sven,
warum markierst du nicht die Spalte B und verwendest Bearbeiten / Ersetzen... ?
Gruß vom
Opa
warum markierst du nicht die Spalte B und verwendest Bearbeiten / Ersetzen... ?
Gruß vom
Opa
Antwort 3 von sven0207
Danke für eure Hilfe,
ich würde es schon gerne mit einem Makro lösen, da ich die Datei jeden Tag von extern bekomme und gerne eine Makro mit verschiedenen Anpassungen drüber laufen lassen möchte.
Habt ihr ne Idee?
ich würde es schon gerne mit einem Makro lösen, da ich die Datei jeden Tag von extern bekomme und gerne eine Makro mit verschiedenen Anpassungen drüber laufen lassen möchte.
Habt ihr ne Idee?
Antwort 4 von Beverly
Hi Sven,
Für alle Zellen der Spalte B, die eine Kombination mit einem K am Anfang beinhalten, wird jeweils nur das "K" in der Zelle belassen alles andere rechts davon wird gelöscht.
Bis später,
Karin
Sub teilstring()
Dim raZelle As Range
Dim strAdresse As String
With Columns("B")
Set raZelle = .Find("K*", lookat:=xlPart, LookIn:=xlValues)
If Not raZelle Is Nothing Then
strAdresse = raZelle.Address
Do
Cells(raZelle.Row, 2) = "K"
Set raZelle = .FindNext(raZelle)
Loop While Not raZelle Is Nothing And raZelle.Address <> strAdresse
End If
End With
End Sub
Für alle Zellen der Spalte B, die eine Kombination mit einem K am Anfang beinhalten, wird jeweils nur das "K" in der Zelle belassen alles andere rechts davon wird gelöscht.
Bis später,
Karin
Antwort 5 von sven0207
Danke, es läuft.
Eine Frage hätte ich noch: Angenommen, ich hätte zusätzlich zum "K" auch noch Buchstaben-Kombinationen mit einem "V" am Anfang. Wie müsste ich da das Makro modifizieren?
Eine Frage hätte ich noch: Angenommen, ich hätte zusätzlich zum "K" auch noch Buchstaben-Kombinationen mit einem "V" am Anfang. Wie müsste ich da das Makro modifizieren?
Antwort 6 von Beverly
Hi Sven
Bis später,
Karin
Sub teilstring2()
Dim loZeile As Long
With Columns("B")
For loZeile = 1 To IIf(IsEmpty(Cells(Rows.Count, 2)), Cells(Rows.Count, 2).End(xlUp).Row, Rows.Count)
If Left(Cells(loZeile, 2), 1) = "K" Or Left(Cells(loZeile, 2), 1) = "V" Then Cells(loZeile, 2) = Left(Cells(loZeile, 2), 1)
Next loZeile
End With
End Sub
Bis später,
Karin
Antwort 7 von sven0207
Vielen Dank Karin,
es funktioniert perfekt.
Gruß,
Sven
es funktioniert perfekt.
Gruß,
Sven

