Anzeige
Archiv - Navigation
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Combobox !

Problem mit Combobox !
13.08.2003 13:03:07
Lars
Hallo !
bin noch ziemlicher Laie in Fragen VBA Programmierung, gabe auch schon im Forum gestöbert, aber irgendwie hat mir da nix richtig geholfen.
Hier meine Frage:
Habe eine Preisliste erstellt mit verschiedenen Preisleveln. Jede der Firmen ist mittels "additem" der Combobox zugeordnet. Sobald ich also im Dropdownmenü die Firma anklicke wird ein Macro ausgeführt, welches mir den jeweiligen Preislevel rot highlightet. Dieses funktioniert. Das Problem ist, das wenn ich die Arbeitsmappe öffne, alle Firmen aus der Dropdownliste verschwunden sind. Gehe ich dann in den VBA Editor und drücke "Sub/user form ausführen" dann sind die Firmen plötzlich da und ich kann im Dropdown Menü die Firma anklicken und das Makro wird ausgeführt. Wie kann ich jetzt aber die Combobox dazu bringen, daß sie beim Start der Arbeitsmappe automatisch aktiviert wird und alle Firmen im Dropdown Menü angezeigt bleiben????
Wahrscheinlich irgendwas mit xxx.(combobox1.text).activate ???
Hier mein Source text:

Private Sub ComboBox1_Change()
Sheets("All-in-one 08-03").Activate
With ComboBox1
.AddItem "Firma1"
.AddItem "Firma2"
.AddItem "Firma3"
.AddItem "Firma4"
.AddItem "Firma5"
.AddItem "Firma6"
.AddItem "Firma7"
.AddItem "Firma8"
.AddItem "Firma9"
.AddItem "Firma10"
.AddItem "Firma11"
.AddItem "Firma12"
If ComboBox1.text = "Firma1" Then
Call unprotect
Range("E:F,H:I,L:M,O:P,S:T,V:W").Font.ColorIndex = 0
Range("E8:F9,H8:I9,L8:M9,O8:P9,S8:T9,V8:W9").Font.ColorIndex = 5
Range("G:G,N:N,U:U").Font.ColorIndex = 3
Call protect
Else
If ComboBox1.text = "Firma12" Then
Call unprotect
Range("E:F,H:I,L:M,O:P,S:T,V:W").Font.ColorIndex = 0
Range("E8:F9,H8:I9,L8:M9,O8:P9,S8:T9,V8:W9").Font.ColorIndex = 5
Range("G:G,N:N,U:U").Font.ColorIndex = 3
Call protect
End If
End With
End Sub

Danke schonmal im Voraus für gute Tipps. Ich weiß das man die "if-then"-Anweisung auch einfacher mit der "Case" Anweisung bearbeiten kann, aber wie schon erwähnt bin ich noch ein Anfänger !!!

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Combobox !
13.08.2003 13:10:28
Galenzo
Du solltest die Combobox beim Öffnen deiner Tabelle anlegen, also im Workbook_Open.

AW: Problem mit Combobox !
13.08.2003 13:15:43
Andi_H
hi,
mal ne frage vorab, befindet sich die Combobox in einer Userform oder im Tabellenblatt.
Im tabellenblatt würde ich deine Combobox im Workbook.Open Ereignis füllen,
Bei deinem Code dürfte, wenn du 5 mal die CB aufrufst deine Werte auch 5 mal drinnen stehen.
Im VBE den Code in DieseArbeitsmappe rein und dann müßte es gehen, bei ner Userform ins Ereignis UserForm_Initialize()
gruß
andi

AW: Problem mit Combobox !
13.08.2003 13:27:49
Lars
Danke für die schnellen Antworten !!! Die Combobox befindet sich in einem Tabellenblatt.
Wie müßte es denn aussehen, wenn ich in die Arbeitsmappe gehe und dort das workbook open als private sub festlege. Wie kann ich dann innerhalb dieses workbooks noch die combobox1 change sub aufrechterhalten ??? Vielleicht könntet Ihr nir das mal bei meinem Text einfügenl, damit ich es besser verstehe.
Nochmal danke !

Anzeige
AW: Problem mit Combobox !
13.08.2003 13:34:19
Andi_H
Öffne den VB-Editor
Rechts ist der Projekt-Explorer, in diesem siehst du dein VBA Projekt (name der Datei)
in der Struktur befinden sich deine MS Excel.Objekte wie DieseArbeitsmappe und alle Tabellenblätter. Doppelklick auf DieseArbeitsmappe. Nun siehst du den Code, falls welcher hinterlegt ist. Da wo der Code hinsoll befinden sich darüber 2 Comboboxen, die erste öffnen und Workbook auswählen, die zweite ist für das Ereignis. Open ereignis ist vorbelegt und da den Code reinkopieren. Den Code deiner CB siehst du in dem Tabellenblatt in dem die CB liegt, diesen kannst du ohne Probleme aufrechterhalten, nur das füllen der CB würde ich weglassen, da dies ja nun über Workbook_open geschieht.
Gruß
ANDI (zu heiß)

Anzeige
AW: Problem mit Combobox !
13.08.2003 13:54:23
Lars
Hi Andi,
habe alles so gemacht wie du es beschrieben hast : gesamten Code aus Tabellenblatt in "Diese Arbeitsmappe" reinkopiert und füllen der CB mittels "additem" aus Tabellenblatt gelöscht, sonst alles so belassen. Arbeitsmappe ist jetzt "Workbook_open". Allerdings kommt jetzt die Fehlermeldung aus dem Arbeitsblatt "Objekt erforderlich". Muß ich da noch irgendwelche Konstanten,Variablen etc. erstellen ???
With ComboBox1
.AddItem "Firma1" <- Fehlermeldung "Object erforderlich" aus "Diese Arbeitsmappe"
.
.
.

AW: Problem mit Combobox !
13.08.2003 13:58:28
Andi_H
da fehlt noch die Tabelle in der die CB liegt
with Sheets("Tabelle1").combobox1
.
.
.
gruß
andi

Anzeige
AW: Problem mit Combobox !
13.08.2003 15:26:29
Lars
jetzt hat er erst mal die Firmen soweit als Objekte akzeptiert, hört aber schon bei der ersten if Anweisung mit derselben Fehlermeldung wie vorher wieder auf.
If ComboBox1.text = "Firma1" Then <- Fehlermeldung "Object erforderlich" aus "Diese Arbeitsmappe"
???

AW: Problem mit Combobox !
13.08.2003 15:35:21
Lars
hat jetzt funktioniert, war mein Fehler. Danke für den Tip !!!Diese Forum ist das Beste was ich zu diesem Thema gefunden habe, weiter so !!!!

AW: Problem mit Combobox !
13.08.2003 15:58:09
Lars
ne, hat doch nicht funktioniert, was könnte ich noch anders machen ???

AW: Problem mit Combobox !
13.08.2003 16:14:14
Lars
Es funktioniert jetzt ohne Fehlermeldung, allerding wird die CB nicht beim Start des Dokumentes mit den Firmen befüllt. Gehe ich jedoch in den VBE und drücke "Sub/User-Form ausführen" und gehe zurück in Excel, dann funktioiert alles wie gewünscht. Was kann denn da jetzt noch falsch sein ? Habe den Source Text aus der Arbeitsmappe unten angefügt...

Private Sub Workbook_Open()
With Sheets("All-in-one 08-03").ComboBox1
.AddItem "Firma1"
.AddItem "Firma12"
End With
End Sub


Anzeige
AW: Problem mit Combobox !
13.08.2003 17:00:58
Lars
Oh mann, das war ein Stück Arbeit, jetzt klappt alles wie gewünscht. Puuhh...
Hätte aber noch eine Frgae (*ggg*), kann man in einem Arbeitsblatt, wo bereits eine Workbook_open sub ist noch eine zweite einbauen ???.
Ich habe jetzt eine , wo ich mit der Aktivierung des Blattes die CB mit Daten fülle und möchte als zweites mit folgender Sub die jeweils aktive Zelle mit einer blau gefärbten Zeile unterlegen:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
Rows(Target.Rows).Select
Target.Activate
Application.EnableEvents = True
End Sub

Ist dies möglich ???
Ich bekomme da nur ne Fehlemeldung...

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige