wie kann ich für die Zelleninhalte der Spalte D (ab Zeile 2) an zweite und an zehnte Stelle ein Unline "_" hinzufügen?
Beispiel vorher:
D | |
168 | |
169 | |
170 | |
171 | |
172 |
Beispiel nachher:
E | |
168 | |
169 | |
170 | |
171 | |
172 |
Vielen Dank im Voraus !
Liebe Grüße,
Selma
D | |
168 | |
169 | |
170 | |
171 | |
172 |
E | |
168 | |
169 | |
170 | |
171 | |
172 |
=LINKS(A1;1)&"_"&TEIL(A1;2;7)&"_"&RECHTS(A1;LÄNGE(A1)-8)
und runterkopieren.
Anschließend kannst du, wenn gewünscht, per Kopieren und Inhalte einfügen den Originalbereich überschreiben.
Gruß
David
Option Explicit
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim i As Long, wert As String
For i = 1 To Range("A65536").End(xlUp).Row
wert = Format(Range("D" & i), "@")
If wert "" Then wert = Left(Cells(i, 1), 4) & "_" & Mid(Cells(i, 4), 2, 7) & "_" & Right( _
Cells(1, 1), Len(Cells(i, 4)) - 8)
Range("D" & i) = wert
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Habe allerdings festgestellt, dass das Makro mit Fehler abbricht, wenn die Zelle eine Zahl enthält. Ich habe versucht, das mit =Format(..., "@") zu lösen, aber das funzt leider nicht. Wenn das bei dir vorkommen könnte, musst du mal die anderen VBA-Experten fragen (ich habe leider nur Level "VBA bescheiden").
Alternativ kannst du natürlich auch an den Anfang ein
On Error Resume Next
setzen, dann bügelt er den Fehler weg und die entsprechende Zelle bleibt so, wie sie ist.
Gruß
David
D | |
168 | |
169 | |
170 | |
171 | |
172 |
Option Explicit
Sub test()
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
Dim i As Long, wert As String
For i = 1 To Range("A65536").End(xlUp).Row
wert = Format(Range("D" & i), "@")
If wert "" Then wert = Left(Cells(i, 1), 4) & "_" & Mid(Cells(i, 4), 2, 7) & "_" & Right( _
Cells(i, 1), Len(Cells(i, 4)) - 8)
Range("D" & i) = wert
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Nur nochmal zur Sicherheit:
Es werden alle Zeilen durchlaufen, die in Spalte A einen Wert haben und dabei wird der Wert in Spalte D entsprechend deiner Vorgabe verändert.
Gruß
David
D | |
168 | |
169 | |
170 | |
171 | |
172 |
D | |
168 | |
169 | |
170 | |
171 | |
172 |
Um in Excel Zeichen an einer bestimmten Stelle einzufügen, kannst du eine Formel oder ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung für beide Methoden.
1. Zeichen an bestimmter Stelle mit einer Formel einfügen:
Angenommen, du möchtest in der Zelle D1 ein Zeichen "_" an der zweiten und zehnten Stelle hinzufügen. Verwende die folgende Formel:
=LINKS(D1;1) & "_" & TEIL(D1;2;7) & "_" & RECHTS(D1;LÄNGE(D1)-8)
2. Formel nach unten kopieren:
Klicke auf den kleinen Anfasser in der unteren rechten Ecke der Zelle und ziehe ihn nach unten, um die Formel auf die weiteren Zellen anzuwenden.
3. Ergebnis überprüfen:
Stelle sicher, dass das Ergebnis deinen Erwartungen entspricht. Du kannst die Ergebnisse dann per "Kopieren" und "Inhalte einfügen" in die Originalzellen übertragen.
Fehler: Zelle enthält eine Zahl.
On Error Resume Next
in deinem VBA-Code, um den Fehler zu ignorieren und die Zelle unverändert zu lassen.Fehler: Formel gibt unerwartete Ergebnisse zurück.
VBA-Methode:
Wenn du keine Hilfsspalten verwenden möchtest, kannst du ein einfaches VBA-Makro schreiben. Hier ist ein Beispiel:
Option Explicit
Sub ZeichenEinfügen()
Application.ScreenUpdating = False
Dim i As Long
For i = 2 To Range("A65536").End(xlUp).Row
If Not IsEmpty(Range("D" & i)) Then
Range("D" & i) = Left(Range("D" & i), 1) & "_" & Mid(Range("D" & i), 2, 7) & "_" & Right(Range("D" & i), Len(Range("D" & i)) - 8)
End If
Next i
Application.ScreenUpdating = True
End Sub
Füge diesen Code in ein neues Modul im VBA-Editor ein und führe das Makro aus.
Beispiel 1: Zeichen hinter einer Zahl einfügen
=A1 & "_"
Beispiel 2: Text am Anfang einer Zelle einfügen
="Start_" & B1
TEXT
und VERKETTEN
, um komplexere Formatierungen zu erstellen.1. Wie kann ich ein Leerzeichen an einer bestimmten Stelle hinzufügen? Um ein Leerzeichen an einer bestimmten Stelle einzufügen, kannst du eine ähnliche Formel verwenden, aber einfach ein Leerzeichen anstelle des Zeichens einsetzen.
2. Ist es möglich, mehrere Zeichen gleichzeitig einzufügen?
Ja, du kannst die Formel anpassen, um mehr als ein Zeichen an verschiedenen Stellen einzufügen, indem du mehrere &
-Operatoren verwendest.
3. Kann ich dies auch für eine ganze Spalte gleichzeitig machen? Ja, indem du die Formel in die oberste Zelle einer Spalte eingibst und sie dann nach unten ziehst, kannst du das Zeichen in jeder Zelle hinzufügen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen