Board logo

標題: 圖案指定巨集 [打印本頁]

作者: jesscc    時間: 2011-11-17 21:47     標題: 圖案指定巨集

插入一個圖案後,可以指定它的執行巨集,但好像只能指定 Module 裡的 Sub
如果我要指定工作表中的 Private Sub 做為圖案的巨集,不知該如何指定?
例如
Private Sub CommandButton1_Click()
Columns("G:J").EntireColumn.Hidden = False
OptionButton1 = False
OptionButton2 = False
OptionButton3 = False
Module1.test
End Sub
我想用一個圖案,把 CommandButton1 替換掉,這個圖案的巨集該如何指定?
作者: GBKEE    時間: 2011-11-17 21:55

本帖最後由 GBKEE 於 2011-11-17 22:01 編輯

回復 1# jesscc
OnAction : 指定巨集
一般Module 模組中裡的 Sub  不必指明 Module(模組)  但 Private   與物件模組中 的程序,  皆需指明

Sub Ex()
    Sheet1.Shapes(1).OnAction = "Sheet1.CommandButton1_Click"
End Sub
作者: jesscc    時間: 2011-11-17 22:01

本帖最後由 jesscc 於 2011-11-17 22:08 編輯

謝謝G大!
這個圖案的名稱叫 "圓角矩形1",應該無所謂吧!它們都是屬於 Shapes 吧?
如果有很多Shapes
Sub Ex()
    Sheet1.Shapes(1).OnAction = "Sheet1.CommandButton1_Click"
    Sheet1.Shapes(2).OnAction = "Sheet1.CommandButton2_Click"
    Sheet2.Shapes(3).OnAction = "Sheet2.CommandButton3_Click"
End Sub
把所有的Shapes都指定到Ex這個巨集
可以這樣寫嗎?
作者: GBKEE    時間: 2011-11-18 07:26

本帖最後由 GBKEE 於 2011-11-18 07:27 編輯

回復 3# jesscc
是的
  1. Sub Ex()
  2.     Dim i As Integer
  3.     With Sheet1
  4.         For i = 1 To .Shapes.Count
  5.             .Shapes(i).OnAction = .Name & ".CommandButton" & i & "_Click""
  6.         Next
  7.     End With
  8. End Sub
複製代碼

作者: jesscc    時間: 2011-11-18 07:40

回復 4# GBKEE


    謝謝G大,還有一個小疑問。這些 Shapes 的屬性名稱好像只有在指定巨集的時候才看的到,平常如果要改名稱不知從何處改?
例如,我要把名稱"圓角矩形1"改成"連結1"
作者: oobird    時間: 2011-11-18 08:44

選中Shapes,左上角的名稱方塊內輸入新的名稱。
作者: GBKEE    時間: 2011-11-18 09:26

回復 5# jesscc

[attach]8573[/attach]
作者: jesscc    時間: 2011-11-18 19:31

唉!我真是大眼睛。
謝謝O大和G大!




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