Board logo

標題: 關於VBA寫在工作表1和Module1內的寫法不同的地方是?(5/2,H大已解決) [打印本頁]

作者: av8d    時間: 2012-4-27 09:01     標題: 關於VBA寫在工作表1和Module1內的寫法不同的地方是?(5/2,H大已解決)

本帖最後由 av8d 於 2012-5-2 16:01 編輯

目前出現一個問題~
工作表1打入CommandButton1_Click
以上執行沒問題

到了Module1內打入CommandButton1_Click
會跳出錯誤訊息視窗  沒有定義這個Sub或Function
作者: GBKEE    時間: 2012-4-27 09:35

回復 1# av8d
會跳出錯誤訊息視窗  沒有定義這個Sub或Function
打入  SUB CommandButton1_Click    移動滑鼠後 自動生成
Sub CommandButton1_Click()           ' 程式程序
End Sub

打入  Function CommandButton1_Click    移動滑鼠後 自動生成
Function CommandButton1_Click()    '函數 程序
End Sub
作者: av8d    時間: 2012-4-27 09:50

回復 2# GBKEE


    G大~早安~再次感謝~

可是我寫下去的巨集是設定快捷鍵~然後去執行

也就是說我把它調整成鍵盤按下F1好了~他會幫我點那個按鈕@@
作者: GBKEE    時間: 2012-4-28 13:14

回復 3# av8d
鍵盤的 F1 是說明鍵  請再說清楚些
作者: Hsieh    時間: 2012-4-28 22:52

回復 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"
作者: av8d    時間: 2012-5-2 11:35

回復 5# Hsieh


    模組設定後,執行 出現

執行階段錯誤'1004'
無法執行此巨集


我按下了說明~Excel 2010 開發人員參考 說明及使用方法~但是不知道要按哪一個進去看說明!
作者: Hsieh    時間: 2012-5-2 11:59

回復 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
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)