Leere Zelle vor jeder Zelle mit dem Inhalt "Markus" einfügen?
Hallo zusammen.
Ich habe einen großen Bereich mit Texteinträgen. Diese sind Zeilenweise erfasst.
Ich muss jetzt überall, wo in der Zelle "Markus" steht, eine leere Zelle links von "Markus" einfügen (Siehe Bild)
Geht das per VBA?
Gruß
1 Antwort
![](https://images.gutefrage.net/media/user/TUrabbIT/1444748912_nmmslarge.jpg?v=1444748912000)
Ja, das lässt sich mit VBA in Excel lösen. Hier ist ein Code-Beispiel, das du anpassen kannst:
Sub LeereZelleLinksVonMarkus()
Dim Bereich As Range
Dim Zelle As Range
Set Bereich = Range("A1:A10") ' Hier den Bereich angeben, in dem gesucht werden soll
For Each Zelle In Bereich
If InStr(1, Zelle.Value, "Markus") > 0 Then
Zelle.Insert Shift:=xlToRight ' Einfügen der leeren Zelle links von "Markus"
End If
Next Zelle
End Sub
In diesem Beispiel wird in Spalte A in den Zeilen 1 bis 10 nach "Markus" gesucht. Wenn "Markus" in einer Zelle gefunden wird, wird eine leere Zelle links davon eingefügt. Sie können den Bereich, in dem gesucht werden soll, an Ihre Anforderungen anpassen, indem Sie den Code entsprechend ändern.
Mit freundlicher Unterstützung von ChatGPT
![](https://images.gutefrage.net/media/default/user/15_nmmslarge.png?v=1551279448000)
Genau den Code in ein Modul kopieren und den Bereich (+ eine weitere Spalte falls Markus ganz am Ende der Zeile steht) entsprechend an deine Tabelle anpassen. Excel geht die Zellen in der "For Each"-Schleife von links nach rechts durch, daher brauchst du noch einen Puffer damit derselbe Eintrag nicht mehrfach verschoben wird:
Sub LeereZelleLinksVonMarkus()
Dim neuEintrag As Boolean
Dim Ber As Range
Dim Zelle As Range
With ActiveSheet
Set Ber = .Range("A1:C10") ' Hier den Bereich angeben, in dem gesucht werden soll
neuEintrag = True
For Each Zelle In Ber
If InStr(1, Zelle.Value, "Markus") > 0 And neuEintrag Then
Zelle.Insert Shift:=xlToRight ' Einfügen der leeren Zelle links von "Markus"
neuEintrag = False
Else
neuEintrag = True
End If
Next Zelle
End With
End Sub
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Also ich habe es eingegeben und Start gedrückt, aber da läuft nix. Was VBA angeht, habe ich wirklich gar keine Ahnung.. :/
![](https://images.gutefrage.net/media/user/Tron1701/1444750055_nmmslarge.jpg?v=1444750055000)
Speicher die Datei unter *. xlsm ab (wegen dem Makro). Müsste dann gehen, wenn der Rest korrekt gemacht wurde.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Oh wow, es war wirklich, weil ich es im falschen Format abgespeichert hatte. Danke vielmals.
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
Hi again. Kurze Frage: Wie muss der Code modifiziert werden, wenn in der neuen Zelle das Wort "Bild" stehen soll?
![](https://images.gutefrage.net/media/user/Tron1701/1444750055_nmmslarge.jpg?v=1444750055000)
Hallo,
mit VBA-Programmierung habe ich keine Erfahrung. Hierfür bei "DanKirpan" oder "TUrabblT" nachfragen.
Sah mir schon nach ChatGPT aus. Ich habe da auch schon einige probiert, allerdings haben die alle nicht funktioniert und bei dem hier weis ich nicht, was genau ich jetzt als code i VBA eintragen soll.