Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ribbon DropDown Wrt auslesen

Forumthread: Ribbon DropDown Wrt auslesen

Ribbon DropDown Wrt auslesen
Christian
Hallo zuammen,
ich habe folgenden xml code:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="TabAddIns" label="AddIns" >
<group id="group1" label="Rückstellungen">
<button id="customButton1" label="File open" screentip="xxx" onAction="btn_onAction_FileOpen" size="normal" imageMso="FileOpen" />
<dropDown id="dropDowmMonth" label="Monat" sizeString="MAY" showImage="false">
<item id="__id1" label="Jan" />
<item id="__id2" label="Feb" />
<item id="__id3" label="Mar" />
<item id="__id4" label="Apr" />
<item id="__id5" label="May" />
<item id="__id6" label="Jun" />
<item id="__id7" label="Jul" />
<item id="__id8" label="Aug" />
<item id="__id9" label="Sep" />
<item id="__id10" label="Oct" />
<item id="__id11" label="Nov" />
<item id="__id12" label="Dec" />
</dropDown>
<button id="buttonCopyToAdi" label="Copy to ADI" showImage="false" onAction="btn_onAction" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Ich möchte wenn der User im DropDown eineen Monat ausssssgewählt hat diesen Monat im Macro 'btn_onAction' verwenden, d.h. ich möchte im Macro den Wert des DropDown auslesen. Wenn das möglich ist wäre ich für Tips dankbar, oder geht das gar nicht?
Grüße
Christian
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ribbon DropDown Wrt auslesen
23.10.2010 01:06:39
mumpel
Hallo!
Das geht zum Beispiel mit dem Tag-Attribut.
<item id="__id1" label="Jan" tag="Januar" onAction="onAction_Dropdown1" />
<item id="__id2" label="Feb" tag="Februar" onAction="onAction_Dropdown1"/>
Im onAction-Ereignis des Dropdown's dann zum Beispiel: ActiveCell.Value = control.tagcolor>
Siehe hierzu:
Multifunktionsleiste anpassen mit RibbonX
RibbonX - Teil 5 - Auswahl- und Kombinationsfelder
Gruß, René
Anzeige
AW: Ribbon DropDown Wrt auslesen
23.10.2010 01:48:12
mumpel
Mit dem Tag funktioniert es in diesem fall nicht. Hier eine andere Möglichkeit
Das passende Makro:
AW: Ribbon DropDown Wrt auslesen
23.10.2010 18:10:06
Christian
Hi,
danke für die Antwort. Ich muß also im onAction des dropdown den Wert in eine Zelle schreiben und kann nicht im onAction des Buttons den Wert des dropdown auslesen.
Schade, aber so gehts natürlich auch
Grüße
Christian
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Ribbon Dropdown in Excel auslesen


Schritt-für-Schritt-Anleitung

  1. XML-Code einfügen: Erstelle einen XML-Code für das Ribbon. Du kannst den folgenden Code als Vorlage benutzen:

    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
       <ribbon startFromScratch="false">
           <tabs>
               <tab id="TabAddIns" label="AddIns">
                   <group id="group1" label="Rückstellungen">
                       <button id="customButton1" label="File open" onAction="btn_onAction_FileOpen" />
                       <dropDown id="dropDowmMonth" label="Monat">
                           <item id="__id1" label="Jan" tag="Januar" onAction="onAction_Dropdown1" />
                           <item id="__id2" label="Feb" tag="Februar" onAction="onAction_Dropdown1"/>
                           <item id="__id3" label="Mar" tag="März" onAction="onAction_Dropdown1"/>
                           <!-- Weitere Monate hier -->
                       </dropDown>
                       <button id="buttonCopyToAdi" label="Copy to ADI" onAction="btn_onAction" />
                   </group>
               </tab>
           </tabs>
       </ribbon>
    </customUI>
  2. Wert im Dropdown auslesen: Im onAction der Dropdown-Items kannst du den Wert in eine Zelle schreiben. Zum Beispiel:

    Sub onAction_Dropdown1(control As IRibbonControl)
       ActiveCell.Value = control.Tag
    End Sub
  3. Makro zum Auslesen des Wertes: Stelle sicher, dass du ein Makro hast, das auf das Button-Klick-Event reagiert. Hier kannst du den Wert der Zelle verwenden, in die du den Dropdown-Wert geschrieben hast.


Häufige Fehler und Lösungen

  • Fehler 1: Der Dropdown-Wert wird nicht korrekt ausgelesen.
    Lösung: Achte darauf, dass das onAction-Attribut bei jedem item im Dropdown korrekt gesetzt ist.

  • Fehler 2: Der Wert wird nicht in die Zelle geschrieben.
    Lösung: Überprüfe, ob das Makro mit den richtigen Berechtigungen ausgeführt wird und ob die aktive Zelle tatsächlich beschreibbar ist.


Alternative Methoden

Wenn du den Wert des ribbon dropdown nicht unbedingt in eine Zelle schreiben möchtest, kannst du auch andere Ansätze verfolgen, wie z.B.:

  • Direct Binding: Verwende direkte Bindings in deinem VBA-Code, um Werte zu speichern und später auszulesen.
  • Benutzerdefinierte Formulare: Erstelle ein benutzerdefiniertes Formular, das Dropdowns enthält und die Auswahl in Variablen speichert.

Praktische Beispiele

  1. Beispiel für den Monat: Angenommen, du möchtest den Monat in einer MessageBox anzeigen, wenn der Benutzer eine Auswahl trifft:

    Sub onAction_Dropdown1(control As IRibbonControl)
       MsgBox "Der ausgewählte Monat ist: " & control.Tag
    End Sub
  2. Wert speichern und später nutzen: Du kannst den ausgewählten Wert in einer globalen Variable speichern und später in einem anderen Makro verwenden.

    Dim selectedMonth As String
    
    Sub onAction_Dropdown1(control As IRibbonControl)
       selectedMonth = control.Tag
    End Sub

Tipps für Profis

  • Verwende ribbon startFromScratch: Setze startFromScratch="true" in deinem XML, wenn du das gesamte Ribbon anpassen möchtest.
  • Effiziente Makros: Halte deine Makros schlank und effizient. Nutze Funktionen, um wiederholte Codeabschnitte zu vermeiden.
  • Dokumentation: Achte darauf, deinen Code gut zu kommentieren, damit du später leicht verstehst, was du gemacht hast.

FAQ: Häufige Fragen

1. Kann ich mehrere Dropdowns im gleichen Ribbon haben?
Ja, du kannst beliebig viele Dropdowns im gleichen Ribbon definieren, solange jede ID eindeutig ist.

2. Wie kann ich den Wert des Dropdowns in einem anderen Makro verwenden?
Speichere den Wert in einer globalen Variablen, wie im praktischen Beispiel gezeigt, und greife dann im anderen Makro darauf zu.

3. Funktioniert das in allen Excel-Versionen?
Die beschriebenen Methoden funktionieren ab Excel 2007 und höher, da diese Versionen das Ribbon-System unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige