Geissler Service
Amazon
Forum für die Fotosysteme von Sony und KonicaMinolta
  SonyUserforum - Forum für die Fotosysteme
von Sony und KonicaMinolta
 
Registrieren Rund ums Bild Galerie Objektiv-Datenbank Kalender Forenregeln Nützliches

Startseite » Forenübersicht » Treffpunkt » Café d`Image » Hilfe zur Abfrage einer ComboBox in Excel benötigt
Antwort
 
Themen-Optionen Ansicht
Alt 16.09.2006, 19:31   #1
Hellraider
 
 
Registriert seit: 31.05.2004
Ort: D-NRW
Beiträge: 2.333
Hilfe zur Abfrage einer ComboBox in Excel benötigt

Ich möchte in Excel 2003 folgendes bewerkstelligen.

Es soll im Tabellenblatt "Tabelle1" ein Kombinationsfeld mit mehreren Auswahlmöglichkeiten angelegt werden, nennen wir sie hier mal AAA,BBB,CCC,DDD und EEE. Diese Inhalte werden aus einem anderen Tabellenblatt als "Eingabebereich" übernommen. Das hat soweit schonmal geklappt

Je nach Auswahl sollen dann zwei unterschiedliche Makros ausgeführt werden. Diese sind auch schon wie folgt erstellt worden:

Code:
  
Sub Makro2()
    
    Range("B19:D19").Select
    With Selection.Interior
        .ColorIndex = 36
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    Selection.Locked = False
    Selection.FormulaHidden = False
    Range("B19").Select
    ActiveCell.FormulaR1C1 = "DU"
    Range("B19").Select
    
End Sub
Dieses Makro 2 soll bei der Auswahl von CCC, DDD oder EEE ausgeführt werden und soll den Zellbereich B1919 "entsperren", mit gelber Farbe hinterlegen und in Zelle B19 den Eintrag "DU" vornehmen. Das Makro klappt auch schon.

Mit dem nächsten Makro3 soll bei der Auswahl AAA oder BBB der Zellbereich wieder "gesperrt" werden und die Hintergrundfarbe als auch enthaltener Text wieder gelöscht werden. Auch das Makro klappt soweit schon.

Code:
Sub Makro3()

    Range("B19:D19").Select
    Selection.Interior.ColorIndex = xlNone
    Selection.Locked = True
    Selection.FormulaHidden = False
    Selection.ClearContents
    Range("B19").Select
    
End Sub

Das Problem was ich jetzt habe:

Wie weise ich dem Kombinationsfeld diese beiden Makros zu bzw. mit welcher Funktion kann ich die getätigte Auswahl (entweder den 1:1 Text oder die Position der Auswahl) des Kombinationsfeldes abfragen und dann eines der beiden Makros ausführen?

Irgendwie nach dem Motto: If Worksheets("Tabelle1").ComboBox1.value = 0 OR 1 Then Makro2() Else Makro3()

Irgendwie kann man doch auch bestimmt den Eintrag AAA in der ComboBox voreinstellen, nur wie?

Irgendwie nach dem Motto: ComboBox1.ListIndex = "0" aber wo genau muss das hin?

Siehe auch Screenshot:

__________________
Gruß aus NRW

Stefan
Hellraider ist offline   Mit Zitat antworten
Sponsored Links
Alt 16.09.2006, 19:53   #2
ManfredK
 
 
Registriert seit: 17.02.2004
Ort: Niederösterreich
Beiträge: 799
Ich glaube die einfachste Möglichkeit ist:

Im Edit-Modus Doppelklick auf die ComboBox kannst du in Visual Basic die Bedingungen für das ausführen der Macros eingeben.

Code:
Private Sub ComboBox1_Change()

If Range("A1") = Range("B16") Then Macro2 Else Macro3

End Sub
Im Beispiel ist die Zelle A1 die LinkedCell und B16 bis Bxx ListFillRange

Ich hoffe das funzt...

Edit:
Wenn du willst, schicke ich dir das EXCEL-Sheet.
__________________
Grüße,
Manfred
ManfredK ist offline   Mit Zitat antworten
Alt 16.09.2006, 20:16   #3
Hellraider

Themenersteller
 
 
Registriert seit: 31.05.2004
Ort: D-NRW
Beiträge: 2.333
Zitat:
Zitat von ManfredK
Im Beispiel ist die Zelle A1 die LinkedCell und B16 bis Bxx ListFillRange
Wie genau kann ich das jetzt verstehen? *aufdemSchlauchsteht*

EDIT: Wenn ich Entwurfsmodus doppelt auf die Combobox klicke kommt bei mir nur das Eigenschaftsfeld und keine Möglichkeit irgendwo Code zu ändern.

Wenn ich die combobox anwähle und dann in der Steuerelemete-Toolbox auf "Code anzeigen" klicken, bin ich zwar in VisualBaisc drin, aber da finde ich keinerlei Einträge zur Combobox
__________________
Gruß aus NRW

Stefan
Hellraider ist offline   Mit Zitat antworten
Alt 16.09.2006, 20:20   #4
ManfredK
 
 
Registriert seit: 17.02.2004
Ort: Niederösterreich
Beiträge: 799
Zitat:
Zitat von Hellraider
Zitat:
Zitat von ManfredK
Im Beispiel ist die Zelle A1 die LinkedCell und B16 bis Bxx ListFillRange
Wie genau kann ich das jetzt verstehen? *aufdemSchlauchsteht*
Wenn du im Entwurfmodus die ComboBox aktivierst, kannst du in den Eigenschaften die LinkedCell und die ListFillRange einstellen.
__________________
Grüße,
Manfred
ManfredK ist offline   Mit Zitat antworten
Alt 16.09.2006, 20:33   #5
Hellraider

Themenersteller
 
 
Registriert seit: 31.05.2004
Ort: D-NRW
Beiträge: 2.333
Zitat:
Zitat von ManfredK
Zitat:
Zitat von Hellraider
Zitat:
Zitat von ManfredK
Im Beispiel ist die Zelle A1 die LinkedCell und B16 bis Bxx ListFillRange
Wie genau kann ich das jetzt verstehen? *aufdemSchlauchsteht*
Wenn du im Entwurfmodus die ComboBox aktivierst, kannst du in den Eigenschaften die LinkedCell und die ListFillRange einstellen.
Also bei mir habe ich keine derartige Möglichkeit (oder ich bin im falschen Film)
__________________
Gruß aus NRW

Stefan
Hellraider ist offline   Mit Zitat antworten
Sponsored Links
Alt 16.09.2006, 20:38   #6
ManfredK
 
 
Registriert seit: 17.02.2004
Ort: Niederösterreich
Beiträge: 799
Zitat:
Zitat von Hellraider
Zitat:
Zitat von ManfredK
Zitat:
Zitat von Hellraider
Zitat:
Zitat von ManfredK
Im Beispiel ist die Zelle A1 die LinkedCell und B16 bis Bxx ListFillRange
Wie genau kann ich das jetzt verstehen? *aufdemSchlauchsteht*
Wenn du im Entwurfmodus die ComboBox aktivierst, kannst du in den Eigenschaften die LinkedCell und die ListFillRange einstellen.
Also bei mir habe ich keine derartige Möglichkeit (oder ich bin im falschen Film)
Mit Rechtsklick auf die ComboBox (im Entwurfsmodus), kanns du im Kontextmenü auswählen.

Unter 'Eigenschaften' LinkedCell und ListFillRange einstellen
Unter 'Code anzeigen' die Bedingung für die Macros (siehe E-Mail oder weiter oben) eingeben.

Und dann sollte es gehen.
__________________
Grüße,
Manfred
ManfredK ist offline   Mit Zitat antworten
Alt 16.09.2006, 20:46   #7
Hellraider

Themenersteller
 
 
Registriert seit: 31.05.2004
Ort: D-NRW
Beiträge: 2.333
Danke für die Datei.

Irgendwas ist da bei mir wohl beim anlegen der Combibox schief gelaufen (als welchen Gründen auch immer). Ich werde mir das jetzt mal genauer an deiner Datei angucken
__________________
Gruß aus NRW

Stefan
Hellraider ist offline   Mit Zitat antworten
Alt 16.09.2006, 20:53   #8
Hellraider

Themenersteller
 
 
Registriert seit: 31.05.2004
Ort: D-NRW
Beiträge: 2.333
Ah, jetzt ja

Kannst du mir auch noch einen Tip geben, wie ich das auch ohne die Range-Abfrage bewerkstelligen kann, da ich dafür noch ein extra Feld zum Vergleichen anlegen müsste. Wenn man den Wert mit ComboBox1.value abfragen würde, könnte man sich das zusätzliche Feld zum Vergleichen nämlich auch noch sparen. Und eventuell noch einen Tip, wie ich aus der Kombibox schon einen festen Menüpunkt voreinstellen kann.
__________________
Gruß aus NRW

Stefan
Hellraider ist offline   Mit Zitat antworten
Alt 16.09.2006, 22:57   #9
ManfredK
 
 
Registriert seit: 17.02.2004
Ort: Niederösterreich
Beiträge: 799
Zitat:
Zitat von Hellraider
Wenn man den Wert mit ComboBox1.value abfragen würde, könnte man sich das zusätzliche Feld zum Vergleichen nämlich auch noch sparen. Und eventuell noch einen Tip, wie ich aus der Kombibox schon einen festen Menüpunkt voreinstellen kann.
Ich werde mich morgen noch einmal schlau machen. Heute bin ich schon zu müde .
__________________
Grüße,
Manfred
ManfredK ist offline   Mit Zitat antworten
Alt 16.09.2006, 23:26   #10
Hellraider

Themenersteller
 
 
Registriert seit: 31.05.2004
Ort: D-NRW
Beiträge: 2.333
Super, danke dir
__________________
Gruß aus NRW

Stefan
Hellraider ist offline   Mit Zitat antworten
Sponsored Links
Antwort
Startseite » Forenübersicht » Treffpunkt » Café d`Image » Hilfe zur Abfrage einer ComboBox in Excel benötigt


Forenregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:26 Uhr.