PDA

Vollständige Version anzeigen : dropdown-liste auslesen


dickmann_hh
28.04.2009, 06:57
Hallo,

ich habe mir eine dropdown-liste, z.B. für die Zelle A2, mit Daten/Gültigkeit/Liste erzeugt. Wie kann ich nun das Item, das ich mir nachher aussuche, als Variable ablegen und damit weiter arbeiten? Z.B. in Liste stehen zur Auswahl "plus" und "minus". Wenn dann "plus" gewählt worden ist, dann mache b1+b2, wenn "minus" dann mache b1-b2.

Danke!
Dicky

NoNet
28.04.2009, 09:02
Hallo Dicky,

kopiere folgendes Makro in das Klassenmodul des Tabellenblattes :
Private Sub Worksheet_Change(ByVal Target As Range)
With [A2]
Select Case .Value
Case "plus": [B3] = [B1] + [B2] 'Addition in B3
Case "minus": [B3] = [B1] - [B2] 'Subtraktion in B3
Case Else: [B3] = "" 'Zelle B3 löschen
End Select
End With
End Sub
In Zelle B3 wird nun in abhängigkeit des aus A2 ausgewählten Operators addiert, subtrahiert oder nichts ausgegeben.

chris-kaiser
28.04.2009, 10:05
hiho

anbei noch eine Demo ohne Makro
unter Einfügen ->Namen habe ich was hinterlassen

dickmann_hh
28.04.2009, 11:01
ihr habt mich auf andere Idee gebracht. ich habe einfach mal den Wert mit Range("A2").value ausgelesen --> funktioniert auch (wusste nicht dass es auch so geht). In der Dropdown-List sind die Einträge: A, B, C, D. Was ich damit machen wollte ist folgendes:

ich habe eine Datei Auswertung.xls, in der die Dropdownliste ist und von der aus ich eine andere (z.B. Messwerte.xls) öffne und bearbeite (sortieren usw.). In der Auswertung.xls sind verschiedene Reiter (A, B, C, D), entsprechend der Einträge des Liste. Nun möchte ich anhand des Inhalts von [A2] den entsprechenden Reiter in Auswertung.xls aktivieren, daraus bestimmte Bereiche kopieren und in Messwerte.xls einfügen.

Nun das Problem: wenn ich den letzten Schritt (Reiter aktivieren usw) wie folgt mache:

...
Workbooks("Auswertung").Activate
Worksheets(Range("A2").Value).Activate
...


dann gibt es Laufzeitfehler 9: Index außerhalb des gültigen Bereichs. Was mache ich da falsch?

Danke!

dickmann_hh
29.04.2009, 06:52
vielen Dank für die Ideen! hat geholfen, obwohl indirekt

Gruß,
Dicky