Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBA in Excel - Dropdown - Menue

Frage Entwicklung VB for Applications

Mitglied: Tschieses

Tschieses (Level 1) - Jetzt verbinden

19.03.2007, aktualisiert 13.04.2007, 12968 Aufrufe, 2 Kommentare

Also ich will ein dropdown-menue machen, nur mein problem ist folgendes: wenn ich in der drop-down-liste einen wert anklicke wird dieser nicht übernommen bzw. angezeit.

hier ist mein quellcode. die kommentare sind herumspielereien die ich mal ausprobiert hab...

Private Sub ComboBox1_DropButtonClick()
Dim test
test = "blubb"

ComboBox1.Clear
'ComboBox1.AddItem test

'ComboBox1.AddItem "Left Top" 'ListIndex = 0
'ComboBox1.AddItem "Left Center" 'ListIndex = 1
'ComboBox1.AddItem "Left Bottom" 'ListIndex = 2
'ComboBox1.AddItem "Right Top" 'ListIndex = 3
'Use drop-down list
'ComboBox1.Style = fmStyleDropDownList


Dim i As Integer

'For i = 1 To 4
' ComboBox1(i).Visible = False 'Rahmen unsichtbar machen
'Next i
'ComboBox1(0).Visible = True 'Rahmen sichtbar machen

ComboBox1.AddItem "Zählen" 'Liste initialisieren
ComboBox1.AddItem "Addition mit Symbolen"
ComboBox1.AddItem "Addition"
ComboBox1.AddItem "Subtraktion"
ComboBox1.AddItem "Multiplikation"
ComboBox1.AddItem "Division"
ComboBox1.ListIndex = 0 'ersten Eintrag auswählen


End Sub



anbei noch ein paar bilder des Dropdown-menues...
1) Dorpdown-menue direckt nach starten
2) Auswahl eines Punktes
3) Nach dem Klicken auf den auswahlpunkt


die sache mit ersten eintrag auswählen: ist klar dass dann immer der 1. eintrag angezeit wird egal wo ich draufklicke. nur wie macht man das ganze dynamisch, dass das angezeit wird was auch angeklickt wird---

danke schonmal in voraus

Tschieses
Mitglied: bastla
19.03.2007 um 09:49 Uhr
Hallo Tschieses!

Wie Du richtig kommentiert hast, musst Du die Liste initialisieren - der vermutlich bessere Ort dafür wäre aber das Ereignis "Workbook_Open" in "Diese Arbeitsmappe":
01.
Private Sub Workbook_Open() 
02.
Sheets("Tabelle1").ComboBox1.AddItem "Zählen" 'Liste initialisieren 
03.
Sheets("Tabelle1").ComboBox1.AddItem "Addition mit Symbolen" 
04.
Sheets("Tabelle1").ComboBox1.AddItem "Addition" 
05.
Sheets("Tabelle1").ComboBox1.AddItem "Subtraktion" 
06.
Sheets("Tabelle1").ComboBox1.AddItem "Multiplikation" 
07.
Sheets("Tabelle1").ComboBox1.AddItem "Division" 
08.
Sheets("Tabelle1").ComboBox1.ListIndex = 0 'ersten Eintrag auswählen 
09.
End Sub
Im Code zum entsprechenden Tabellenblatt ("Tabelle1") kannst Du dann die Reaktion auf eine Änderung des ComboBox-Wertes programmieren, zB
01.
Private Sub ComboBox1_Change() 
02.
If ComboBox1.ListIndex >= 0 Then 
03.
    Range("A5").Value = ComboBox1.List(ComboBox1.ListIndex) 
04.
End If 
05.
End Sub
Und falls es nicht unbedingt VBA sein muss, könntest Du Dir einmal "Daten / Gültigkeit... / Einstellungen / Zulassen: / Liste" ansehen und als Quelle Zählen;Addition mit Symbolen;Addition;Subtraktion;Multiplikation;Division angeben ...

Eine weitere Alternative findest Du in der Symbolleiste "Formular".

Grüße
bastla
Bitte warten ..
Mitglied: Tschieses
13.04.2007 um 07:36 Uhr
Danke für die hilfe ich habs jetzt hinbekommen.



Dieser thread kann geschlossen werden
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
VBA Excel Dateien zusammenfassen (3)

Frage von cberndt zum Thema VB for Applications ...

Microsoft Office
gelöst Verschieben von Zellinformation in andere Spalte (per VBA) excel 2010 (5)

Frage von thomas1972 zum Thema Microsoft Office ...

VB for Applications
Bilder vom LDAP in VBA - Excel (3)

Frage von Roadrunner777 zum Thema VB for Applications ...

VB for Applications
gelöst VBA Excel Recordset - Abfrage auf SQL-Server (4)

Frage von Aximand zum Thema VB for Applications ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...