返回列表 上一主題 發帖

關於VBA寫在工作表1和Module1內的寫法不同的地方是?(5/2,H大已解決)

回復 1# av8d

工作表按鈕事件程序,因為CommandButton1是專屬於該工作表物件
所以在設計模式下雙擊該按鈕會自動在工作表模組新增
Private Sub CommandButton1_Click()程序
這是屬於私有程序,只有在該工作表範圍內作用
而可以設置快速鍵的程序是在一般模組內
要由一般模組內的程序來啟動工作表模組內的程序
必須透過Run 方法
例如:
Sheet1模組
  1. Private Sub CommandButton1_Click()
  2. MsgBox "Sheet1!CommandButton1_Click"
  3. End Sub
複製代碼
Module1模組
Ex設快速鍵ctrl+n
  1. Sub Ex()
  2. MsgBox "Sheet1.CommandButton1_Click將被觸發"
  3. Run "Sheet1.CommandButton1_Click"
  4. End Sub
複製代碼
當按下鍵盤ctrl+n就會先出現對話訊息
"Sheet1.CommandButton1_Click將被觸發"
然後觸發Sheet1.CommandButton1_Click程序
出現對話訊息
"Sheet1!CommandButton1_Click"
學海無涯_不恥下問

TOP

回復 6# av8d
2010的工作表CodeName是中文字"工作表1"
  1. Private Sub CommandButton1_Click()
  2. MsgBox "工作表1!CommandButton1_Click"
  3. End Sub
複製代碼
  1. Sub Ex()
  2. MsgBox "工作表1.CommandButton1_Click將被觸發"
  3. Run "工作表1.CommandButton1_Click"
  4. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題