Inhaltsverzeichnis
Bei der Arbeit mit Microsoft Excel Manchmal müssen wir den übereinstimmenden Wert in einem Bereich finden. Das können wir leicht mit Excel-Funktionen erreichen. Es gibt Funktionen in VBA, die wir verwenden können, aber keine von ihnen ist gleichbedeutend mit MATCH In diesem Artikel werden wir lernen, wie man einen Wert in einem Bereich mit Excel-VBA .
Download Arbeitsbuch Praxis
Sie können die Arbeitsmappe herunterladen und mit ihnen üben.
VBA Match Value in Range.xlsmEinführung in die Excel VBA Match-Funktion
Die Funktion anpassen in Excel VBA ist eine hilfreich konstruierte Nachschlagefunktion, die, wie VLOOKUP , HLOOKUP und die INDEX gibt den Ort der identischen oder vergleichbaren Übereinstimmung der in Arrays oder einer Datenbank erhaltenen Nachschlagewerte zurück. Diese Funktion ist eine Arbeitsblattfunktion, die das Programm verwendet. Da es sich um eine Arbeitsblattfunktion handelt, sind die Parameter für die Match-Funktion ähnlich wie die für die Arbeitsblattfunktion.
3 Beispiele für Excel VBA zum Abgleichen von Werten in Bereichen
1. einen Wert in einem Bereich mit der VBA Match-Funktion in Excel abgleichen
Zur Verwendung die Excel-VBA-Funktion Match Um den passenden Wert in einem Bereich zu finden, verwenden wir den folgenden Datensatz mit den Namen einiger Schüler in der Spalte C ihre Noten für ein bestimmtes Thema in der Spalte D und die Seriennummer jedes Schülers in der Spalte B Nehmen wir nun an, wir wollen die übereinstimmende Position in einer Zelle finden. G5 einer bestimmten Marke, und die Marke, die wir abgleichen wollen, befindet sich in der Zelle F5 .
Lassen Sie uns das Verfahren zur Suche nach übereinstimmenden Werten in einem Bereich mit der Excel-VBA-Funktion Match demonstrieren .
SCHRITTE:
- Gehen Sie zunächst zur Entwickler in der Multifunktionsleiste.
- Zweitens, klicken Sie auf Visual Basic zum Öffnen des Visual Basic-Editor , wo wir den Code schreiben, oder drücken Sie Alt + 11 zum Öffnen des Visual Basic-Editor .
- Eine andere Möglichkeit zum Öffnen Visual Basic-Editor ist einfach zu Rechtsklick auf auf dem Arbeitsblatt und klicken Sie auf Code anzeigen .
- Dies öffnet die Visual Basic-Editor Schreiben Sie nun den Code dorthin.
VBA-Code:
Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub
- Um den Code auszuführen, drücken Sie anschließend die F5 Taste auf Ihrer Tastatur oder klicken Sie auf das Symbol Rub Sub Taste.
- Schließlich können Sie sehen, dass die Übereinstimmung an der Position 5 .
🔎 Wie funktioniert der VBA-Code?
Sub example1_match()
: Das heißt, wir definieren eine Unterprozedur, indem wir den Makronamen angeben.Bereich("G5").Wert
: Wir möchten, dass die Ausgabe in einer Zelle gespeichert wird G5 .WorksheetFunction
: Mithilfe dieses Codes können wir auf die VBA-Funktionen zugreifen.
Match(Bereich("F5").Wert, Bereich("D5:D10"), 0)
: Hier verwenden wir die Funktion Match In VBA wollen wir den Wert aus der Zelle F5 und finden Sie die Position im Bereich D5:D10 .End Sub
: Das bedeutet, dass wir das Verfahren beenden.
Lesen Sie mehr: Excel VBA to Match String in Column (5 Beispiele)
2. mit Excel VBA einen Wert aus einem anderen Arbeitsblatt abgleichen
Wir können übereinstimmende Werte im Bereich eines anderen Arbeitsblatts finden, indem wir die VBA-Funktion Match in Excel Angenommen, wir haben einen Datensatz in einem Blatt mit dem Namen ". Daten " und wir wollen das Ergebnis in dem Blattnamen " Ergebnis "Und wir verwenden denselben Datensatz. Folgen wir nun den Schritten, um dies zu tun.
SCHRITTE:
- Gehen Sie zu Beginn, wie im vorangegangenen Beispiel, auf die Seite Entwickler in der Multifunktionsleiste.
- Klicken Sie dann auf Visual Basic oder drücken Sie Alt + F11 zum Öffnen des Visual Basic-Editor .
- Stattdessen wird zum Öffnen der Visual Basic-Editor klicken Sie einfach mit der rechten Maustaste auf das Blatt und wählen Sie Code anzeigen .
- Schreiben Sie nun den VBA-Code auf.
VBA-Code:
Sub example2_match() Sheets("Ergebnis").Range("C5").Value = WorksheetFunction.Match(Sheets("Ergebnis").Range("C5").Value, Sheets("Daten").Range("D5:D10"), 0) End Sub
- Als nächstes führen Sie den Code aus, indem Sie die Taste F5 Taste oder durch Klicken auf die Taste Lauf Sub Taste.
- Und das Ergebnis findet sich in der " Ergebnis Blatt".
Lesen Sie mehr: Abgleichen von Daten in Excel aus 2 Arbeitsblättern
Ähnliche Lektüre
- Alle Übereinstimmungen mit VLOOKUP in Excel summieren (3 einfache Möglichkeiten)
- Groß- und Kleinschreibung beachten in Excel (6 Formeln)
- Abgleichen von Namen in Excel bei unterschiedlicher Schreibweise (8 Methoden)
3 Excel VBA-Schleifen, um den passenden Wert im Bereich zu erhalten
Angenommen, wir möchten, dass mehrere Markierungen mit dem Wert übereinstimmen, dann werden wir die VBA-Schleifen dafür verwenden. Wir verwenden denselben Datensatz wie zuvor. Jetzt möchten wir die Übereinstimmungsposition in der Spalte G und die Markierungen, die wir finden wollen, stehen in der Spalte F Schauen wir uns die Stufen nach unten an.
SCHRITTE:
- Gehen Sie zunächst in der Multifunktionsleiste zum Menüpunkt Entwickler tab.
- Zweitens, zum Öffnen des Visual Basic-Editor klicken Sie auf Visual Basic oder drücken Sie Alt + F11 .
- Oder Sie klicken einfach mit der rechten Maustaste auf das Blatt und wählen Code anzeigen .
- Dies öffnet die Visual Basic-Editor .
- Geben Sie nun den Code dort ein.
VBA-Code:
Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub
- Danach können Sie durch Drücken der Taste F5 Taste oder durch Klicken auf Lauf Sub Taste wird der Code ausgeführt.
- Das Ergebnis können Sie dann in der Spalte G .
🔎 Wie funktioniert der VBA-Code?
Für i = 5 bis 8
: Das bedeutet, dass die Schleife mit der Zeile 5 und endet mit der Zeile 8 .Zellen(i, 7).Wert
: Dies speichert den Wert der sich ergebenden Orte in jeder Zeile von 5 zu 8 Zeilen in der Spalte G die die Spaltennummer 7 .Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: Die Zellen können mit der Funktion Spiel Funktion (i, 6): Werte suchen nach jedem in den Zeilen gefundenen Lookup-Wert 5 über 8 der 6. Dann wird im Array gesucht. D5:D10 in einer Excel-Tabelle, in der Daten verfügbar sind.
Lesen Sie mehr: Excel Suche nach übereinstimmenden Werten in zwei Spalten
Zu beachtende Dinge
- Wenn die Übereinstimmungsart fehlt oder nicht angegeben ist, wird angenommen, dass sie 1 .
- Wird keine Übereinstimmung festgestellt, ist das entsprechende Excel-Feld leer.
- Der Nachschlagewert kann ein numerischer, zeichenhafter oder logischer Wert oder ein Zellverweis auf eine Menge, einen Text oder eine logische Bedeutung sein.
Schlussfolgerung
Die oben genannten Methoden werden Ihnen helfen, Werte in einem Bereich in Excel VBA abzugleichen. Ich hoffe, dies hilft Ihnen! Wenn Sie Fragen, Vorschläge oder Feedback haben, lassen Sie es uns im Kommentarbereich wissen. Oder werfen Sie einen Blick auf unsere anderen Artikel in der ExcelWIKI.de Blog!