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, 12924 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
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...