RibbonX-Workshop - Auswahlfeld
Erstellen Sie eine neue Arbeitsmappe (das erste Tabellenblatt in "Rechnung-Ausfüllen", das zweite Tabellenblatt in "Artikelliste" und das dritte Tabellenblatt in "Kundendaten" benennen). Fügen Sie ein neues Modul und in dieses die folgenden für das erste Auswahlfeld gültigen Makros ein.
Option Private Module
Public objRibbon As IRibbonUI
Public Sub rx_onload(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub
Public Sub Artikel_getItemCount(control As IRibbonControl, ByRef returnedVal)
returnedVal = 200
End Sub
Public Sub Artikel_getItemID(control As IRibbonControl, index As Integer, ByRef id)
id = "Eintrag" & index + 3
End Sub
Public Sub Artikel_getItemLabel(control As IRibbonControl, index As Integer, ByRef returnedVal)
returnedVal = ThisWorkbook.Sheets("Artikelliste").Cells(index + 3, 3).Value
End Sub
Public Sub Artikel_onAction(control As IRibbonControl, id As String, index As Integer)
Rem Trägt den gewählten Artikel in die Rechnung ein
ThisWorkbook.Sheets("Rechnung-Ausfüllen").Cells _
(Cells(1048576, 1).End(xlUp).Row + 1, 1).Value = ThisWorkbook.Sheets("Artikelliste").Cells _
(index + 3, 4).Offset(0, -3).Value
End Sub
Fügen Sie nun ein zweites Modul und in dieses die für das zweite Auswahlfeld gültigen Makros ein.
Option Private Module
Public Sub Kunde_getItemCount(control As IRibbonControl, ByRef returnedVal)
returnedVal = 200
End Sub
Public Sub Kunde_getItemID(control As IRibbonControl, index As Integer, ByRef id)
id = "Eintrag" & index + 3
End Sub
Public Sub Kunde_getItemLabel(control As IRibbonControl, index As Integer, ByRef returnedVal)
returnedVal = ThisWorkbook.Sheets("Kundendaten"). Cells(index + 3, 4).Value
End Sub
Public Sub Kunde_onAction(control As IRibbonControl, id As String, index As Integer)
Rem Trägt die Posi des Kunden in die Rechnung ein
With ThisWorkbook
.Sheets("Rechnung-Ausfüllen").Range("H2").Value = _
.Sheets("Kundendaten").Cells(index + 3, 4).Offset(0, -3).Value
End With
End Sub
Speichern Sie nun die Änderung und schließen die Arbeitsmappe. Öffnen Sie selbige mit dem CustomUI-Editor und fügen in das Codefenster folgenden Code ein.
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="rx_onLoad">
<ribbon startFromScratch="true">
<tabs><tab id="tab01" label="Rechnungserstellung">
<group id="grpCombo" label="Kundenwahl" >
<dropDown id="ddcKunde" label="Kunde:" screentip="Kunden auswählen"
supertip="Die Kundenkennung (Posi) auswählen" sizeString="xxxxxxxxxxxxxxx"
onAction="Kunde_onAction" getItemCount="Kunde_getItemCount"
getItemID="Kunde_getItemID" getItemLabel="Kunde_getItemLabel" >
</dropDown>
<dropDown id="ddcArtikel" label="Artikel:" screentip="Artikel auswählen"
supertip="Die Artikelkennung (Posi) auswählen" sizeString="xxxxxxxxxxxxxxx"
onAction="Artikel_onAction" getItemCount="Artikel_getItemCount"
getItemID="Artikel_getItemID" getItemLabel="Artikel_getItemLabel" >
</dropDown>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Speichern Sie die Änderung und schließen den Editor.
Beschreibung
id: Gibt die control.ID an
label: Die Beschreibung des Elementes
getItemID: Die ID des Eintrages
getItemLabel: Der Eintrag
getItemCount: Die Anzahl der möglichen Einträge
onAction: Das auszuführende Makro