Das Archiv des Excel-Forums

ComboBox in neuer Symbolleiste

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: ComboBox in neuer Symbolleiste
von: Alex

Geschrieben am: 19.09.2003 10:26:09

Hallo zusammen,
ich habe ein Problem in VBA, vielleicht kann mir jemand von euch helfen? Ich versuche eine Symbolleiste mit einer ComboBox zu erstellen und mit allen Blättern der aktiven Arbeitsmappe zu bestücken, die mit "data" beginnen. Beim anklicken soll das entsprechende Blatt angewählt werden. Außerdem hätte ich gerne, dass in der Symbolleiste der Titel "Zur Dateneingabe" erscheint. Dies kann ja auch Teil der comboboxitems sein, der einfach keinen weiteren Befehl aktiviert. Trotzdem weiß ich leider nicht genau, wie das geht. Hier mal mein Arbeitsansatz:

Symbolleiste und Combobox


Private Sub Workbook_Open()
Dim ws1 As Worksheet
Dim Symbolleiste As CommandBar
Dim Schaltflaeche1 As CommandBarButton
Dim Schaltflaeche2 As CommandBarComboBox
Call DeleteCmdBar
Set Symbolleiste = Application.CommandBars.Add(Name:="Navigation", _
temporary:=True)
With Symbolleiste
.Visible = True
.Top = 300
.Left = 300
End With
'Schaltfläche1: zurück zu Overview erstellen
Set Schaltflaeche1 = Symbolleiste.Controls.Add
With Schaltflaeche1
.FaceId = 41
.Caption = "Back to Overview"
.OnAction = "Schaltflaeche1Befehl"
End With
'Combobox 1 erstellen und laden
Set Schaltflaeche2 = Symbolleiste.Controls.Add(msoControlComboBox)
With Schaltflaeche2
.Caption = "Data Entry"
For Each ws1 In ActiveWorkbook.Worksheets
If Left(ws1.Name, 4) = "data" Then
.AddItem ws1.Name
End If
Next
.DropDownLines = 20
.DropDownWidth = 200
.OnAction = "Schaltflaeche2Befehl"
End With
End Sub


und die folgendes in Modul 9

Sub Schaltflaeche1Befehl()
Worksheets("Overview").Activate
End Sub


Sub Schaltflaeche2Befehl()

'hier wird ein Fehler angezeigt...

Worksheets(Schaltflaeche2.Value).Activate
End Sub


Sub DeleteCmdBar()
On Error Resume Next
Application.CommandBars("Navigation").Delete
On Error GoTo 0
End Sub


Vielen Dank für eure Hilfe
Alex
Bild


Betrifft: AW: ComboBox in neuer Symbolleiste
von: GerdW
Geschrieben am: 19.09.2003 10:32:04

Dein Code ist fehleranfällig aber so sollte zumindest die Auswahl
klappen:


Sub Schaltflaeche2Befehl()
Worksheets(Schaltflaeche2.Text).Activate
End Sub


Außerdem solltest du sicherstellen, dass die symbolleiste beim Mappenwechsel
nicht zur Verfügung steht, weil sie dort ja sinnlos ist.

Gerd


Bild


Betrifft: klappt leider noch nicht
von: Alex
Geschrieben am: 19.09.2003 10:43:36

danke für deine Antwort, leider funktioniert der Befehl aber nicht. Fehler: Objekt erforderlich


Bild


Betrifft: AW: klappt leider noch nicht
von: GerdW
Geschrieben am: 19.09.2003 10:48:43

Ja klar, die Variable Schaltflaeche2 ist ja in der anderen
Prozedur schon wieder nothing. Entweder deklarierst du
Schaltflaeche2 im Deklarationsteil(auf Modulebenen) oder du
sprichst das control über die Caption an.

Gerd


Bild


Betrifft: AW: klappt leider noch nicht
von: Alex
Geschrieben am: 19.09.2003 11:03:01

Sorry, bin mir nicht ganz sicher, was du da meinst (bin VBA Anfänger).
Soll ich das Dim Schaltflaeche2 in mein Modul 9 kopieren??? Und Caption hab ich bisher noch nicht verwendet. Ich bin mir auch nicht sicher, ob das .onaction eigentlich bedeutet, das ich einen Mausklick ausführe....


Bild


Betrifft: AW: klappt leider noch nicht
von: GerdW
Geschrieben am: 19.09.2003 11:13:00

Du schreibst:

Sub Schaltflaeche2Befehl()
Worksheets(Schaltflaeche2.Value).Activate
End Sub


Das control heißt aber nicht Schaltflaeche2 sondern irgendwas mit date entry.
Diesen Namen(bzw. caption) musst du benutzen und ggf. noch den Namen
der Symbolleiste voranstellen.

Gerd


Bild


Betrifft: AW: klappt leider noch nicht
von: Alex
Geschrieben am: 19.09.2003 11:31:58

Hallo Gerd und danke für die Geduld:
es klappt leider noch nicht. Ich sehe da auch folgendes Problem: bei der onaction Sache in "DieseArbeitsmappe" wird ja bei mir auf Modul 9 verwiesen. Allerding ist in Modul 9 ja noch keine Variable definiert (weder "Symbolleiste" noch "Schaltfläche"). D.h. Worksheets(Schaltflaeche2.Value).Activate kann nicht gefunden werden, oder?
Aber es funktioniert auch nicht, wenn ich die Makros aus Modul 9 in "Diese Arbeitsmappe" mit reinkopiere.
Hab echt schon alles probiert und langsam gehen mir die Ideen aus
Alex


Bild


Betrifft: AW: klappt leider noch nicht
von: GerdW
Geschrieben am: 19.09.2003 14:06:46

Ich weiß gar nicht mehr, wie ichs noch erklären soll.
in der Prozedur, die in OnAction angegeben hast muss sinngemäß stehen:


Sub Schaltflaeche2Befehl()
Worksheets(Commandbars("DerNamedeinerCommandbar").controls("CaptiondesControls").text).Activate
End Sub


Gerd


Bild


Betrifft: Danke
von: Alex
Geschrieben am: 19.09.2003 14:28:37

Danke, jetzt hauts hin. Mein Problem war, dass ich nich die Caption, sondern die variablenbezeichnung eingetragen hatte. Naja, zum Glück ist bald Wochenende
alex


 Bild

Excel-Beispiele zum Thema " ComboBox in neuer Symbolleiste"

ComboBox als Symbol download Alle ComboBoxes auf Position 1 download
Werte in eine ComboBox einer UserForm übernehmen download ComboBox in Abhängigkeit einer 2. ComboBox ein-/ausblenden download
ComboBox mit Monatsnamen füllen download Mehrspaltige ComboBox download
ComboBox2 in Abhängigkeit von ComboBox1 bestücken download Nur Zellen mit Inhalt in ComboBox listen download
Neue UserForm bedingt nach ComboBox-Auswahl aufrufen download Neues Element in ComboBox download
Werteübernahme gem. Auswahl in ComboBox - ohne VBA download Blätter in ComboBox-Feld einlesen und auswählen download
Wert in einer CommandBarComboBox verändern download ComboBox-Felder in UserForm aufklappen download
UserForm-ComboBox-Feld nach Tasteneingabe aufklappen download Wert aus 2. UserForm-ComboBox-Spalte berechnen download
In einer ComboBox selektiertes Arbeitsblatt auswählen download ComboBox in Abhängigkeit von einer CheckBox anzeigen download
Adressfeld aus UserForm-ComboBox füllen download Tages-ComboBox einer UserForm an den ausgewählten Monat anpassen download
UserForm mit ComboBoxes durch VBA-Code erstellen download ComboBoxes per VBA-Code in Tabellenblatt erzeugen download
ComboBox für Monatsblattauswahl in Menüleiste einfügen download Wert aus ComboBox in Tabelle eintragen download
TextBox in Abhängigkeit einer ComboBox-Auswahl füllen download Symbolleiste mit ComboBox erstellen download
Werte in UserForm-ComboBox einlesen und ausgeben download Ein- und ausblenden von Blättern gem. UserForm-ComboBoxes download
Nach Tabellenblatt-ComboBox den vorher selektierte Bereich wählen download Werte aus UserForm-ComboBox suchen und Fundstelle kopieren download
Bei einer mehrspaltigen ComboBox Wert aus Spalte 2 als Startwert download UserForm-ComboBoxes als Collection-Objekte ansprechen download
Eintrag eines UserForm-ComboBox-Wertes in aktive Zelle download Zweidimensionales Array an UserForm-ComboBox übergeben download
In Abhängigkeit einer ComboBox-Auswahl eine ListBox füllen download Wert aus ComboBox in TextBox, dann in Tabelle suchen download
Summe aller Werte gem. ComboBox-Eintrag download Geöffete Arbeitsmappen in Menü-ComboBox listen download
Tabelle nach ComboBox-Auswahl durchsuchen download Blattauswahl über eine UserForm-ComboBox download
Dateinamen in UserForm-ComboBox einlesen und Datei öffnen download Doppelt vorkommende Werte in einer UserForm-Combobox listen download
Selektieren von über ComboBox-Felder ausgewählten Werten download Nach Artikelauswahl in ComboBox Preis ermitteln download
Wert in ComboBox einlesen, suchen, editieren, ausgeben download Liste ohne Doppelte Werte in ComboBox einlesen download
ComboBox-Breiten während der Laufzeit festlegen download Im TextFeld einer UserForm-ComboBox Wert aus 2 Spalten anzeigen download
Bei Aktivieren eines Arbeitsblattes ComboBox neu einlesen download Beim Öffnen der Arbeitsmappe Menü-ComboBoxes anlegen download
Symbolleiste sichern download Symbolleistenschaltfläche hinzufügen download
Symbolleisten ein-/ausblenden download Position der Symbolleiste festlegen download
Löschen überflüssiger Symbolleisten download Alle Menüs und Symbolleisten ausblenden download
Beim Öffnen neue Symbolleiste download Benutzerdefiniertes Symbol in neue Symbolleiste einfügen download
Symbolleisten beim Öffnen aus-, beim Schließen einblenden download Prüfung, ob eine Symbolleiste existiert download
Eigene Symbolleiste nur beim Schließen löschen download Beim Öffnen einer Arbeitsmappe neues Symbol in Formatsymbolleiste download
Alle Menü- und Symbolleisten mit Ihren Schaltflächen auflisten download Neue Symbolleiste am rechten Fensterrand anlegen download
Doppelklick-Feature für Tabelle und Symbolleisten ausschalten download Bei Blattwechsel anlegen einer Symbolleiste mit Zellwerten download
Symbolleiste beim Öffnen erstellen und dynamisch halten download Aufruf des Symbolleisten-Anpassen-Dialogs verhindern download
Symbolleiste zum Aufruf externer Anwendungen erstellen download Arbeitslblatt-Menü-, Format- und Standardsymbolleiste einblenden download