Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wert in einer Matrix suchen und ausgeben

Wert in einer Matrix suchen und ausgeben
22.01.2020 17:30:31
Nikmu
Hallo zusammen!
Ich habe eine kleine Tabelle:
In der Zeile B3 bis B7 Mitarbeiternamen stehen, daneben deren Vornamen, das Alter und deren Umsatz. Also geht die Matrix von B3 bis E7.
Ich weiß, dass ich das ganze simple mit dem SVerweis lösen kann, jedoch muss ich diese Aufgabe explizit mit einem einfach VBA Code lösen.
Geht das ganze mit einer For-Next Schleife bzw IfThenElse Bedingung?
Also nach dem Motto:

Wenn ich in der Zelle D12 einen Namen schreiben, dann suche in der Spalte B3 bis B7 den Namen und gebe den dazugehörigen Umsatz 4 Zellen rechts davon aus. Sollte es den gesuchten Namen nicht geben, dann zeige das Dialogfenster "Name nicht in der List" an.
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert in einer Matrix suchen und ausgeben
22.01.2020 17:50:23
Werner
Hallo,
und wo ausgeben? In irgendeine Zelle? Wenn ja welche?
Oder in einer Messagebox?
Gruß Werner
AW: Wert in einer Matrix suchen und ausgeben
22.01.2020 17:58:34
Nikmu
Ich schreibe in Zelle D12 einen Namen von einem Mitarbeiter und in Zelle D13 soll dann der Umsatz erscheinen. Ansonsten wie gesagt Box mit "Name nicht in der Liste".
PS: Kein Mitarbeitername ist doppelt.
Anzeige
AW: Wert in einer Matrix suchen und ausgeben
22.01.2020 18:07:47
Werner
Hallo,
bevor du nicht die Beiträge verlinkst gibt es von mir keinen Code. Ich habe keine Lust 5 Minuten später den gleichen oder einen ähnlichen Code im VBA-Forum auch zu finden. Dann hätte entweder ich, oder aber der Helfer im VBA-Forum für den Papierkorb gearbeitet.
Gruß Werner
AW: Wert in einer Matrix suchen und ausgeben
22.01.2020 18:36:34
Nikmu
Hallo,
kein Problem Werner.
Für den Papierkorb arbeitet hier sicherlich keiner, das würde ich niemanden unterstellen. Aber wenn du nicht antworten magst ist das okay.
Vielleicht gibt es ja noch jemand anderen der mir helfen mag ;)
Liebe Grüße
Nikmu
Anzeige
noch was, wenn schon Crossposting....
22.01.2020 17:57:03
Werner
Hallo,
...dann bitte die Beiträge in den verschiedenen Foren untereinander verlinken.
Gruß Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

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.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. 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
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Gib einen Namen in Zelle D12 ein und führe das Makro SucheUmsatz aus.

Häufige Fehler und Lösungen

  • Fehler: "Name nicht in der Liste" wird immer angezeigt.

    • Lösung: Stelle sicher, dass der eingegebene Name genau mit einem Namen in der Matrix übereinstimmt. Es darf keine zusätzlichen Leerzeichen geben.
  • Fehler: Der Umsatz wird nicht angezeigt.

    • Lösung: Überprüfe, ob die Matrix korrekt in den Zellen B3 bis E7 angeordnet ist und der Umsatz in Spalte E steht.

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.

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