Excel 2013 - eigene Ribbons per vba erstellen
#1
Hallo zusammen,

ich versuche gerade Schaltflächen mit eigenen Makros auf eigenen Ribbons anzulegen.
Das funktioniert auch sehr gut mittels Custom UI Editor und dem nötigen xml-Code.

Alle meine Makros habe ich in der "PERSONAL. XLMS" gespeichert. Diese Mappe ist natürlich ausgeblendet.
Das ist jetzt mein Problem, wenn diese Mappe ausgeblendet ist dann ist auch die erstellte Ribbon nicht mehr sichtbar.

Meine Frage ist nun wie man es anstellt
- dass trotz ausgeblendeter Mappe die Ribbons sichtbar sind/bleiben..oder
- ob es eine andere Möglichkeit gibt eigene Ribbons dauerhaft anzuzeigen?

Vielleicht kann mir jemand einen Tipp geben?
Top
#2
Hallo Erich,

das sollte funktionieren, wenn Du eine gesonderte Datei mit den Ribbon-Menüs erstellst und als AddIn speicherst.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • sharky51
Top
#3
(24.10.2015, 04:58)schauan schrieb: Hallo Erich,

das sollte funktionieren, wenn Du eine gesonderte Datei mit den  Ribbon-Menüs erstellst und als AddIn speicherst.

Hallo André,

danke ...das werde ich mal ausprobieren.
Top
#4
Hallo André,

so ich habe jetzt mal ein AddIn erstellt und teilweise funktioniert das auch....leider nicht mit allen Makros die ich dann über ein Ribbon aufrufe.

Wenn ich z.B. das folgende Makro aus meiner "personal.xlsm" funktioniert es sicher.
Rufe ich es aus meinem AddIn auf bekomme ich folgende Fehlermeldung:
"Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"

Was könnte denn der Grund für diese Meldung sein?

So hier der Code:
Code:
Sub FarbwertAnzeige()
'Gibt den Farbwert des Bezuges zurück und zeigt ihn an
Dim Farbwert
Application.Volatile
   If ActiveCell.Rows.Count > 1 Or ActiveCell.Columns.Count > 1 Then
       Farbwert = -1
   Else
       If Range(ActiveCell.Address).Interior.ColorIndex < 0 Then
           Farbwert = 0
           MsgBox (Farbwert)
       Else
           Farbwert = Range(ActiveCell.Address).Interior.ColorIndex
           MsgBox (Farbwert)
       End If
   End If
End Sub

Function Farbwert(Zelle As Range) As Integer
'Gibt den Farbwert des Bezuges zurück
Application.Volatile
   If Zelle.Rows.Count > 1 Or Zelle.Columns.Count > 1 Then
       Farbwert = -1
   Else
       If Range(Zelle.Address).Interior.ColorIndex < 0 Then
           Farbwert = 0
       Else
           Farbwert = Range(Zelle.Address).Interior.ColorIndex
       End If
   End If
End Function
Top
#5
(25.10.2015, 14:56)sharky51 schrieb: Hallo André,

so ich habe jetzt mal ein AddIn erstellt und teilweise funktioniert das auch....leider nicht mit allen Makros die ich dann über ein Ribbon aufrufe.

Wenn ich z.B. das folgende Makro aus meiner "personal.xlsm" funktioniert es sicher.
Rufe ich es aus meinem AddIn auf bekomme ich folgende Fehlermeldung:
"Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"

Was könnte denn der Grund für diese Meldung sein?

So hier der Code:
Code:
Sub FarbwertAnzeige()
'Gibt den Farbwert des Bezuges zurück und zeigt ihn an
Dim Farbwert
Application.Volatile
   If ActiveCell.Rows.Count > 1 Or ActiveCell.Columns.Count > 1 Then
       Farbwert = -1
   Else
       If Range(ActiveCell.Address).Interior.ColorIndex < 0 Then
           Farbwert = 0
           MsgBox (Farbwert)
       Else
           Farbwert = Range(ActiveCell.Address).Interior.ColorIndex
           MsgBox (Farbwert)
       End If
   End If
End Sub

Function Farbwert(Zelle As Range) As Integer
'Gibt den Farbwert des Bezuges zurück
Application.Volatile
   If Zelle.Rows.Count > 1 Or Zelle.Columns.Count > 1 Then
       Farbwert = -1
   Else
       If Range(Zelle.Address).Interior.ColorIndex < 0 Then
           Farbwert = 0
       Else
           Farbwert = Range(Zelle.Address).Interior.ColorIndex
       End If
   End If
End Function

Ups...
da war ich etwas zu voreilig......

Zum ersten die Funktion Farbwert.... benötige ich hier gar nicht ........und....der Aufruf des Makros "Sub FarbwertAnzeige()"
muss natürlich so lauten "Sub FarbwertAnzeige(control As IRibbonControl)".... sonst geht nix....

Sorry, man sollte halt manchmal länger nachdenken!
Top
#6
Hallo!

Das lernst Du schon noch. ;)

Gruß, René
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste