In diesem Artikel erfahren Sie, wie Sie die INDEX & MATCH-Funktion in VBA verwenden, um zwei Excel-Kriterien mithilfe von VBA-Code abzugleichen.

Um die Ausgabe zu erhalten, verwenden wir eine Kombination aus OFFSET- und COUNTA-Funktionen, um eine Namensmanagerliste zu erstellen.

Lassen Sie uns anhand eines Beispiels verstehen:

  • Wir haben ein Studentenzeugnis mit dem Namen, dem Fach und der Note des Studenten.

img1

  • Wir möchten die Markierungen für den Schülernamen und das Fach herausfinden, die in den Zellen F2 und G2

img2

eingegeben wurden * Um Markierungen mit VBA-Code zu berechnen, haben wir die OFFSET-Funktion verwendet, um benannte Bereiche für jede Kategorie zu erstellen.

  • Drücken Sie STRG + F3, um das Namensmanager-Fenster zu öffnen (die Listen sind bereits erstellt)

img3

  • Verwenden der Funktion zum Einfügen von Namen auf der Registerkarte „Formeln“; Wir erhalten die gesamte Liste der definierten Namensbereiche in den Zellen

img4

  • Verwenden der Funktion zum Einfügen von Namen auf der Registerkarte „Formeln“; Wir erhalten die gesamte Liste der definierten Namen in den Zellen

img5

  • Klicken Sie auf Liste einfügen

img7

Wir müssen die folgenden Schritte ausführen, um den VB-Editor zu starten. Klicken Sie auf die Registerkarte Entwickler. Wählen Sie in der Code-Gruppe Visual Basic

img8

aus * Klicken Sie auf Einfügen und dann auf Modul

img9

Dadurch wird ein neues Modul erstellt.

Geben Sie den folgenden Code in das Modul Sub IndexMatch ()

ein myName = [F2]

mySubject = [G2]

mark = Application.WorksheetFunction.Index ([StMark], _ Application.WorksheetFunction.Match (myName, ([StName]), 0) + _ Application.WorksheetFunction.Match (mySubject, [StSubject], 0) – 1)

[H2] = End Sub markieren

img9

  • Drücken Sie die Tastenkombination ALT + F8, um das Makrofenster zu öffnen, und wählen Sie dann das Makro aus.

img10

  • Alternativ können Sie F5 drücken, um den Code im VBA-Bildschirm auszuführen.

  • Nach dem Ausführen des Makros erhalten wir die Ausgabe in Zelle H2

img11

Auf diese Weise können wir Ergebnisse mit der Index Match-Arbeitsblattfunktion in VBA erhalten.