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

in Zelle Text nur dann einfügen wenn noch nicht da

Forumthread: in Zelle Text nur dann einfügen wenn noch nicht da

in Zelle Text nur dann einfügen wenn noch nicht da
05.01.2007 15:55:46
fuzzi
wie kann ich in eine Zelle einen Text mit VBA einsetzen, nur wenn genau dieser nicht schon darin vorkommt, damit dieser Textanteil dann nicht 2x da steht? Danke
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in Zelle Text nur dann einfügen wenn noch nich
05.01.2007 16:02:43
ronny
hallo fuzzi,
soll denn ein vorhandener text ergänzt werden?
wieviele verschiedene "textstrings" kann denn eine Zelle enthalten?
gruß ronny
AW: in Zelle Text nur dann einfügen wenn noch nich
05.01.2007 16:06:07
fuzzi
danke Ronny, ja einige Wörter stehen schon in der Zelle, und bei Betätigung eines Makros zum Einfügen in andere Zellen soll in die Zielzelle noch je ein bis 4 neue Wörter dazukommen, auch für Textfelder bräuchte ich das. Danke für die Bemühung
Anzeige
AW: in Zelle Text nur dann einfügen wenn noch nich
05.01.2007 16:12:39
ronny
daniel hat recht.
mit instr geht das.
oder:
If cells(1,1).value Like "*XYZ*" Then
gruß ronny
AW: in Zelle Text nur dann einfügen wenn noch nicht da
05.01.2007 16:06:41
Daniel
Hallo
wenn ichs richtig verstehe, willst du zu einem bestehenden Zellinhalt einen neuen Teil hinzufügen, wenn dieser nicht schon darin an einer anderen Stelle vorhanden ist?
wenn ja dann kannst du das mit der InStr-Funktion prüfen:

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

gruß, Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Text nur in Zelle einfügen, wenn nicht schon vorhanden


Schritt-für-Schritt-Anleitung

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:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)" und wähle "Einfügen" > "Modul".
  3. 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
  4. Schließe den VBA-Editor:

    • Drücke ALT + Q, um den Editor zu schließen.
  5. Führe das Makro aus:

    • Du kannst das Makro über Entwicklertools > Makros und dann auf Ausführen klicken.

Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

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.


Praktische Beispiele

  1. 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
  2. Textfeld hinzufügen: Wenn Du Text in ein Textfeld einfügen möchtest, kannst Du ähnlich vorgehen, indem Du das Textfeld referenzierst.


Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige