Supportnet Computer
Planet of Tech

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

Antwort 2 von Opa53

Hallo Sven,

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?

Antwort 4 von Beverly

Hi Sven,

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?

Antwort 6 von Beverly

Hi Sven

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: