Dim Text as String
Dim TextNeu as String
Dim rngZelle as range
Set rngZelle = Range("A1")
Text = rngZelle.Value
TextNeu = "Dein Text"
if instr(Text,TextNeu) = 0 then rngZelle.value = Text & TextNeu
Um in Excel Text nur in eine Zelle einzufügen, wenn dieser dort noch nicht vorhanden ist, kannst Du VBA verwenden. Hier ist eine einfache Anleitung:
Öffne den VBA-Editor:
ALT + F11, um den VBA-Editor zu öffnen.Füge ein neues Modul hinzu:
Füge den folgenden Code ein:
Sub TextInZelleEinfügen()
Dim Text As String
Dim TextNeu As String
Dim rngZelle As Range
Set rngZelle = Range("A1") ' Ändere dies auf deine Zielzelle
Text = rngZelle.Value
TextNeu = "Dein Text" ' Den gewünschten Text hier einfügen
If InStr(Text, TextNeu) = 0 Then
rngZelle.Value = Text & " " & TextNeu
End If
End Sub
Schließe den VBA-Editor:
ALT + Q, um den Editor zu schließen.Führe das Makro aus:
Entwicklertools > Makros und dann auf Ausführen klicken.Text wird trotzdem eingefügt:
Stelle sicher, dass der Text genau übereinstimmt, einschließlich Leerzeichen. Die Funktion InStr ist case-sensitive.
Makro funktioniert nicht:
Überprüfe, ob Makros in deiner Excel-Datei aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere Makros.
Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die Funktion WENN in Kombination mit SUCHEN oder FINDEN verwenden, um zu überprüfen, ob der Text bereits in der Zelle vorhanden ist. Zum Beispiel:
=WENN(ISTFEHLER(SUCHEN("Dein Text";A1));A1&" Dein Text";A1)
Diese Formel fügt "Dein Text" nur hinzu, wenn er nicht bereits in der Zelle A1 vorhanden ist.
Beispiel mit mehreren Wörtern: Wenn Du mehrere Wörter hinzufügen möchtest, kannst Du den Code anpassen:
Dim neueWoerter As Variant
neueWoerter = Array("Wort1", "Wort2", "Wort3")
For Each Wort In neueWoerter
If InStr(Text, Wort) = 0 Then
Text = Text & " " & Wort
End If
Next Wort
rngZelle.Value = Text
Textfeld hinzufügen: Wenn Du Text in ein Textfeld einfügen möchtest, kannst Du ähnlich vorgehen, indem Du das Textfeld referenzierst.
Verwende Trim: Um führende und nachfolgende Leerzeichen beim Vergleich zu ignorieren, kannst Du Trim verwenden:
If InStr(Trim(Text), Trim(TextNeu)) = 0 Then
Fehlerbehandlung: Implementiere eine Fehlerbehandlung in Deinem Code, um unerwartete Fehler abzufangen.
1. Wie viele verschiedene Textstrings kann eine Zelle enthalten? Eine Zelle kann bis zu 32.767 Zeichen enthalten, aber die Anzahl der einzelnen Textteile hängt von der Formatierung ab.
2. Was passiert, wenn ich den gleichen Text mehrmals hinzufüge? Wenn Du den Code korrekt implementierst, wird der Text nur dann hinzugefügt, wenn er nicht bereits vorhanden ist. So vermeidest Du doppelte Einträge in deiner Excel Zelle.