Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - If then - Texterkennung

Forumthread: VBA - If then - Texterkennung

VBA - If then - Texterkennung
18.02.2019 12:24:49
Steffen
Hallo in die Runde :)
Ich habe seit einiger Zeit VBA für die "automatisierte" Arbeit in SAP für mich entdeckt und kämpfe nun mit der If Then Funktion
Gibt es die Möglichkeit, dass Excel während der Ausführung eines Makros in SAP auf einem Textfeld landet, diesen Text "liest / erkennt" und anhand des Inhalts eine entsprechende Aktion durchführt?
Konkretes Beispiel:
Das Makro navigiert sich in ein Fenster, in dem sich zwei Zeilen befinden:
Zeile1: FN_ERW_TextXYZ
Zeile2: FN_KOM_TextXYZ
Das Makro soll jetzt erkennen ob sich in Zeile 1 ein FM_KOM befindet und falls nicht, in Zeile2 dasselbe probieren.
Wie ist hier die Lösung? Muss der Text dazu markiert sein? Wie ist der Richtige If-Befehl (If XXXXX = ("FN_KOM_TextXYZ)" then) ? Vielen vielen dank im Voraus.
Gruß
Steffen
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - If then - Texterkennung
18.02.2019 12:36:52
Steffen
Als Ergänzung noch den passenden Screenshot.
Userbild
Das Makro landet im Textfeld FN_ERW_TextXYZ. Jetzt soll erkannt werden, ob in dieser Zeile der richtige Wortlaut (zB. FN_KOM) ist und ggf. bestätigen. Ist das möglich?
Nochmals vielen Dank im Voraus aus dem Tal der Ahnungslosen :)
Anzeige
AW: VBA - If then - Texterkennung
18.02.2019 13:14:40
Stefan
Moin, probier mal so ...
Den Bereich und wie er das markieren soll, musst natürlich noch anpassen.
Sub test()
Dim rCheck As Range, c As Range
Set rCheck = Range("D1:D10")
For Each c In rCheck.Cells
If InStr(1, c.Value, "FN_KOM")  0 Then
c.Interior.Color = vbRed
End If
Next
End Sub

Anzeige
AW: VBA - If then - Texterkennung
18.02.2019 13:47:29
Steffen
Hallo Stefan,
erst einmal danke für die Hilfe!
Die genannte Range D1:D10 bezieht sich doch auf Excel Zellen, oder?
Meine Textfelder, aus denen FN_KOM identifiziert werden soll, sind aber Felder in einem anderen Programm (SAP). Kann ich diese auch als Range angeben?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

VBA für Texterkennung in Excel nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Erstelle ein neues Modul: Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (deine Arbeitsmappe)" und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub TexterkennungTest()
       Dim textFeld As String
       textFeld = "FN_ERW_TextXYZ" ' Beispieltextfeld
    
       If InStr(1, textFeld, "FN_KOM") > 0 Then
           MsgBox "Der Text enthält FN_KOM."
       Else
           MsgBox "Der Text enthält nicht FN_KOM."
       End If
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro zu testen. Es wird ein Dialogfeld angezeigt, das dir mitteilt, ob der Text "FN_KOM" enthält oder nicht.


Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt": Stelle sicher, dass die Variablen korrekt deklariert sind. Überprüfe, ob du die richtige Datentypen verwendest.
  • Problem mit der Texterkennung: Wenn der Text nicht korrekt erkannt wird, überprüfe die Schreibweise und verwende die Funktion Trim, um unerwünschte Leerzeichen zu entfernen.

    textFeld = Trim(textFeld)

Alternative Methoden

Wenn du die Texterkennung nicht über VBA durchführen möchtest, kannst du auch die Funktionen FIND oder SEARCH in Excel-Formeln verwenden.

Beispiel:

=IF(ISNUMBER(SEARCH("FN_KOM"; A1)); "Text gefunden"; "Text nicht gefunden")

Diese Formel sucht in Zelle A1 nach "FN_KOM" und gibt eine entsprechende Meldung zurück.


Praktische Beispiele

Hier ist ein erweitertes Beispiel, das die Texterkennung in einer Schleife durchführt:

Sub TexterkennungSchleife()
    Dim rCheck As Range, c As Range
    Set rCheck = Range("D1:D10") ' Definiere den Bereich

    For Each c In rCheck.Cells
        If InStr(1, c.Value, "FN_KOM") > 0 Then
            c.Interior.Color = vbRed ' Zelle rot einfärben
        End If
    Next c
End Sub

In diesem Beispiel wird jede Zelle im Bereich D1:D10 überprüft und rot markiert, wenn der Text "FN_KOM" gefunden wird.


Tipps für Profis

  • Verwende die Option Explicit-Anweisung am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Experimentiere mit der If Or Then-Anweisung, um mehrere Bedingungen gleichzeitig zu überprüfen:

    If InStr(1, textFeld, "FN_KOM") > 0 Or InStr(1, textFeld, "FN_ERW") > 0 Then
       MsgBox "Einer der Texte wurde gefunden."
    End If

FAQ: Häufige Fragen

1. Kann ich auch mehrere Textfelder gleichzeitig überprüfen?
Ja, du kannst eine Schleife verwenden, um durch mehrere Textfelder oder Zellen zu iterieren und die Texterkennung durchzuführen.

2. Welche Excel-Version benötige ich für die Verwendung von VBA?
VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige