Ich programmiere programmatisch eine Schaltfläche auf einem Arbeitsblatt, und es legt gut, aber wenn ich darauf klicke, bekomme ich eine Fehlermeldung "Kann das Makro nicht ausführen. Das Makro möglicherweise nicht in dieser Arbeitsmappe oder alle Makros verfügbar kann deaktiviert sein ". Ich glaube, ich habe es gut eingerichtet, aber hier ist mein Code, wenn jemand etwas entdeckt, würde es sehr schätzen.VBA Excel Button Makro Fehler
Sub ButtonGenerator()
Application.ScreenUpdating = False
Dim wsCRC As Worksheet
Set wsCRC = Worksheets("CRC")
Dim lcolumncrc As Long
lcolumncrc = CRC.LastColumnInCRC
'Button Declarations
Dim ShowHideDates As Button
wsCRC.Buttons.Delete
'Show/Hide Dates Button Set Up
Dim SHDrange As Range
Set SHDrange = wsCRC.Range(Cells(5, lcolumncrc + 2), Cells(5, lcolumncrc + 4))
Set ShowHideDates = wsCRC.Buttons.Add(SHDrange.Left, SHDrange.Top, SHDrange.Width, SHDrange.Height)
With ShowHideDates
.OnAction = "wsCRC.SHDbtn"
.Caption = "Show Hidden Date Columns"
.Name = "ShowHideDates"
End With
Application.ScreenUpdating = True
End Sub
Sub SHDbtn()
Dim wsCRC As Worksheet
Set wsCRC = Worksheets("CRC")
Dim ShowHideDates As Button
Dim CurrentDateColumn As Long
CurrentDateColumn = GetTodaysDateColumn()
ActiveSheet.Unprotect
If ShowHideDates.Caption = "Hide Old Date Columns" Then
wsCRC.Range(wsCRC.Cells(5, 10), wsCRC.Cells(5, CurrentDateColumn - 6)).EntireColumn.Hidden = True
ShowHideDates.Caption = "Show Hidden Date Columns"
Else
wsCRC.Range(wsCRC.Cells(5, 10), wsCRC.Cells(5, CurrentDateColumn - 6)).EntireColumn.Hidden = False
ShowHideDates.Caption = "Hide Old Date Columns"
End If
ActiveSheet.Protect
End Sub
Nizza, diese loswerden dieser Fehler bekommen hat, aber wenn ich die Taste drücken, erhalte ich die Fehler "Objektvariable oder mit Blockvariable nicht gesetzt". Ich habe nur die CRC entwickelt. wie Sie in der zweiten Zeile des Codes in Ihrer Antwort gezeigt haben. Irgendeine Idee was das sein könnte? – SBozhko
Welche Zeile ist markiert, wenn Sie den neuen Fehler erhalten? – CLR
'Wenn ShowHideDates.Caption = "Alte Datumsspalten ausblenden" Dann' – SBozhko