Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Inhalt eines editBox-Elements im Ribbon

Betrifft: Inhalt eines editBox-Elements im Ribbon von: Sven
Geschrieben am: 02.11.2020 13:46:07

Hallo,
ich habe ein editBox-Element im Ribbon, in das ein Wert eingegeben wird. Diesen Wert nutzt die Prozedur, welche durch eine Schaltfläche auf dem Ribbon aufgerufen wird. Das editBox-Element wird durch getText mit einem Wert vorbelegt. Ändert der Nutzer den Text, wird dieser durch onChange in eine Zelle auf dem Arbeitsblatt.

Das funktioniert auch super, aber wenn der User den Wert im Textfeld ändert und gleich auf die Schaltfläche zum Starten des Makros klickt, ist der onChange noch nicht ausgeführt. :o(
Gibt es eine andere Möglichikeit, auf den Wert im Ribbon zuzugreifen?

Sub setStandMM(control As IRibbonControl, ByRef text)
    If Month(Now) = 1 Then
        text = "12"
    Else
        text = Format(Month(Now) - 2, "00")
    End If
End Sub
Sub getStandMM(control As IRibbonControl, ByRef text)
    ThisWorkbook.Worksheets("Parameter").Range("C11") = Format(text, "00")
End Sub
Danke und Grüße
Sven

Betrifft: AW: Inhalt eines editBox-Elements im Ribbon
von: volti
Geschrieben am: 02.11.2020 14:45:42

Hallo Sven,

auf den Wert in der Textbox kannst Du Du m.E. nur über einen Callback zugreifen.

Hierzu musst Du das betreffende Control invalidieren. Hierdurch wird dann wieder der Changeprozess ausgelöst.
myRibbon.InvalidateControl ID

Alternativ kannst Du auch den ganzen Ribbon invalidieren, dann werden alle Werte nach und nach wieder wie beim Start abgefragt.
myRibbon.Invalidate

Als ID ist der Name der ID des Controls (Textbox) einzugeben. MyRibbon ist die Referenz zum Ribbon, die Du Dir über den Ribbon-Code beim Start des Tools geholt hast.

Allerdings stellt sich zunächst die Frage, ob Du Dir den Ribbon selbst erstellt hast oder ob es ein anderweitiges Menü ist. Denn dann fehlen Dir die Kenntnisse über ID und Ribbon-Referenz darüber...

Ggf. mal die betroffene Mappe hier einstellen.

viele Grüße
Karl-Heinz

Betrifft: AW: Inhalt eines editBox-Elements im Ribbon
von: Sven
Geschrieben am: 02.11.2020 14:53:12

Hallo Karl-Heinz,
ja, soweit habe ich auch schon recherchiert.
Ich werde dann einfach zur Sicherheit den eingegebenen und weiterverwendeten Wert nochmal in einem nachgelagerten Userform zum Ändern zur Verfügung stellen. Damit wäre das Problem auf pragmatischere Weise gelöst. Aber danke!
Grüße
Sven

Beiträge aus dem Excel-Forum zum Thema "Inhalt eines editBox-Elements im Ribbon"