Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wert eines Kombinationsfeldes in Tabelle suchen

Forumthread: Wert eines Kombinationsfeldes in Tabelle suchen

Wert eines Kombinationsfeldes in Tabelle suchen
24.04.2003 11:53:41
björn
Hallo zusammen,

wer kann mir helfen?

Ich habe folgendes Problem:
Ich habe ein Kombinationsfeld (ComboBox1) erstellt und mit den Werten aus einer Tabelle befüllt. Soweit so gut.
Wenn ich jetzt einen Wert im Kombinationsfeld auswähle, würde ich Excel gerne dazu bringen, den Wert des Kombinationsfeldes über ein Change-Ereignis in einer anderen Tabelle auf einem anderen Tabellenblatt zu suchen.

Vielen Dank für die Tipps

Grüsse

Björn


Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Wert eines Kombinationsfeldes in Tabelle suchen
24.04.2003 14:46:48
Bertram

Hallo Björn,

probier's mal so:


Private Sub ComboBox1_Change()

Dim bereich As Range

Set bereich = Sheets(2).Range("B:B")
bereich.Find(What:=Me.ComboBox1.Value).Activate

End Sub

     Code eingefügt mit Syntaxhighlighter 1.14

Bei meinem Test standen die Werte für die Combobox in Tabelle1 in Spalte A.

Gruß
Bertram

Anzeige
Re: Wert eines Kombinationsfeldes in Tabelle suchen
25.04.2003 10:11:52
björn

Hallo Bertram,

danke für den Tipp.

Leider funktioniert das Makro bei mir nicht wie gewünscht. Wenn ich das Makro Schritt für Schritt mit F8 ausführen lasse erscheint die Fehlermeldung "Laufzeitfehler '1004 Die Activate-Methode des Range-Objektes ist fehlerhaft".
Kann das daran liegen, daß das Tabellenblatt auf dem gesucht werden soll nicht Sheet(2), sondern Tabelle2 heißt?

Ich habe versucht auf dem Tabellenblatt zu suchen auf dem die ComboBox steht.
Dein makro habe dazu umgeschrieben in:

Private Sub ComboBox1_Change()
Dim bereich As Range

Set bereich = Range("A1:F2")
bereich.Find(What:=Me.ComboBox1.Value).Activate

Wenn ich dieses makro mit F8 ausführe funktioniert es auch, wenn ich es über das Combobox-Changeereignis starte erscheint die Fehlermeldung "Laufzeitfehler 1004, Die Find eigenschaft des rangeobjektes kann nicht zugeordnet werden.

Kannst Du mir nochmal helfen?

Vielen dank
Gruß Björn

End Sub

Anzeige
Re: Wert eines Kombinationsfeldes in Tabelle suchen
25.04.2003 14:45:49
Bertram

Hallo Björn,

meine Lösung funktioniert anscheinend nur bei Comboboxen in einer UserForm.

Falls ich es anders auch hinkriege, melde ich mich.

Gruß
Bertram

;
Anzeige

Infobox / Tutorial

Wert eines Kombinationsfeldes in Excel suchen


Schritt-für-Schritt-Anleitung

Um den Wert eines Kombinationsfeldes (ComboBox) in einer Tabelle zu suchen, folge diesen Schritten:

  1. Erstelle ein Kombinationsfeld: Füge eine ComboBox in dein Excel-Dokument ein und befülle es mit den gewünschten Werten aus einer Tabelle.

  2. Schreibe das Makro: Öffne den VBA-Editor (Alt + F11) und erstelle ein neues Modul. Schreibe den folgenden Code:

    Private Sub ComboBox1_Change()
       Dim bereich As Range
       Set bereich = Sheets("Tabelle2").Range("B:B") ' Stelle sicher, dass der Blattname korrekt ist
       bereich.Find(What:=Me.ComboBox1.Value).Activate
    End Sub
  3. Verknüpfe das Makro: Das Makro wird automatisch ausgeführt, wenn der Wert in der ComboBox geändert wird. Achte darauf, dass der Name der Tabelle und der Range korrekt angegeben sind.

  4. Teste das Makro: Wähle einen Wert in der ComboBox aus und überprüfe, ob Excel den entsprechenden Wert in der angegebenen Tabelle findet.


Häufige Fehler und Lösungen

  • Laufzeitfehler '1004': Dieser Fehler tritt häufig auf, wenn die Activate-Methode nicht korrekt aufgerufen wird. Stelle sicher, dass das Tabellenblatt, auf dem gesucht wird, tatsächlich existiert und dass der Name richtig geschrieben ist.
  • Fehler bei Find: Wenn du die Fehlermeldung "Die Find-Eigenschaft des Range-Objektes kann nicht zugeordnet werden" erhältst, könnte es daran liegen, dass der gesuchte Wert nicht im angegebenen Bereich vorhanden ist. Überprüfe, ob die Werte in der ComboBox und im Suchbereich übereinstimmen.

Alternative Methoden

Falls du die Suche in einer ComboBox ohne VBA realisieren möchtest, kannst du auch die SVERWEIS-Funktion verwenden. Hier ein Beispiel:

  1. Angenommen, deine Werte sind in Spalte A und du möchtest den zugehörigen Wert in Spalte B suchen.
  2. Verwende folgende Formel:

    =SVERWEIS(A1; A:B; 2; FALSCH)

Hierbei wird der Wert aus A1 in der ersten Spalte des Bereichs A:B gesucht und der entsprechende Wert aus der zweiten Spalte zurückgegeben.


Praktische Beispiele

  • Beispiel 1: Wenn deine ComboBox Werte wie "Äpfel", "Bananen" und "Kirschen" enthält und du den Preis aus einer Tabelle in Spalte B suchen möchtest, kannst du den oben beschriebenen VBA-Code anpassen, um in der Preistabelle zu suchen.
  • Beispiel 2: Wenn du verschiedene Produktkategorien in deiner ComboBox hast, kannst du die Suche so anpassen, dass sie in verschiedenen Tabellenblättern nach den entsprechenden Informationen sucht.

Tipps für Profis

  • Verwende Option Explicit: Füge am Anfang deines VBA-Moduls Option Explicit hinzu, um sicherzustellen, dass alle Variablen deklariert werden, was die Fehlersuche erleichtert.
  • Nutze Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in deinem Makro, um das Programm robuster zu machen. Beispiel:

    On Error Resume Next
    bereich.Find(What:=Me.ComboBox1.Value).Activate
    If Err.Number <> 0 Then
       MsgBox "Wert nicht gefunden!"
       Err.Clear
    End If

FAQ: Häufige Fragen

1. Kann ich das Kombinationsfeld auch in einer UserForm verwenden?
Ja, die Vorgehensweise ist ähnlich, aber du musst sicherstellen, dass das Ereignis korrekt mit der UserForm verknüpft ist.

2. Warum funktioniert das Makro nicht in Excel 365?
Stelle sicher, dass Makros in deinen Excel-Einstellungen aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option für Makros.

3. Kann ich die Suche in mehreren Tabellen gleichzeitig durchführen?
Ja, du kannst die VBA-Routine so anpassen, dass sie mehrere Tabellen nacheinander durchsucht, indem du eine Schleife über die Blattnamen implementierst.

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