Danke schon mal für die Antwort, habe das geändert. jetzt macht er das gar nicht mehr . hatte vorher das er das nur in einem bestimmen Bereich macht.
würde aber gerne das er das in jeder arbeitsmappe macht außer der ersten.
Denke dein Code hat nichts damit zu schaffen aber irgendwie klappt es jetzt nicht mehr. Auch mit dem alten . Bin grad echt am verzweifeln könnte das noch über den Befehl machen :
Sub KontextmenueErgaenzen()
Dim oBtn As CommandBarButton
Dim InI As Integer
For InI = Application.CommandBars("Cell").Controls.Count _
To 1 Step -1
Application.CommandBars("Cell").Controls(1).Delete
Next InI
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = Range("AbwK1") ' Beschriftung
.OnAction = "Makro1" ' Aktion
End With
Welcher ist besser ?
Hier mal ein Auszug meiner Arbeitsmappe:
Option Explicit ' Variablendefinition erforderlich
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Ende ' Kontextmenü zurücksetzen
End Sub
Private Sub Workbook_Deactivate()
Ende ' Kontextmenü zurücksetzen
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Ende
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name = "Tabelle1" Then
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
Dim RaBereich As Range ' Variable für Bereich
Dim RaZelle As Range ' Variable für Zelle
' Bereich der Wirksamkeit
Set RaBereich = Range("A2:A15,A18:A31,C2:C15,C18:C31,E2:E15,E18:E31,G2:G15," _
& "G18:G31,I2:I15,I18:I31,K2:K15,K18:K31,M2:M15,M18:M31,O2:O15,O18:O31,Q2:Q15," _
& "Q18:Q31,S2:S15,S18:S31,U2:U15,U18:U31,W2:W15,W18:W31,Y2:Y15,Y18:Y31,AA2:AA15,AA18:AA31")
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
Start
Else
Ende
End If
Set RaBereich = Nothing ' Variable leeren
End If
End If
End Sub
|