Zum Hauptinhalt springen

VBA Excel: So suchen Sie nach zwei Werten

Wenn Sie mit großen Datenmengen in Excel arbeiten, müssen Sie manchmal anhand zweier Kriterien nach bestimmten Werten suchen. Die integrierten Excel-Tools ermöglichen diese Suche nicht immer, daher müssen Sie auf die Verwendung von VBA zurückgreifen, einer in Excel integrierten Programmiersprache.

In VBA Excel können Sie ein Makro schreiben, das durch ein Datenarray läuft und nach zwei Kriterien nach den gewünschten Werten sucht. Dazu werden Bedingungsoperatoren und Schleifen verwendet. Bedingungsoperatoren ermöglichen es Ihnen, bestimmte Bedingungen zu überprüfen und abhängig vom Ergebnis der Überprüfung bestimmte Aktionen auszuführen. Schleifen ermöglichen es Ihnen, bestimmte Aktionen mehrmals zu wiederholen.

Eine Möglichkeit, nach zwei Werten zu suchen, besteht darin, eine verschachtelte Schleife zu verwenden. Die äußere Schleife verläuft nach dem ersten Kriterium und die innere Schleife nach dem zweiten Kriterium. Auf diese Weise können Sie alle gewünschten Werte mithilfe von zwei Kriterien gleichzeitig finden.

Wenn wir zum Beispiel alle Aufgaben finden müssen, die mit einem bestimmten Projekt und einem bestimmten Executor verbunden sind, können wir ein Makro schreiben, das nach Aufgaben sucht, die diese beiden Kriterien erfüllen, und die Ergebnisse ausgeben.

VBA Excel: Suche nach zwei Werten

In Excel VBA müssen Sie manchmal nach einem Wert suchen, der zwei Bedingungen erfüllt. Dies kann beispielsweise bei der Arbeit mit Tabellen nützlich sein, wenn Sie eine Zeile finden möchten, die zwei Kriterien erfüllt.

Sie können Schleifen und bedingte Operatoren verwenden, um dieses Problem zu lösen, aber eine effizientere Methode ist die Verwendung der Find-Funktion. Es folgt ein Codebeispiel, das die Suche nach zwei Werten veranschaulicht:

Sub SearchByTwoValues()Dim searchRange As RangeDim firstValue As VariantDim secondValue As VariantDim resultCell As Range' Устанавливаем диапазон для поискаSet searchRange = Range("A1:A10")' Устанавливаем значения для поискаfirstValue = "значение1"secondValue = "значение2"' Ищем первое совпадение по первому значениюSet resultCell = searchRange.Find(What:=firstValue, LookIn:=xlValues, LookAt:=xlWhole)' Проверяем, найдено ли первое совпадениеIf Not resultCell Is Nothing Then' Если первое совпадение найдено, ищем второе совпадение по второму значениюDo Until resultCell.Value = secondValueSet resultCell = searchRange.FindNext(after:=resultCell)' Если второе совпадение не найдено, выходим из циклаIf resultCell Is Nothing Then Exit DoLoopEnd If' Выводим результатIf Not resultCell Is Nothing ThenMsgBox "Найдено совпадение в ячейке " & resultCell.AddressElseMsgBox "Совпадение не найдено"End IfEnd Sub

In diesem Beispiel erstellen wir Variablen für den Suchbereich, den ersten und zweiten Wert sowie für die Ergebniszelle. Dann legen wir die zu suchenden Werte fest und suchen nach der ersten Übereinstimmung mit dem ersten Wert mit der Find-Funktion. Wenn die erste Übereinstimmung gefunden wird, setzen wir die Suchschleife mit der Funktion FindNext fort, bis wir die zweite Übereinstimmung mit dem zweiten Wert gefunden haben. Schließlich geben wir das Ergebnis aus: die Adresse der Übereinstimmungszelle oder die Nachricht, dass sie fehlt.

Anstatt bestimmte Werte für die Suche zu verwenden, können Sie auch Variablen oder Zellreferenzen verwenden, um die Suchkriterien dynamisch zu ändern.

Mit der Find-Funktion können Sie also problemlos nach einem Wert suchen, der zwei Bedingungen erfüllt, und die Adresse der Übereinstimmungszelle abrufen, was bei der Verarbeitung von Daten in Excel mit VBA sehr nützlich ist.

Problem beim Suchen in Excel

Ein häufiges Problem bei der Suche in Excel besteht darin, dass Sie gleichzeitig nach zwei oder mehr Werten suchen müssen. Angenommen, Sie haben eine Tabelle mit Produktinformationen und möchten alle Produkte mit einem bestimmten Wert und einer bestimmten Menge auf Lager finden. Wie können Sie das tun?

Normalerweise stellt Excel eine Suchfunktion bereit, mit der Sie einen Wert in einem bestimmten Zellbereich finden können. Diese Funktion funktioniert jedoch nur mit einem Wert. Um nach zwei oder mehr Werten in Excel zu suchen, müssen Sie VBA (Visual Basic for Applications) verwenden.

Wenn Sie VBA verwenden, um nach zwei Werten zu suchen, können Sie ein benutzerdefiniertes Makro schreiben, das nach Werten in bestimmten Spalten oder Zellbereichen sucht und Ergebnisse zurückgibt.

WarePreisMenge auf Lager
Schokolade1005
Milch5010
Brot3015
Bonbons803

Ihr Makro kann Bedingungsoperatoren verwenden, um jede Zeile der Tabelle zu überprüfen und festzustellen, ob sie mit den angegebenen Werten übereinstimmt. Wenn ja, wird die Zeile dem Bericht hinzugefügt.

Das Problem der Suche in Excel kann mit VBA gelöst werden. Lernen Sie nach und nach VBA, und Sie können komplexe Makros erstellen, mit denen Sie eine Vielzahl von Aufgaben in Excel lösen können.

Lösung mit VBA

Sie können Schleifen und bedingte Anweisungen verwenden, um dieses Problem mit VBA in Excel zu lösen.

Hier ist ein Codebeispiel, das die Lösung dieses Problems veranschaulicht:

Sub SearchValues() Dim rng As Range Dim cell As Range Dim searchValue1 As String Dim searchValue2 As String ' Werte für die Suche festlegen searchValue1 = "Wert1" searchValue2 = "Wert2" ' Verwenden einer Schleife zum Durchlaufen von Zellen in einem Bereich For Each cell In rng ' Überprüfen, ob die Werte für If cell übereinstimmen.Value = searchValue1 Or cell.Value = searchValue2 Then ' Aktionen, wenn Werte übereinstimmen MsgBox "Übereinstimmung in Zelle gefunden " & cell.Address End If Next cell End Sub

In diesem Codebeispiel wird innerhalb des angegebenen Zellbereichs gesucht. Die zu suchenden Werte werden durch die Variablen searchValue1 und searchValue2 angegeben. Wenn eine Übereinstimmung mit mindestens einem Wert gefunden wird, wird eine Meldung mit der Zellenadresse angezeigt.

Jetzt können Sie diesen Code verwenden, um Ihre Aufgabe der Suche nach zwei Werten in Excel zu lösen.

Schritte zum Durchführen einer Suche

Führen Sie die folgenden Schritte aus, um in VBA Excel nach zwei Werten zu suchen:

  1. Definieren Sie den Suchbereich: legen Sie den Zellenbereich fest, in dem die Suche durchgeführt werden soll. Geben Sie die Anfangs- und Endzellen im Bereich an.
  2. Stellen Sie den Zyklus ein: verwenden Sie eine Schleife, um jede Zelle im Suchbereich zu durchlaufen.
  3. Überprüfen Sie den Suchbegriff: überprüfen Sie innerhalb einer Schleife jede Zelle auf Übereinstimmung mit Ihren Suchkriterien.
  4. Führen Sie die Schritte aus, wenn Sie übereinstimmen: wenn die Suchkriterien erfüllt sind, führen Sie die erforderlichen Schritte für die gefundene Zelle aus.
  5. Schließen Sie den Zyklus ab: kehren Sie nach Abschluss der Aktion zum Anfang der Schleife zurück, um die Suche fortzusetzen.
  6. Schließen Sie die Suche ab: wenn alle Zellen im Suchbereich überprüft wurden, schließen Sie die Suche ab und geben Sie ggf. die Ergebnisse aus.

Wenn Sie diese Schritte befolgen, können Sie in VBA Excel nach zwei Werten suchen und die erforderlichen Schritte für die gefundenen Zellen ausführen.