1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel Dropdown + Verknüpfungen

Discussion in 'Office-Programme' started by Torbenuz, Feb 23, 2008.

Thread Status:
Not open for further replies.
  1. Torbenuz

    Torbenuz Byte

    Hallo,

    Ich habe folgendes Problem, ich möchte bei Excel ein Dropdownfenster einbauen, soweit geht es noch, aber wenn ich die Quelle angeben soll kann ich nicht eine andere Tabelle auswählen wo die Daten gespeichert sind.

    2. Wenn ich dann eine Auswahl im Dropdownfenster gemacht habe, möchte ich das die dazugehörigen Detais auch neben der Dropdownzelle eingeblendet werden, sodass der Nutzer sich nur den Namen merken muss und die Detais dann einfach einsehen kann und nicht eine ganze Tabelle druchschauen muss.

    Das Problem hatten auch schon andere, aber die Antwortposts haben keine Detais freigegeben.

    Dank im Vorraus
     
  2. Hascheff

    Hascheff Moderator

    Hallo Torbenuz,
    vorweg muss ich darauf hinweisen, dass bei den (wenigen) Informationen der Eindruck entsteht, deine Probleme wären alle gelöst, wenn du auf Access umsatteln würdest.
    Das muss eine andere Mappe sein. Warum packst du nicht alle Tabellen, die du brauchst, in eine Mappe? Oder du gehst den Umweg, dass du in einem Bereich deiner Mappe mit der externen Tabelle verlinkst und das Kombinationsfeld mit diesem Bereich verlinkst.
    Dann musst du in diese Zellen Formeln schreiben. Die Funktion INDEX ist da hilfreich.
     
  3. Beverly

    Beverly Halbes Megabyte

    Hi Torben,

    1. wenn sich die Daten in einem anderen Tabellenblatt der selben Arbeitsmappe befinden musst du für diesen Bereich einen Namen über Einfügen -> Namen -> Definieren erstellen. Bei Daten -> Gültigkeit gibst du dann unter Quelle ein =Dein_Name.

    2. die zur Auswahl gehörenden Daten kannst du mit der Funktion SVERWEIS() aus dem anderen Tabellenblatt übernehmen.
     
  4. Torbenuz

    Torbenuz Byte

    so das erste Problem ist gelöst :), und das zweite auch als ich ich diesen Post geschrieben habe , danke.

    Danke Beverly, hat mir sehr geholfen.


    Geich ein anderes Problem. Die Matrixen die ich benannt habe sind statisch, ich möchte aber die Tabelle unbegrenzt vergrößern können ohne die Matrix umdefinieren zu müssen, also es sollen nur neue Objekte dazu kommen und die Detais bleiben gleich, die Tabelle wird länger aber nicht breiter.
    Geht das?

    Also so was
    T1
    Quelle:
    A2:Sx; x= (Die Anzahl der nicht leeren Zeilen in der Spalte "A")
     
  5. Hascheff

    Hascheff Moderator

    Wenn du hinzukommende Zeilen nicht hinten anhängst, sondern vor der letzten Zeile neue Zeilen einfügst, wächst der benannte Bereich automatisch mit.
     
  6. Beverly

    Beverly Halbes Megabyte

    Hi Torben,

    den Namen kannst du dynamisch an die Anzahl der Einträge anpassen, indem du unter Bezieht sich auf diese Formel einträgst:

    =BEREICH.VERSCHIEBEN(Tabelle1!$A$2;;;ANZAHL2(Tabelle1!$A$2:$A$2000);1).

    Den Tabellennamen Tabelle1 musst du natürlich anpassen.
     
  7. Torbenuz

    Torbenuz Byte

    Hallo;

    Danke Beverly, wieder genau das was ich gesucht habe.

    Hascheff deine Antwort geht auch aber sie ist nicht so Benutzerfreundlich.

    Und gleich wieder ein neues Problem;

    Wenn ich beim Dropdownmenu ein Objekt auswähle, dann finde ich es zwar und es steht auch da aber die Detais die ich anzeigen lassen will sind noch nicht aktualisiert, dh wenn ich das Objekt gewechselt habe stehen dieDetais noch vom anderem da, nurwenn ich in die Formel gehe undsie nochmal bestätige wird dann 1 Feld aktualisiert. Also meine Frage ist mein Formel falsch geschrieben oder muss ich nochirgendwas hinzufügen damit die Detais sichimmer selbst aktualisieren wenn ich das Objekt geändert habe?

    Meine Derzeitige Formel
    (=SVerweis($B$22;TMatrix1;2;Falsch)


    Torbenuz
     
  8. Beverly

    Beverly Halbes Megabyte

    Hi Torben,

    ich kann eigentlich keinen Fehler in der Formel an sich entdecken. Kann es sein, dass die automatische Berechnung ausgeschaltet ist?
     
  9. Torbenuz

    Torbenuz Byte

    Hallo,

    So also Execl zeigt hier ien Fehler an den ich aber nicht verstehe.
    "Formel bezieht sich auf leere Zellen"

    Wenn ich dann auf leere Zelle zurückverfolgen mache, wird ein Pfeil von dem Schnittpunkt von A20,A21,B20,B21 ins das Fenster wo ich das Detail ausgeben möchte (bei mir jetzt C22).

    In der Hilfe sind einige Fälle sind einige Fälle erläutert, jedoch nicht wenn das Startpunkt des Pfeils nicht direkt in einem Feld ist.

    Wo schau ich nach ob die automatische Berechnung ein-/ausgeschaltet ist.

    Danke für die HIlfe :)

    Torbenuz
     
  10. Beverly

    Beverly Halbes Megabyte

    Hi Torben,

    Extras -> Optionen -> Berechnung und dort Automatisch aktivieren.
     
  11. Torbenuz

    Torbenuz Byte

    Hi,

    Diese Option habe ich nicht, was wahrschinlich daranliegt das ich Excel 2004 für MAc benutze :)

    Die Formel
    (=BEREICH.VERSCHIEBEN(Tabelle1!$A$2;;;ANZAHL2(Tabelle1!$A$2:$A$2000);1). )
    ist gewissenmaßen ungenügend für mich, da die Tabelle zwar dynamisch macht, aber die Tabelle geht nur noch von A2:A(ende) und nichtmehr von A2:U(ende), kurz gesagt die Tabelle ist zwar so lang wie ich möchte aber sie ist nicht mehr breit genug.

    Also es muss irgendwie so heißen
    ...(Tabelle1!$A$2;;;Tabelle1!$U$ANZAHL2(Tabelle1!$A$2:$A$2000);1). )

    das wird wahrscheinlich nicht so klappen, deswegen frage ich hier ja auch.

    MfG Torbenuz
     
  12. Beverly

    Beverly Halbes Megabyte

    Hi Torben,

    das habe ich noch in keinem deiner Beiträge gelesen, dass du Mac benutzt - oder irre ich mich da? Das sollte man schon irgendwo vermerken.

    In der Formel
    =BEREICH.VERSCHIEBEN(Tabelle1!$A$2;;;ANZAHL2(Tabelle1!$A$2:$A$2000);1)
    bedeutet die letzte 1 die Breite des Bereichs. Die musst du anpassen.
     
  13. Torbenuz

    Torbenuz Byte

    Ja hat geklappt, ich hatte auch eine Windowsversion, aber im Moment schriebe ich auf dem Mac, ich hatte gehofft das die Unterschiede kaum merklich sind. Also bei mir gibt es dieses automatische Updaten nicht, Ich such nochmal weiter vllt finde ich es ja.

    Danke für die Hilfe

    Edit: Ok ich habe mich mal wieder blöd angestellt ich habe es gefunden, bei Mac gibts noch ein Menu das einfach Excel heist und das Untermenu heist nicht Optionen sondern Einstellungen, da ging es.
     
  14. Torbenuz

    Torbenuz Byte

    So neues Problem, ich brauche eine abfrage.
    Um genau zu sein will ich gleich mehere Optionen erstellen, dh wenn ich in einem dropdownfenster eine sache auswähle mit der Eigenschaft x = 5 dann soll das nächste Dropdownmenu nicht mehr anwählbar sein, bei allen anderen Werten für x außer 5 soll es aber aktiv sein :)

    Der Wert x steht in irgendeiner Tabelle mit den anderen Details.

    MfG Torbenuz

    Ps: Wenns unverständlich ist wunderts mich nicht, einfach nachfragen.
     
  15. Beverly

    Beverly Halbes Megabyte

    Hi Torben,

    du hast Recht - ist nicht ganz verständlich. Ich hätte noch nachvollziehen können, wenn bei einer Auswahl dann nur die für diese Auswahl zutreffenden Daten im nächsten DropDown auswählbar sein sollen, aber so...:confused:
     
  16. Urs2

    Urs2 Megabyte

    Das kann ich schon verstehen. Wenn Leute die Möglichkeit haben zum Klicken, dann klicken sie auch. Ob dabei ein Fehler entsteht, oder gar nichts passiert, ist egal > Kaputt - taugt nichts!

    Hier geht es wohl um Dropdowns aus der Formular-Symbolleiste. Bei meinem Excel2003 ist dort neben anderen Elementen auch der Dropdown inaktiv/ausgegraut - keine Ahnung warum. Aber dadurch kann ich das Problem nicht direkt nachvollziehen.

    Mit Dropdowns aus der Steuerelemente-Toolbox lässt sich der zweite Dropdown so auf Aktiv/Passiv setzen >
    Doppelclick auf den ersten Dropdown und dann im Editor eingeben:

    Code:
    Private Sub ComboBox1_Change()
    
                       'E2 ist die Zelle wo der Wert x steht
        If ActiveSheet.Range("E2").Value = 5 Then
            ComboBox2.Enabled = False
        Else
            ComboBox2.Enabled = True
        End If
    
    End Sub
    Die erste Zeile könnte auch direkt den ausgewählten Text abfragen:
    If Combobox1.Text = "Die5erAuswahl" Then


    Oder habe ich etwas ganz falsch verstanden?

    Gruss Urs
     
  17. Torbenuz

    Torbenuz Byte

    ja sowas hab ich gesucht und das schrieb ich wo rein?
    is value ein Zahlenwert? oder kann ich damit auch zeichenfolgen abfragen?
     
  18. Urs2

    Urs2 Megabyte

    Value ist hier zunächst ein Variant, der liest auch Zeichenfolgen aus, dann >
    If ActiveSheet.Range("E2").Value = "DeineZeichenfolge" Then

    Meine Anleitung funktioniert perfekt, wenn der Dropdown mit der Symbolleiste "Steuerelemente-Toolbox" ins Excel-Blatt eingefügt wurde. Diese Symbolleiste anzeigen lassen, Klick auf das Symbol oben-links "Entwurfsmodus" und Doppelclick auf den Dropdown. Jetzt öffnet der VB-Editor wo Du meinen Code reinkopieren kannst.

    Wenn bei Dir aber auf den Doppelklick der Editor nicht öffnet, dann hast Du den Dropdown aus der Formular-Symbolleiste... und ich habe ein Problem...

    Wie schon geschrieben, kann ich bei meinem Excel aus unerfindlichen Gründen den Dropdown aus der Formularleiste nicht einfügen und deshalb auch nicht überprüfen wie das dort funktioniert, wenn überhaupt.

    Wir brauchen >>>> HILFE BITTE

    Gruss Urs
     
  19. Beverly

    Beverly Halbes Megabyte

    Hi,

    Value ist der Inhalt (Wert) der betreffenden Zelle unabhängig vom Typ (Zahl, Text, Währung usw.) und ist eine Standardeigenschaft, die hier nicht angegeben werden muss.

    So ähnlich funktioniert es auch bei der Verwendung von Kombinationsfeldern aus der Formular-Symbolleiste. Doch können diese nicht direkt angesprochen sondern müssen als Shape behandelt werden. Außerdem steht der betreffende Code dann in einem allgemeinen Modul und nicht - wie bei den Kontrollkästchen aus der Steuerelement-Symbolleiste - im Codemodul des betreffenden Tabellenblattes.

    Code:
    Sub Dropdown1_BeiÄnderung()
        If Range("E2") = 5 Then
            ActiveSheet.Shapes("Dropdown 2").ControlFormat.Enabled = False
        Else
            ActiveSheet.Shapes("Dropdown 2").ControlFormat.Enabled = True
        End If
    End Sub
    
    Beachtet werden muss bei den Formular-Elementen, dass in der verknüpften Zelle nicht der ausgewählte Wert selbst eingetragen wird sondern die laufende Nummer in der Reihenfolge. Beispiel Werte: Anton, Berta, Cäsar, Dora, Emil und ausgewählt wurde Berta, dann wird in der Zellverknüpfung nicht Berta sondern 2 eingetragen.
     
  20. Urs2

    Urs2 Megabyte

    Danke Karin, für die Unterstützung.

    Da muss ich ja direkt froh sein, dass meine Formular-Dropdowns nicht funktionieren...

    Gruss Urs
     
Thread Status:
Not open for further replies.

Share This Page