Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Combobox auf Excel-Blatt mit VBA steuern
zurück: Absturz, Ursachenforschung weiter: Iteration durch MergedCells? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
JimmyT
Firefox+Nero -User


Verfasst am:
29. Jan 2007, 21:30
Rufname:
Wohnort: Bei Berlin

Combobox auf Excel-Blatt mit VBA steuern - Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

Hi,

wie spricht man eine Combobox auf einem Excel-Blatt mit VBA an?
Bspw. möchte ich bei jedem Start einer Excel-Mappe bestimmte Werte in eine Combobox laden?

Gruß
Jimmy
Klaus-Dieter
Schwerpunktinteresse: VBA und UserForms


Verfasst am:
29. Jan 2007, 21:54
Rufname: Klaus
Wohnort: Sassenburg


AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

Hallo Jimmy,

als erstes musst du die Combobox aus der Steuerelement-Toolbox nehmen. Mit diesem Makro im Modul der Arbeitsmappe geht das dann:

Code:
Private Sub Workbook_Open()
Sheets("Tabelle1").ComboBox1.List = Range("A1:A15").Value
End Sub

Der Name der Arbeitsmappe muss bei Bedarf angepasst werden.

_________________
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Yoga ist besser, als rumsitzen und gar nichts machen.
JimmyT
Firefox+Nero -User


Verfasst am:
31. Jan 2007, 21:26
Rufname:
Wohnort: Bei Berlin

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

@Donkey

Also das klappt bei mir nicht.
Ein Beispiel:

Wenn ich eine Combobox 'cboTag' als Name gebe und folgende Prozedur laufen lasse

Code:

Public Sub cbo_Tag()

Dim wsblatt As Worksheet

Set wsblatt = ThisWorkbook.Worksheets("Statistik")

wsblatt.cboTag.List = "test"

End Sub


bekomme ich eine Fehlermeldung.
Und zwar "Fehler beim Kompilieren. Methode oder Datenobjekt nicht gefunden".

Kannst du mir das erklären?

Gruß
Jimmy
Klaus-Dieter
Schwerpunktinteresse: VBA und UserForms


Verfasst am:
31. Jan 2007, 21:53
Rufname: Klaus
Wohnort: Sassenburg

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

Hallo Jimmy,

deine Frage war:
Zitat:
möchte ich bei jedem Start einer Excel-Mappe bestimmte Werte in eine Combobox laden?

Dazu habe ich dir einen Lösungsvorschlag eingestellt. Warum willst du jetzt was anderes machen? Das Ansprechen eines Objektes ist etwas anderes als der Aufruf eines Makros, die beiden Sachen hast du da "verwurstet", deshalb die Fehlermeldung.

_________________
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Yoga ist besser, als rumsitzen und gar nichts machen.
JimmyT
Firefox+Nero -User


Verfasst am:
31. Jan 2007, 22:01
Rufname:
Wohnort: Bei Berlin


AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

@Donkey

ok, vielleicht war das mißvertsändlich.
Es geht allgemein darum wie ich Steuerelemente in Excel-Tabellenblätter mit VBA ansprechen kann.

Am liebsten wäre es mir, wenn ich jedes einzelne Steuerelement deklarieren und so ansprechen könnte wie bspw. in dem Beispiel wsblatt.

Also 1. Schritt:
Wie kann ich in eine Combobox verschiedene Elemente laden?

Hoffe das war verständlich. Wenn nicht, sag mir wie ich es besser formulieren soll.

Gruß
Jimmy
Klaus-Dieter
Schwerpunktinteresse: VBA und UserForms


Verfasst am:
31. Jan 2007, 22:10
Rufname: Klaus
Wohnort: Sassenburg

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

Hallo Jimmy,

so würde das gehen:

Code:
Private Sub Worksheet_Activate()
cbo_Tg.Clear
With cbo_Tg
    .AddItem "Test1"
End With
End Sub



Wenn die Combobox auf dem Tabellenblatt liegt, muß das nicht noch Explicit zugewiesen werden. Den Befehl cbo_Tag.List würde man einsetzen, wenn eine Liste eingelesen werden soll. So wie in meinem Beispiel Range("A1:A15").Value Einzelne Werte werden mit .AddItem übergeben.
In diesem Beispiel würde das Öffnen des Tabellenblatts den Vorgang auslösen.

_________________
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Yoga ist besser, als rumsitzen und gar nichts machen.
JimmyT
Firefox+Nero -User


Verfasst am:
31. Jan 2007, 23:23
Rufname:
Wohnort: Bei Berlin

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

@Donkey

ok, und wie deklariere/definiere ich eine Combobox?

Bspw.

Code:

...
Dim cbotest As ComboBox
...


Wie schreibe ich dann die 'set'-Zeile?

Das

Code:

Set cbotest = wsblatt.cboTag


geht nicht.

Gruß
Jimmy
Klaus-Dieter
Schwerpunktinteresse: VBA und UserForms


Verfasst am:
31. Jan 2007, 23:49
Rufname: Klaus
Wohnort: Sassenburg

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

Hallo Jimmy,

das brauchst du nicht. Du erzeugst die ComboBox. Mit einem Rechtsklick auf das Objekt öffnet sich ein Kontextmenü. Wenn du das auf Code anzeigen gehst, bist du in der Entwicklungsumgebung für das Objekt. Da kannst du dann deinen Code eintragen. Standardmäßig haben die Objekte meist ein Click-Ereignis. Manche auch ein Change-Ereignis. Das kann dann in der Entwicklungsumgebung geändert werden. Es werden oben rechts in einer Combobox alle Ereignisse angezeigt, die für das Objekt zugelassen sind. Grundsätzlich könnte man sagen, die Objekte sind Ereignisgesteuert. Eine Deklaration in diesem Sinne erübrigt sich, weil das Objekt ja schon fertig installiert ist wenn man es erzeugt. Man muss ihm nur noch sagen, was es machen soll.

_________________
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Yoga ist besser, als rumsitzen und gar nichts machen.
JimmyT
Firefox+Nero -User


Verfasst am:
01. Feb 2007, 20:45
Rufname:
Wohnort: Bei Berlin

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

@Donkey

ok, dann mache ich es so.

Allerdings komme ich mit den Ereignissen der Combobox noch nicht so zurecht.
Bspw. das 'Click'-Ereignis bewirkt gar nichts! Stattdessen hat anscheinend das Ereignis 'Mousedown' die Auswirkungen eines 'Click'-Ereignisses.

Kannst du mir vielleicht eine Quelle nennen, die die Ereignisse der Steuerelemente näher beschreibt mit Beispielen?

Gruß
JimmyT
Firefox+Nero -User


Verfasst am:
02. Feb 2007, 12:33
Rufname:
Wohnort: Bei Berlin

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

@Donkey

Also das funktioniert:

Code:

Private Sub cboMonat_DropButtonClick()
cboMonat.Clear
With cboMonat
    .AddItem "Alle"
    .AddItem "Januar"
    .AddItem "Februar"
    .AddItem "März"
    .AddItem "April"
    .AddItem "Mai"
    .AddItem "Juni"
    .AddItem "Juli"
    .AddItem "August"
    .AddItem "September"
    .AddItem "Oktober"
    .AddItem "November"
    .AddItem "Dezember"
End With
End Sub


Nur wenn ich danach ein Element auswähle, soll es dann sichtbar sein.
In der Combobox sieht man aber nichts. Wie geht das?
Und wie kann ich mit dem ausgewähltem Wert arbeiten?

Gruß
Jimmy
JimmyT
Firefox+Nero -User


Verfasst am:
02. Feb 2007, 13:46
Rufname:
Wohnort: Bei Berlin

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

@all

Ich komm echt nicht dahinter, wie man das ausgewählte Element dann sichtbar in der Combobox macht! Wie geht das?

Also bspw. wenn ich April auswähle, soll dann April in der Combobox anschließend stehen, nachdem das Dropdown-Menu wieder geschlossen wird.

Anscheinend kann man mit 'listindex' einen Standardstarteintrag festlegen.
Aber wirklich weiterbringen tut mich das nicht.

Für jeden Tipp dankbar.

Gruß
Klaus-Dieter
Schwerpunktinteresse: VBA und UserForms


Verfasst am:
02. Feb 2007, 15:13
Rufname: Klaus
Wohnort: Sassenburg

AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

Hallo Jimmy,

wenn ich den Code so verändere, dann bleibt die Auswahl stehen, den Grund habe ich nicht herausgeunden:

Code:
Private Sub Worksheet_Activate()

cboMonat.Clear
With cboMonat
    .AddItem "Alle"
    .AddItem "Januar"
    .AddItem "Februar"
    .AddItem "März"
    .AddItem "April"
    .AddItem "Mai"
    .AddItem "Juni"
    .AddItem "Juli"
    .AddItem "August"
    .AddItem "September"
    .AddItem "Oktober"
    .AddItem "November"
    .AddItem "Dezember"
End With

End Sub

_________________
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Yoga ist besser, als rumsitzen und gar nichts machen.
astern
Datenmodell-Missionar


Verfasst am:
01. Nov 2013, 13:06
Rufname: Andreas
Wohnort: Rastede


AW: Combobox auf Excel-Blatt mit VBA steuern - AW: Combobox auf Excel-Blatt mit VBA steuern

Nach oben
       Version: Office XP (2002)

Hallo Klaus-Dieter!
Ich habe gerade nochmal diesen alten Thread ausgegraben, weil ich ein ähnliches Problem habe. Vielleicht kannst Du (oder jemand anderes) mir dabei helfen. Es geht auch um die Steuerung von Comboboxen per VBA. Und zwar möchte ich mit Hilfe einer Public Sub verschiedene Comboboxen mit Werten füllen:
Code:
Private Sub Worksheet_Activate()
'-------------------------------
...
Call AddSortedToBox(cboFile, strFile)
...
End Sub

Public Sub AddSortedToBox(objBox As Object, strText As String)
'---------------------------------------------------------------
...
objBox.AddItem strText
...
End Sub

"cboFile" ist der Name einer ActiveX-Combobox auf den Arbeitsblatt.
Ich benutze denselben Code in Excel- und Access-Formularen und dort funktioniert er wunderbar - auf dem Excel-Arbeitsblatt aber nicht (Fehlermeldung: "Zugriff verweigert"). Das Problem besteht wohl darin, dass mit "cboFile" nicht der Verweis auf die Combobox an die Sub übergeben wird, sondern der gerade darin angezeigte Wert ("BoundColumn").
Kann mir jemand sagen, wie ich den Code verändern muss, damit ich in der Sub AddSortedToBox mit der Combobox cboFile arbeiten kann?
Ich vermute mal, dass das irgendwas mit "ByRef" und "ByVal" zu tun hat ...??

MfG
A*

_________________
1. Access-Gebot: Du sollst lange und gründlich über Dein Datenmodell nachdenken!
2. Access-Gebot: Du sollst keine Formulare erstellen ohne gutes Datenmodell!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formate: ComboBox formatieren 4 gast34 8882 24. Sep 2012, 19:02
Gast ComboBox formatieren
Keine neuen Beiträge Excel Formeln: Mappenübersicht mit Dropdown steuern 5 Gast 191 16. Aug 2012, 18:50
neopa Mappenübersicht mit Dropdown steuern
Keine neuen Beiträge Excel Formate: Combobox verstellt sich 0 gitarrist 498 01. Sep 2010, 17:14
gitarrist Combobox verstellt sich
Keine neuen Beiträge Excel Formeln: Pivot über Dropdown steuern 8 MöchtegernChecker 1234 22. Jul 2010, 20:12
Thomas Ramel Pivot über Dropdown steuern
Keine neuen Beiträge Excel Formeln: Rechenformeln für Userform- TextBox + ComboBox 1 espresso 1605 08. Jun 2010, 09:30
Gast Rechenformeln für Userform- TextBox + ComboBox
Keine neuen Beiträge Excel Formate: Excel-Blatt per eMail versenden - Textausrichtung 90 Grad 3 Christian Faber 9386 02. Jun 2010, 15:34
Gast Excel-Blatt per eMail versenden - Textausrichtung 90 Grad
Keine neuen Beiträge Excel Formeln: Inhalt (Auswahl) von Combobox in Zelle mit Formel? 1 Steffen11 400 08. Dez 2009, 18:35
neopa Inhalt (Auswahl) von Combobox in Zelle mit Formel?
Keine neuen Beiträge Excel Formeln: mittels Combobox Zeilen verstecken ? 0 Simon-ch 382 14. Okt 2008, 12:07
Simon-ch mittels Combobox Zeilen verstecken ?
Keine neuen Beiträge Excel Formeln: Einstellungen von Top down menues steuern automatisch 1 Manx 1216 07. Aug 2008, 09:06
licht Einstellungen von Top down menues steuern automatisch
Keine neuen Beiträge Excel Formeln: Formelausdruck über Gültigkeitsprüfung (Liste) steuern 3 jimboo 1406 07. Jun 2008, 19:31
jimboo Formelausdruck über Gültigkeitsprüfung (Liste) steuern
Keine neuen Beiträge Excel Formeln: ComboBox Text in Zelle bzw. Variable kopieren 2 ghune 4962 28. Jan 2008, 00:54
ghune ComboBox Text in Zelle bzw. Variable kopieren
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Excel Formate: Excelblatt säubern von anderen Zellen.Wie lösche ich unwicht 1 lolorek 1111 25. Dez 2007, 18:10
Hübi Excelblatt säubern von anderen Zellen.Wie lösche ich unwicht
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Project