Wert in einer Matrix suchen und ausgeben
Schritt-für-Schritt-Anleitung
Um in Excel einen Wert in einer Matrix zu suchen und auszugeben, kannst du folgenden VBA-Code nutzen. In diesem Beispiel wird angenommen, dass die Matrix von B3 bis E7 reicht und die Namen in Spalte B stehen. Der Umsatz soll in Zelle D13 ausgegeben werden, wenn ein Name in D12 eingegeben wird.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Füge den folgenden VBA-Code ein:
Sub SucheUmsatz()
Dim Mitarbeiter As String
Dim i As Integer
Dim gefunden As Boolean
Mitarbeiter = Range("D12").Value
gefunden = False
For i = 3 To 7 ' Durchlaufe die Zeilen 3 bis 7
If Cells(i, 2).Value = Mitarbeiter Then ' Spalte B
Cells(13, 4).Value = Cells(i, 5).Value ' Ausgabe des Umsatzes in D13
gefunden = True
Exit For
End If
Next i
If Not gefunden Then
MsgBox "Name nicht in der Liste"
End If
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Gib einen Namen in Zelle D12 ein und führe das Makro
SucheUmsatz
aus.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du lieber keine VBA-Programmierung verwenden möchtest, kannst du auch die Funktion SVERWEIS
nutzen. Hier ist ein Beispiel:
=SVERWEIS(D12;B3:E7;4;FALSCH)
Diese Formel sucht den Namen in D12 in der Matrix B3 bis E7 und gibt den Umsatz zurück. Achte darauf, dass der Spaltenindex korrekt ist (4 für den Umsatz in Spalte E).
Praktische Beispiele
Angenommen, du hast folgende Daten in den Zellen B3 bis E7:
B |
C |
D |
E |
Name |
Vorname |
Alter |
Umsatz |
Müller |
Hans |
30 |
1000 |
Schmidt |
Anna |
25 |
1500 |
Meyer |
Peter |
40 |
2000 |
Wenn du "Müller" in D12 eingibst und das Makro ausführst, wird "1000" in D13 angezeigt.
Tipps für Profis
-
Nutze die Option Explicit
Anweisung am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Das hilft, Fehler zu vermeiden.
-
Experimentiere mit der Verwendung von Application.Match
, um herauszufinden, ob ein Wert in einer Matrix vorhanden ist, bevor du ihn ausgibst.
-
Denke daran, dass VBA-Code in verschiedenen Excel-Versionen unterschiedlich ausgeführt werden kann. Teste deinen Code in der Version, die du verwendest.
FAQ: Häufige Fragen
1. Frage
Wie kann ich den Umsatz in einer anderen Zelle ausgeben?
Antwort: Ändere die Zeile Cells(13, 4).Value = Cells(i, 5).Value
im VBA-Code, um die gewünschte Zelle anzupassen.
2. Frage
Kann ich das Makro so anpassen, dass es mehrere Namen gleichzeitig verarbeitet?
Antwort: Ja, du müsstest eine Schleife implementieren, die die Namen in einem Bereich durchläuft und für jeden Namen den entsprechenden Umsatz sucht und ausgibt.