Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeichen in String einfügen

Zeichen in String einfügen
14.04.2015 11:44:58
Juergen
Hallo,
ich bin neu hier.
Ich suche schon sehr lange eine Lösung für mein Problem und hoffe hier Hilfe zu erhalten.
Folgendes Problem:
ich gebe einen Variablen String(Zeichenfolge) max. etwa 500 Zeilen in einer Spalte.
Der String (Zeichenfolge) kann in seiner Länge stark Variieren.
Die Zeichenfolge kann sowohl aus einer Zahlen und Buchstabenkombination bestehen, aber auch nur aus eine Zahlenfolge.
Die letzten 2 Zeichen sind immer Zahlen.
Vor diesen beiden Zahlen soll immer ein "/" eingefügt werden.
Die Ausgabe soll automatisch in der gleichen Zelle ausgegeben werden in der der Eintrag erfolgt (mit verlassen der Zelle),
vergleichbar mit der Benutzerdefinierten Formatierung.
Es wäre toll, wenn mir jemand helfen könnte.
Im voraus schon mal vielen Dank

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen in String einfügen
14.04.2015 11:56:52
lupo1
B1: =LINKS(A1;LÄNGE(A1)-2)&"/"&RECHTS(A1;2)

AW: Zeichen in String einfügen
14.04.2015 12:03:11
Juergen
Hallo Lupo1,
ganz nett von Dir , aber die Lösung als Formel wäre nicht das Problem gewesen.
Hätte ich vielleicht erwähnen sollen.
Sorry mein Fehler.
Nein, ich benötige eine VBA Lösung

außerdem, ...
14.04.2015 12:08:23
Oberschlumpf
...Hi lupo1...
...erfüllt deine Formel auch nicht ganz das Gewünschte.
Gewünscht war ja, dass die Änderung in genau der Zelle geschieht, in der ein Text eingefügt wurde.
Deine Lösung benötigt mindestens eine Hilfszelle (B1) oder eben die ganze Spalte B.
Ciao
Thorsten

Anzeige
eben als Formel, jetzt wie gefragt als VBAEreignis
14.04.2015 12:05:09
lupo1
rechtsklicke Tabellenreiter, Code Anzeigen, einfügen:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 1 Then
Application.EnableEvents = False
.Value = Left(.Value, Len(.Value) - 2) & "/" & Right(.Value, 2)
Application.EnableEvents = True
End If
End With
End Sub
Achtung: Betrifft nur Eingabe in Spalte A (Column = 1)

Anzeige
AW: eben als Formel, jetzt wie gefragt als VBAEreignis
14.04.2015 12:10:44
Juergen
Hallo lupo1,
klapp genau so wie ich es mir gewünscht habe.
Vielen herzlichen Dank

AW: Zeichen in String einfügen
14.04.2015 12:09:00
UweD
Hallo
- rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Code hier einfügen
Ist auf Zelländerungen der Spalte A begrenzt (Änderbar)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim RNG As Range
Set RNG = ActiveSheet.Range("A:A") 'anpassen
If Not Intersect(Target, RNG) Is Nothing Then
If Target.Count = 1 Then
Application.EnableEvents = False
Target = Left(Target, Len(Target) - 2) & "/" & Right(Target, 2)
Else
MsgBox "Nur eine Zelle erlaubt"
End If
End If
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Application.EnableEvents = True
End Sub

Gruß UweD
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Zeichen in String einfügen in Excel


Schritt-für-Schritt-Anleitung

Wenn Du ein Zeichen in einem String in Excel einfügen möchtest, kannst Du dies entweder mit einer Formel oder durch VBA-Code erreichen. Hier sind die Schritte für beide Methoden.

1. Mit einer Formel (nur als Referenz)
Du kannst die folgende Formel verwenden, um vor den letzten zwei Zeichen eines Strings ein "/" einzufügen. Diese Formel muss in eine Hilfszelle eingegeben werden:

=LINKS(A1;LÄNGE(A1)-2)&"/"&RECHTS(A1;2)

2. Mit VBA (empfohlene Methode)
Um das Zeichen direkt in der Zelle einzufügen, in die Du den Text eingibst, nutze VBA:

  • Rechtsklicke auf den Tabellenblattreiter.
  • Wähle „Code anzeigen“.
  • Füge den folgenden Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If .Column = 1 Then
            Application.EnableEvents = False
            .Value = Left(.Value, Len(.Value) - 2) & "/" & Right(.Value, 2)
            Application.EnableEvents = True
        End If
    End With
End Sub

Dieser Code fügt das Zeichen in der Zelle ein, nachdem Du die Eingabe abgeschlossen hast.


Häufige Fehler und Lösungen

Fehler: Eingabe funktioniert nicht in der gewünschten Zelle
Stelle sicher, dass der VBA-Code auf die richtige Spalte verweist. Der Code oben ist nur für Spalte A gültig. Ändere If .Column = 1 auf die gewünschte Spalte.

Fehler: „Nur eine Zelle erlaubt“ Meldung
Dieser Fehler tritt auf, wenn Du versuchst, mehrere Zellen gleichzeitig zu ändern. Der VBA-Code unterstützt nur eine Zelle zur gleichen Zeit. Achte darauf, nur eine Zelle zu bearbeiten.


Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch die Excel-Funktion „Text in Spalten“ verwenden, um Strings aufzuteilen und manuell zu bearbeiten. Dies ist jedoch weniger automatisiert und erfordert mehr Schritte.


Praktische Beispiele

Beispiel 1:
Wenn Du in Zelle A1 „123456“ eingibst, wird das Ergebnis nach der Eingabe automatisch in der gleichen Zelle „1234/56“ sein.

Beispiel 2:
Bei der Eingabe von „A1B2C3“ in Zelle A2 wird das Ergebnis „A1B2/C3“ sein.


Tipps für Profis

  • Nutze die Application.EnableEvents = False und True Anweisungen im VBA-Code, um zu verhindern, dass der Code sich selbst erneut auslöst, was zu einer Endlosschleife führen könnte.
  • Überlege, ob Du weitere Zeichen an bestimmten Stellen einfügen möchtest. Du kannst den Code entsprechend anpassen, um mehr Zeichen hinzuzufügen oder zu ändern.

FAQ: Häufige Fragen

1. Kann ich den Code für andere Spalten anpassen?
Ja, ändere einfach die Zahl in If .Column = 1 auf die entsprechende Spalte (z. B. If .Column = 2 für Spalte B).

2. Funktioniert das in allen Excel-Versionen?
Ja, der VBA-Code und die Formeln sollten in den meisten modernen Excel-Versionen funktionieren. Stelle sicher, dass Makros in Deiner Excel-Anwendung aktiviert sind, um den VBA-Code auszuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige