|  
                                             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 
     |