im Menue Start/Format/Ausblenden & Einblenden/ soll "Spalten einblenden" deaktiviert werden.
Nur wie ?
Gruß Ewald
Private Sub Workbook_Activate()
Application.CommandBars(1).Controls("Extras").Controls("Schutz").Enabled = False
End Sub
Vielleicht so, falls nein muss die Objekt Angabe geaendert werden.
Dim myob As Object
For Each myob In Application.CommandBars.FindControls(ID:=887)
myob.Enabled = False
Next
das Einblenden (rechte Maustaste) deaktivieren
Application.OnKey "+^(()", ""
nicht ausschalten, kann aber auch falsch geschrieben sein.
<customUI onLoad="RibbonOnLoad" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
<command idMso="ColumnsHide" enabled="false" />
<command idMso="RowsHide" enabled="false" />
</commands>
<ribbon>
</ribbon>
<backstage>
</backstage>
<contextMenus>
<contextMenu>
</contextMenu>
</contextMenus>
</customUI>
VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel
Code erstellt und getestet in Office 15
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
<command idMso="ColumnsHide" enabled="false" />
<command idMso="RowsHide" enabled="false" />
<command idMso="ColumnsUnhide" enabled="false" />
<command idMso="RowsUnhide" enabled="false" />
</commands>
<ribbon>
</ribbon>
</customUI>
VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel
Code erstellt und getestet in Office 15
Die Meldung "id oder idMso fehlt" liegt vermutlich am leeren Abschnitt "contextMenus". Wenn Du das weglässt sollte auch die Fehlermeldung ausbeleiben.
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onLoad_93137" >
<commands>
<command idMso="ColumnsHide" onAction="onAction_Commands" />
<command idMso="RowsHide" onAction="onAction_Commands" />
<command idMso="ColumnsUnhide" onAction="onAction_Commands" />
<command idMso="RowsUnhide" onAction="onAction_Commands" />
</commands>
<ribbon>
</ribbon>
</customUI>
VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel
Code erstellt und getestet in Office 15
VBA-Code:Option Private Module
Option Explicit
Dim objRibbon As IRibbonUI
Public Sub onLoad_93137(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub
Public Sub onAction_Commands(controls As IRibbonControl, ByRef returnValue)
If Environ("USERNAME") = "Ewald" Then
returnValue = False
Else
returnValue = True
MsgBox "Aktion nicht zugelassen", 64, "Hinweis"
End If
End Sub
VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel
Code erstellt und getestet in Office 15
Arbeite einfach mal meinen RibbonX-Workshop von Anfang bis Ende durch. Der ist leicht verständlich und in deutscher Sprache. Da steht alles was es zu wissen gibt.
das MakroSub GetEnabledMacro(control As IRibbonControl, ByRef Enabled)
If MyTag = "Enable" Then
Enabled = True
Else
If control.Tag Like MyTag Then
Enabled = True
Else
Enabled = False
End If
End If
End Sub
Jetzt bleibt noch die Tastenkombi ausschalten und das Aufziehen mit der Maus.
ALT + F11
, um den VBA-Editor in Excel zu öffnen.Einfügen
> Modul
.Private Sub Workbook_Activate()
Application.CommandBars("Start").Controls("Format").Controls("Ausblenden & Einblenden").Controls("Spalten Einblenden").Enabled = False
End Sub
Funktioniert nicht in Excel 2010: Der Code von älteren Excel-Versionen (z. B. Excel 2003) funktioniert möglicherweise nicht. Stattdessen musst du RibbonX verwenden, um das Menüband zu steuern.
Beispiel:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
<command idMso="ColumnsHide" enabled="false"/>
</commands>
</customUI>
RibbonX verwenden: Ab Excel 2007 wird empfohlen, RibbonX zu nutzen, um das Excel-Menüband anzupassen. Hier kannst du spezifische Befehle deaktivieren oder umleiten.
Beispiel für das Ausblenden von Spalten:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<commands>
<command idMso="ColumnsUnhide" enabled="false"/>
</commands>
</customUI>
Makros verwenden: Du kannst auch Makros nutzen, um die Sichtbarkeit von Menüs dynamisch zu steuern.
Um das Menü "Extras" auszublenden:
Application.CommandBars("Extras").Enabled = False
Wenn du ein ganzes Menüband ausblenden möchtest:
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)"
Beispiel für die Verwendung von imagemso
:
<command idMso="ColumnsHide" imageMso="ColumnsHide" enabled="false"/>
Datei
> Optionen
> Erweitert
und aktiviere "Fehler in Benutzeroberflächen-Add-Ins anzeigen".1. Warum funktioniert mein VBA-Code nicht? Stelle sicher, dass du den genauen Namen der Steuerung verwendest und dass sie in deiner Excel-Version verfügbar ist.
2. Kann ich das Menüband in Excel 2010 wie in Excel 2003 steuern?
In Excel 2010 und späteren Versionen wird empfohlen, RibbonX zu verwenden, da es keine Unterstützung mehr für die Steuerung über Application.CommandBars
gibt.
3. Wie kann ich das Einblenden von Spalten vollständig verhindern? Setze den Blattschutz oder verwende RibbonX, um die entsprechenden Befehle zu deaktivieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen