Clever-Excel-Forum

Normale Version: Menübefehl auf eigene Schaltfläche legen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,
ich habe ein Makro erstellt, das den häufig wiederkehrenden "Menübefehl Format/Spalte/Markierung AutoAnpassen" auslöst. Außerdem erstellte ich eine neue Gruppe im Menüband "Eigene Makros", in der ich eine Schaltfläche platzierte. Leider kriege ich es nicht heraus, wie ich mein Makro der Schaltfläche zuordnen kann.
Wer kann's mir erklären?
Toni
Moin!
Welche Excel-Version hast Du wirklich?
Jedenfalls nicht Excel 2008 für den Mac:
  • Excel 2008
  • 12.0
  • Mac OS X
  • Erste Version für Intel-Macs – unterstützt als Universal Binaries sowohl PowerPC- als auch Intel-Macs nativ; keine Multifunktionsleiste, kein VBA; erfordert mindestens Mac OS X Tiger 10.4.9.
Ansonsten:

Datei → Optionen → entweder Menueband oder Symbolleiste Schnellzugriff anpassen

Ich benutze den Befehl auch sehr häufig.
Ich habe folgendes kleine Makro in die Personal.xlsb gelegt und starte es mittels Tastenkombination (schneller als wenn ich rumklicken muss) Strg+Umschalt+B (B wie optimale Breite)
Code:
Sub SpaltenOpt()
'Strg+Umschalt+B
ActiveSheet.Columns.AutoFit
End Sub

Gruß Ralf

(23.01.2022, 00:11)Toni-S schrieb: [ -> ]Leider kriege ich es nicht heraus, wie ich mein Makro der Schaltfläche zuordnen kann.

[attachment=41871]
Hallo Toni,

falls Du die Schaltfläche im XML-Script zur Aufnahme in Dein Menüband platziert hast, kannst Du doch dort einfach mit dem OnAction-Befehl ein Makro angeben.

Beispiel:

Code:
<button id="btnDrucken" onAction="cbBtnAction" label="Report ausdrucken" size="large" imageMso="FilePrint"    
             screentip="Report ausdrucken"
             supertip="Bitte hier klicken, um den Report auszudrucken (3 Seiten)" />

Dann legst Du Dir in einem Modul das OnAction-Sub an und kannst direkt oder bei mehreren Buttons z.B. per Select über die von Dir vergebene ID das Element rausfischen und Dein Makro aufrufen.

Code:

Sub cbBtnAction(control As IRibbonControl)
  Select Case control.ID
  Case "btnDrucken"
       ActiveWindow.SelectedSheets.PrintOut Copies:=1
  End Select
End Sub

_________
viele Grüße
Karl-Heinz
Vielen Dank RPP63 und volti !
Ralf, du hast natürlich Recht mit dem Hinweis zur Version 2008. Ich habe mich in letzter Zeit Mac-mäßig ein bisschen verbessert (Macpro 5.1, 12-Kerne, 48 GB RAM, GPU Nvidia Quadro K2000 2GB, ca. 20 TB Speicher on board). Aktuell switche ich zwischen OSX 10.6.11 (El Capitain), 10.14.6 (Mojave) und 10.15.x (Big Sur) entsprechend den vorliegenden Programmen hin und her. Was Excel betrifft, so gilt 2008 noch immer, aber immer öfter  Version 16.54 (2019). Ich bin gerade VBA-mäßig im Krabbelalter und experimentiere mehr als ich verstehe. Und in Excel verstehe ich soviel wie Goethe im "Faust" erkennt, dass er - je tiefer man hineinsieht - sich immer größere Räume des Nichtwissens auftun.

Folgenden VBA-Code habe ich bisher kreiert:

Sub AutoSpaltenbreite()
'
' AutoSpaltenbreite Makro
' Tastenkombination: Strg+b
'
    Columns("A:AL").Select
    Selection.Columns.AutoFit
      Range("A1").Select
End Sub


Genau wie bei dir, Ralf, funktioniert es auch bei mir wirklich prima (sogar mit Deaktivierung der Markierung und Fokus auf A1). Ich habe darüberhinaus schon gestern - genauso wie du es beschriebst - eine Schaltfläche ins Menüband eingefügt, denn ich möchte den Ablauf nicht nur per Tastenkombi, sondern auch per Klick auf einen  Schaltbutton legen. Ich fürchte nämlich, dass ich - sollte ich weiterhin fleißig neue Strings erfinden - bald nicht mehr weiß, welche Tastenkombis ich mir für welche Funktionen ausgedacht habe. Aber die dumme Schaltfläche weiß leider noch nicht, was sie tun soll...

Ich werde also erst mal versuchen, den Code-Vorschlag von Karl-Heinz auf mein Makro zu übertragen und dabei hoffentlich ein wenig dazulernen. Ich melde mich wieder zurück, sobald es was Neues bei mir gibt...
Toni
Ich befürchte nur, dass es in Mac-OS noch immer kein RibbonX gibt.
Ich fürchte, ich muss mumpel Recht geben, denn bis jetzt habe ich noch nie was von "ui costum editor" für Mac gehört. Insofern kann ich jetzt auch nachvollziehen, warum ich mit dem String "Sub cbBtnAction(control As IRibbonControl)" von volti so gar nicht weiterkomme.
Hat jemand eine Alternatividee?
Toni
Versuchen kannst Du es (aber immer ohne die Klammereinträge). Je nach dem ob es für alle Dateien gelten soll, oder nur für eine. Ob das auch in Mac-OS funktioniert weiss ich nicht.
https://www.rholtz-office.de/ribbonx/ind...riffleiste
https://www.rholtz-office.de/ribbonx/ind...-menueband
https://www.rholtz-office.de/ribbonx/men...n-anpassen
https://www.rholtz-office.de/ribbonx/abl...n-anpassen
Dank an mumpel für die Tipps und sehr interessanten Links zu diesem Thema! Tatsächlich scheint die Anwendung von RibbonX für die Macwelt keinen Zugang zu haben. Ich rudere also wieder ein bisschen zurück und stelle fest, dass ich ja immerhin imstande bin, ein Makro zu erzeugen, das mir genau das tut, was ich möchte. Ich werde mich damit abfinden, dass es für "Macianer" einfach nicht möglich ist, ein eigenes Menüband mit eigenen Schaltflächen zu erzeugen. Alles in allem kann ich damit leben, denn alleine der Zeitaufwand zu den Recherchen ist um ein vielfaches höher als die Zeiteinsparung durch ein anklickbares Knöpfchen in der Menüleiste gewonnen werden könnte. Ich denke, hier habe ich meine Grenzen gefunden. Allen, die mir bis hierher geholfen haben, danke ich herzlich. Ich habe wieder einiges dazugelernt.
Toni