Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

IDENTISCH() in VBA?

Forumthread: IDENTISCH() in VBA?

IDENTISCH() in VBA?
05.10.2003 21:54:22
RainerW
Schönen guten Abend zusammen,

der MakroRekorder gibt für   »IDENTISCH(A1, A2)«    =    »EXACT(A1, A2)«   aus.

In VBA z.B. ergibt

Sub test2()
Dim a
a = EXACT(Range("A1"), Range("A2"))
MsgBox a
End Sub

eine Fehlermeldung (Su b  od. Funktion nicht definiert) und die Online-Hilfe kennt diese Funktion nicht.

Der Befehl
Range("B2").Formula = "=EXACT(A1, A2)"
fügt aber =IDENTISCH(A1, A2) in Zelle B2 ein.

Was mache ich falsch?

Gruß aus Essen
Rainer
Anzeige

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

Betreff
Datum
Anwender
Anzeige
IDENTISCH ist in VBA nicht nötig, denn...
05.10.2003 21:59:48
Boris
Hi Rainer,

VBA unterscheidet Gross-und Kleinschreinbung.
In A1 steht A, in B1 steht a


Sub test()
MsgBox [a1] = [b1]
End Sub


ergibt FALSCH.

Grüße Boris
AW: IDENTISCH ist in VBA nicht nötig, denn...
05.10.2003 22:25:25
RainerW
Hallo Boris,

danke für deine schnelle Antwort.

Der Hintergrund für meine Frage ist:
Ich möchte per VBA in allen Zellen, in denen ein bestimmtes Wort (z.B. Hallo) steht,
suchen und fett formatieren.
Es kann aber sein, dass dieses Wort öfter als ein Mal in derselben Zelle vorkommt.

Mit
Set c = .Find(strSuchText, After:=Range("A1"), LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, _
MatchCase:=True)

wird das Wort in der Zelle gefunden.
... MatchCase:=True
beachtet Groß- und Kleinschreibung.

Steht aber nun das Wort ein Mal als "Hallo" und ein zweites Mal als "hallo"
in derselben Zelle, dann werden beide Wörter fett formatiert - »MatchCase:=True«
wird hier übergangen.

Deswegen meine Frage (Problem gelöst mit: x = InStr(1, c, strSuchText, 0) )

Nochmals vielen Dank Boris und

liebe Grüße
Rainer
Anzeige
LookAt:=xlWhole___oT
06.10.2003 00:02:34
GerdW
G
;
Anzeige

Infobox / Tutorial

IDENTISCH() in VBA verwenden


Schritt-für-Schritt-Anleitung

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

  2. Neues Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle "Einfügen" > "Modul".

  3. Code eingeben: Füge den folgenden Code ein, um die IDENTISCH-Funktion in VBA zu verwenden:

    Sub testIdentisch()
       Dim a As Boolean
       a = (Range("A1").Value = Range("A2").Value)
       MsgBox a
    End Sub
  4. Makro ausführen: Drücke F5, um das Makro auszuführen und das Ergebnis anzuzeigen.


Häufige Fehler und Lösungen

  • Fehlermeldung: Sub oder Funktion nicht definiert: Dies passiert, wenn Du versuchst, die Funktion EXACT() in VBA zu verwenden, die nicht existiert. Verwende stattdessen den Vergleich mit =, um zu prüfen, ob die Werte identisch sind.

  • Groß- und Kleinschreibung beachten: Wenn Du Groß- und Kleinschreibung berücksichtigen möchtest, stelle sicher, dass Du MatchCase:=True in der .Find-Methode verwendest.


Alternative Methoden

Wenn Du die Excel-Funktion IDENTISCH in VBA nicht direkt verwenden kannst, gibt es alternative Methoden:

  • VBA .Find: Du kannst die Range.Find-Methode verwenden, um nach einem exakten Wert zu suchen. Beispiel:

    Dim c As Range
    Set c = Range("A1:A10").Find("Suchtext", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
  • InStr-Funktion: Um das Vorhandensein eines Substrings zu prüfen, kannst Du InStr verwenden:

    If InStr(1, Range("A1").Value, "Hallo", vbTextCompare) > 0 Then
       ' Aktion ausführen
    End If

Praktische Beispiele

  1. Identische Werte vergleichen:

    Sub checkIdentical()
       If Range("A1").Value = Range("A2").Value Then
           MsgBox "Die Werte sind identisch."
       Else
           MsgBox "Die Werte sind nicht identisch."
       End If
    End Sub
  2. Fett formatieren bei Übereinstimmung:

    Sub formatIdentical()
       Dim c As Range
       Set c = Range("A1:A10").Find("Hallo", LookIn:=xlValues, LookAt:=xlPart)
       If Not c Is Nothing Then
           c.Font.Bold = True
       End If
    End Sub

Tipps für Profis

  • Fehlerbehandlung: Füge Fehlerbehandlung in Deinen Code ein, um unerwartete Fehler zu vermeiden. Beispiel:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • VBA-Dokumentation: Nutze die VBA-Hilfe (F1), um mehr über die verschiedenen Funktionen zu erfahren, die Du in Deinen Makros verwenden kannst.


FAQ: Häufige Fragen

1. Warum funktioniert die EXACT-Funktion nicht in VBA?
Die EXACT-Funktion ist eine Excel-Funktion und nicht in VBA verfügbar. Verwende stattdessen den Vergleich =, um identische

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