Ten program ma stworzyć przycisk, który użytkownik może nacisnąć, aby aktywować inny sub. Z moich wyszukiwań w Internecie wydaje się, że poniższy podrzędny powinien zostać aktywowany podczas otwierania skoroszytu, ale tak nie jest?Workbook_Open sub nie będzie działać po otwarciu skoroszytu?
Co robię źle?
Option Explicit
Private Sub Workbook_Open()
Dim btn As Button
Dim rng As Range
With Worksheets("Sheet1")
Set rng = .Range("B2:C2")
Set btn = .Buttons.Add(rng.Left, rng.Top, rng.Width, rng.Height)
With btn
.Caption = "To begin the program, please click this button"
.AutoSize = True
.OnAction = "TableCreation1"
End With
End With
End Sub
Czy ten moduł jest umieszczony w obiekcie 'ThisWorkbook' w VBE, w przeciwieństwie do obiektu Module lub Worksheet? Ponieważ kiedy to zrobiłem, zadziałało to dla mnie. Aby uruchomić zdarzenia Workbook, kod musi istnieć w module 'ThisWorkbook'. To samo dotyczy zdarzeń na poziomie arkusza roboczego, kod musi znajdować się w każdym obiekcie arkusza w VBE. –
@Scott, myślę, że powinieneś zmienić swój komentarz na odpowiedź. –