0
我在程序上在工作表上放置了一個按鈕,並且它放置良好,但是當我單擊它時,出現錯誤提示「Can not run the macro。The macro may be not in the workbook or all macros可能會被禁用「。我相信我已經設置好了,但這裏是我的代碼,如果有人發現任何東西將非常感激。VBA Excel按鈕宏錯誤
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
尼斯,這已經擺脫了這個錯誤的,但是當我按下按鈕,我得到的「對象變量或塊變量未設置」錯誤。我只是通過了CRC。正如你在答案中的第二行代碼中所展示的那樣。任何想法這可能是什麼? – SBozhko
當你得到新的錯誤時突出顯示哪行? – CLR
'If ShowHideDates.Caption =「Hide Old Date Columns」Then' – SBozhko