VBA Excelbuttonmacros错误

我在程序上放置一个工作表上的button,它放置良好,但是当我点击它,我得到一个错误,说:“不能运行macros。macros可能无法在此工作簿或所有macros可能被禁用”。 我相信我已经设置好了,但这里是我的代码,如果任何人点任何将不胜感激。

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 

您指的是您在代码中提供给您的标签的工作表,而不是工作表本身。

尝试改变:

 .OnAction = "wsCRC.SHDbtn" 

 .OnAction = "CRC.SHDbtn" 

甚至

 .OnAction = "SHDbtn"