這感覺就像一個愚蠢的問題,但我不能弄清楚,所以這裏去...VBA - 命令按鈕點擊子 - 當工作表中創建新的每次
我有,基於一個工作簿什麼是輸入到用戶窗體,每次點擊用戶窗體上的命令按鈕時創建一個新的工作表,並刪除舊窗體。
這意味着,儘管新的工作表總是被賦予相同的名稱(「結果」),但工作表編號每次都會增加;它目前正在調用自己的Sheet48,下一次運行它將會是Sheet49。
我想要做的是將一個命令按鈕添加到該「結果」表,用戶可以單擊它們以將它們帶到不同的工作表。我已經添加了一些代碼到用戶窗體中,它在「結果」工作表上創建命令按鈕本身。我還沒有寫出能告訴它將用戶帶到另一張工作表的子文件,但我相信我可以毫無困難地做到這一點。
我的問題是我如何將sub分配給按鈕,考慮到它所在的工作表不是永久的?我認爲子應該進入一個標準模塊,但是我所看到的所有例子都是以「CommandButton1_Click」或「CommandButton2_Click」開頭的,並存儲在表單對象本身中。看起來像這些數字1和2是指給定工作表上的命令按鈕的順序,但是大概是標準模塊上的一個子將不知道要查看哪個工作表。
我希望這是有道理的 - 任何有用的解釋將不勝感激!謝謝。
編輯: 這是我使用創建命令按鈕並(試圖)子分配給它的代碼:
'Add a command button, which will allow users to jump to the full report
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=1025, Top:=130.5, Width:=160, Height:= _
400).Select
ActiveSheet.CommandButton1.Caption = "Click here to see the original report"
ActiveSheet.CommandButton1.WordWrap = True
ActiveSheet.CommandButton1.OnAction = "Module1.ButtonForOriginal" 'the sub works in isolation, but this line isn't assigning it.
任何人都可以看到任何問題嗎? ButtonForOriginal子過程獨立工作,所以它看起來像我只是不正確地調用它?
編輯2 - 我現在已經用不同的方法取得了正確的效果 - 如果您有興趣,請參閱下面的答案。感謝那些幫助並讓我走上正確道路的人!
使用新按鈕,我實際上並沒有添加新的工作表;我只想取消隱藏現有的一個。 –
對不起,按下發送太快... –
事件序列是 - Userform創建新工作表,其中還包含一個新按鈕 - 單擊新按鈕將取消隱藏現有工作表。感謝您的建議 - 我會嘗試,或者在我創建新按鈕的用戶表單代碼中進行嘗試,希望我理解正確! –