Office: DropDown Feld mit Tabellenblattwechsel

Helfe beim Thema DropDown Feld mit Tabellenblattwechsel in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe ein kleines Problem und hoffe mir kann jemand helfen. Ich möchte mit einem DropDown Feld (Steuerelement) bei der Auswahl eines... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von david1983, 7. Juli 2009.

  1. david1983 Neuer User

    DropDown Feld mit Tabellenblattwechsel


    Hallo,

    ich habe ein kleines Problem und hoffe mir kann jemand helfen.

    Ich möchte mit einem DropDown Feld (Steuerelement) bei der Auswahl eines z.B. Namens ein anderes Tabellenblatt öffnen bzw. gibt es für jeden Namen Informationen in einem anderen Tabellenblatt.
    Ich glaube das funktioniert nur mit Hilfe von VBA oder?
    Wenn ja kann mir einer ein Beispiel für die Syntax geben?

    Gruß
     
    david1983, 7. Juli 2009
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Hallo David,

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$1" Then Worksheets(Target).Select
    End Sub

    Gruß Hajo
     
    Hajo_Zi, 7. Juli 2009
    #2
  3. miriki Erfahrener User
    Auf die Veränderung in z.B. einer Zelle kann man in der Tat nur mit VBA reagieren. Auch das Abfangen eines Mausklicks wäre damit möglich.

    Wenn Du jetzt mit "Steuerelement" bei Dropdown das Ding aus der Symbolleiste "Steuerelemente-Toolbox" meinst, dann gibt es da durchaus mehrere Möglichkeiten. Die offensichtliche Möglichkeit ist aber:

    Du nimmst direkt das "Change"-Ereignis der ComboBox und reagierst dort auf die Änderung des Werts der Ausklappliste.

    Was genau dann aber als Reaktion erfolgen soll, müßtest Du dann schon genauer sagen. Wenn es z.B. darum geht, auf das Blatt zu wechseln, das in der ComboBox ausgewählt wurde:
    Code:
    Private Sub ComboBox1_Change()
    
        Dim sht As String
    
        sht = Worksheets("tabelle1").ComboBox1.Value
        Worksheets(sht).Activate
    
    End Sub
    (Dabei setz ich jetzt mal voraus, daß die ComboBox auf dem Blatt "Tabelle1" platziert wurde und den Namen "ComboBox1" hat. Ansonsten ggf. anpassen...)

    Wobei das jetzt aber völlig unreflektiert versucht, auf das Blatt zu wechseln. Wenn kein Blattname mit dem aktuellen Wert in der ComboBox übereinstimmt, kommt es zu einem Fehler. Entsprechende Fehler abfangen wäre also ggf. sinnvoll.

    Gruß, Michael
     
    miriki, 7. Juli 2009
    #3
  4. david1983 Neuer User

    DropDown Feld mit Tabellenblattwechsel

    Vielen Dank Michael, danke Hajo,

    das hat schon mal prima funktioniert.
    Habe jetzt aber ein weiteres Problem hab jetzt eine Liste erstellt mit zwei von einander abhängigen Kombinationsfeldern. Das funktioniert auch alles bei der ersten Anwendung d.h. ich wähle in Auswahl 1 ein Land aus und kann in Auswahl 2 die Stadt auswählen und er springt mir dann in das dazugehörige Blatt. Wenn ich jetzt allerdings zurück gehe in Auswahl 1 und mir wieder ein anderes Land auswählen möchte zeigt er mit Laufzeitfehler 381. Ich hab euch mal die Datei angehängt. Hoffe ihr könnt mir helfen und ausführlich erklären bin nämlich noch Anfänger auf diesem Gebiet. Danke
     
    david1983, 13. Juli 2009
    #4
  5. miriki Erfahrener User
    Also eine fertige Lösung hab ich jetzt auf die Schnelle mangels Zeit nicht, aber das Problem ließ sich einkreisen:

    Du löst ein Ereignis "ComboBox1_GotFocus()" aus, wenn Du z.B. mit der Maus auf die Ausklappliste klickst. Das passiert ja, wenn Du von einem anderen Blatt (z.B. "Berlin") zurückkehrst und ein anderes Land auswählen möchtest.

    Im Zuge dieses Ereignisses löscht Du den Inhalt der 2. Ausklappliste, sowohl den im Eingabefeld angezeigten Wert, wie auch die komplette Auswahl-Liste. Das macht durchaus Sinn, zumindest mehr oder weniger, denn sonst hätte man womöglich "Madrid" unter "Frankreich" stehen. Aber: Das führt zum nächsten Problem:

    Durch das o.a. Löschen wird das Ereignis "ComboBox2_Change()" ausgelöst, in dem die ausgewählte Stadt ausgelesen und das entsprechende Blatt angesprungen wird. Nur dummerweise ist die Liste und das Eingabefeld gerade geleert worden... ;-) Das Ereignis wurde also nicht dadurch ausgelöst, daß eine neue Stadt ausgewählt wurde, sondern weil der Eintrag gelöscht wurde.

    Das war der Fehler-Abfang-Teil, den ich meinte... Im einfachsten Fall könnte man etwas in der Art machen:
    Code:
    Private Sub ComboBox2_Change()
    
        Dim sht As String
    
        on error goto Error_ComboBox2_Change
    
        sht = ComboBox2.List(ComboBox2.ListIndex)
        Sheet_wechsel sht
    
    Exit_ComboBox2_Change:
        exit sub
    
    Error_ComboBox2_Change:
        resume Exit_ComboBox2_Change
    
    End Sub
    Ist jetzt ungetestet, aber Prinzip dürfte klar werden, denke ich...

    Gruß, Michael
     
    miriki, 13. Juli 2009
    #5
  6. david1983 Neuer User
    Noch mal vielen Dank für die tollen Lösungen hat super funktioniert.
    Hab jetzt allerdings noch ein Problem ich habe zwei Drop Down Felder miteinander verknüpft und das Problem das sich das erste Auswahlfeld erst dann komplett öffnet (also alle Auswahloptionen untereinander anzeigt) wenn ich erst auf das feld geklickt habe und dann auf den drop down knopf klicke. Wenn ich ohne das ich vorher das Feld angeklickt habe den Knopf drücke zeigt er mir nur die erste Option von z.B. Acht an und da kann ich dann weiter durchklicken. Hoffe ihr wisst was ich meine

    Kann mir hier jemand helfen
     
    david1983, 14. August 2009
    #6
  7. miriki Erfahrener User
    Den Satz verstehe ich jetzt nicht ganz. Wenn Du also auf das "nach unten zeigende Dreieck aka Pfeil nach unten" rechts an der ComboBox klickst, dann öffnet sich zwar die Liste, es steht aber nur ein einzelner Eintrag drin? Und wie kommen dann die anderen, durch die Du Dich "durchklicken" kannst zum Vorschein?

    Aber davon unabhängig: Die Listen sind ja untereinander mit einer VBA-Routine verknüpft, um sich gegenseitig aufeinander einzustellen. Da schätze ich mal, könnte das Problem darin liegen, welches Ereignis zum Auslösen der Synchronisation angezapft wird.

    Die Varianten sind gar vielfältig... Man könnte "Click" benutzen, um bei einem Klick auf die Box zu reagieren, aber auch "DropButtonClick" wäre dann sinnvoll. Dazu würde dann auch noch "GotFocus" passen. In diesen 3 Ereignissen könnte man die aktuelle ComboBox mit der (oder den) anderen Box(en) synchronisieren.

    Der umgekehrte Weg könnte über "LostFocus" oder ev. auch "Change" laufen. Da könnte man die andere(n) Box(en) mit der aktuellen synchronisieren.

    Bei Deiner Beschreibung würde ich schätzen, daß der Weg über "Click", dabei aber "DropButtonClick" nicht auch, benutzt wird.

    Ev. geht es ganz simpel, aber das müßtest Du mal ausprobieren:

    a) Wechsel in den VBA-Editor (Alt-F11)
    b) wähle oben aus der linken Liste Deine "ComboBox1" aus
    c) wähle aus der rechten Liste dann "DropButtonClick" aus
    d) der Textcursor steht in einer leeren Routine. Tippe dort als einzige Zeile ein:
    Code:
        ComboBox1_Click
    Damit sollte beim direkten Click auf den DropButton das gleiche Ereignis ausgelöst werden, als wenn man direkt in das Textfeld klickt.

    Klappt es so nicht, müßte das ganze mal etwas aufgedröselt werden, aber dann kannst Du ja mal den aktuellen Source hier posten.

    Gruß, Michael
     
  8. david1983 Neuer User

    DropDown Feld mit Tabellenblattwechsel

    Trotz meiner etwas komplizierten Erklärung hat das trotzdem wunderbar geklappt vielen Dank nochmal für deine Hilfe
     
    david1983, 17. August 2009
    #8
Thema:

DropDown Feld mit Tabellenblattwechsel

Die Seite wird geladen...
  1. DropDown Feld mit Tabellenblattwechsel - Similar Threads - DropDown Feld Tabellenblattwechsel

  2. Feld in Abhängigkeit eines Dropdowns

    in Microsoft Word Hilfe
    Feld in Abhängigkeit eines Dropdowns: Hallo, ich benötige in Word ein Dropdown und ein weiteres Feld, das sich abhängig vom ausgewählten Wert des Dropdowns befüllt. Beispiel: Die Werte des Dropdowns sind "Feuerwehr", "Sonne", "Gras"...
  3. Dropdown Menü und Feld für Spieler eingabe

    in Microsoft Excel Hilfe
    Dropdown Menü und Feld für Spieler eingabe: Guten Morgen zusammen , folgende Frage habe ich :-) Wir betreiben öfters ein Dart Turnier mit mehreren Diziplinen Ich würde gerne folgendes bauen 1. Ein Dropdown Menü wo man die Disziplin...
  4. Dropdown Feld und Tabulator

    in Microsoft Word Hilfe
    Dropdown Feld und Tabulator: Hallo Zusammen! Ich habe in einem Word-Dokument ein Dropdown Feld (Inhaltssteuerelement) erstellt. Im restlichen Dokument sind viele Textformularfelder. Wenn ich die Bearbeitung einschränke, kann...
  5. Felder Löschen beim wechseln der Dropdown

    in Microsoft Excel Hilfe
    Felder Löschen beim wechseln der Dropdown: Hallo ich habe folgendes vor aber leider bin ich nicht so ganz fit in Excel: Ich möchte gerne dass beim wechseln bzw. beim Umschalten der Dropdown Felder bestimmte Zellen gelöscht werden. Ich...
  6. Brieftext in Abh. von Dropdown-Feld

    in Microsoft Word Hilfe
    Brieftext in Abh. von Dropdown-Feld: Hallo zusammen, ich bin zwar relativ firm in Office-Programmen, ärgere mich aber seit Tagen mit einer Idee herum, den ich bisher leider nicht erfüllen konnte ;) Wir sind eine Schule, haben eine...
  7. Formatierung und Dopdown-Felder in neue Zeile übernehmen

    in Microsoft Excel Hilfe
    Formatierung und Dopdown-Felder in neue Zeile übernehmen: Hallo zusammen, Folgende Ausgangslage: Ich habe in einer Zeile verschiedene bedingte Formatierungen und diverse Dopdownfelder angelegt. Wenn ich nun in einer neuen Zeile Daten eingebe, dann soll...
  8. Mit Dropdown nur einmal das gleiche Feld aus Liste auswählen

    in Microsoft Excel Tutorials
    Mit Dropdown nur einmal das gleiche Feld aus Liste auswählen: E2[:E6]: DÜ Liste =C$2# (Dropdownfelder) C2: =WENNFEHLER(FILTER(A2:A6;ISTFEHLER(VERGLEICH(A2:A6;E2:E6;0)));"") (Restantenliste) A2:A6: (Auswahllisteneinträge für Unique-Dropdown) ... aufgrund...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden