ich hätte schon wieder die nächste Frage an die Profis hier unter uns.
Ich habe folgende Module definiert:
Modul2:
Sub NoInsert()
Dim I As Integer
Dim cbStr As String
Dim cbCtrl As CommandBarControl
Application.ScreenUpdating = False
For I = 1 To 2
If I = 1 Then
cbStr = "row"
Else
cbStr = "column"
End If
For Each cbCtrl In Application.CommandBars(cbStr).Controls
If cbCtrl.ID = 3183 Then
cbCtrl.Enabled = False
End If
Next
Next
Application.ScreenUpdating = True
End Sub
Modul3:
Sub NoInsertReverse()
Dim I As Integer
Dim cbStr As String
Dim cbCtrl As CommandBarControl
Application.ScreenUpdating = True
For I = 1 To 2
If I = 1 Then
cbStr = "row"
Else
cbStr = "column"
End If
For Each cbCtrl In Application.CommandBars(cbStr).Controls
If cbCtrl.ID = 3183 Then
cbCtrl.Enabled = True
End If
Next
Next
Application.ScreenUpdating = True
End Sub
Modul4:
Sub StopDeleteRowCols()
Dim xBarControl As CommandBarControl
For Each xBarControl In Application.CommandBars.FindControls(ID:=293)
xBarControl.Enabled = False
Next
For Each xBarControl In Application.CommandBars.FindControls(ID:=294)
xBarControl.Enabled = False
Next
End Sub
Modul5:
Sub StopDeleteRowColsReverse()
Dim xBarControl As CommandBarControl
For Each xBarControl In Application.CommandBars.FindControls(ID:=293)
xBarControl.Enabled = True
Next
For Each xBarControl In Application.CommandBars.FindControls(ID:=294)
xBarControl.Enabled = True
Next
End Sub
Ich rufe zwei der vier Module beim Öffnen der Excel Datei wie folgt auf (nicht wundern, es gibt auch ein Modul1, dieses Modul ist hierfür aber nicht von Bedeutung):
Private Sub Workbook_Open()
Call NoInsert
Call StopDeleteRowCols
End Sub
Eigentlich hat das auch schon funktioniert, nur komischerweise jetzt nach etwas vergangener Zeit (also ich rede hier von maximal einer Stunde) funktioniert nur noch, dass das Zellen löschen wie gewünscht unterbunden wird.
Wohingegen das Zellen einfügen komischerweise erlaubt ist.
Wenn ich jedoch
Private Sub Workbook_Open()
manuell ausführe (F5) wird es wie gewünscht gesperrt.Kann mir jemand vielleicht sagen woran das liegen könnte bzw. hat mir evtl. jemand einen Tipp, wie ich das besser gestalten kann, dass ein derartig komischer Fehler nicht mehr auftritt?
PS: Ich habe zwischendurch glaub mal das Modul3 (damit wird das Einfügen wieder erlaubt) ausgeführt (F5), jedoch sollte das ja beim nächsten Öffnen der Datei wieder mit Modul2 überschrieben werden oder verhaspelt sich Excel da ggfs.?
Wie immer vielen Dank.