返回列表 上一主題 發帖

圖案指定巨集

圖案指定巨集

插入一個圖案後,可以指定它的執行巨集,但好像只能指定 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 替換掉,這個圖案的巨集該如何指定?
Jess

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

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

Sub Ex()
    Sheet1.Shapes(1).OnAction = "Sheet1.CommandButton1_Click"
End Sub

TOP

本帖最後由 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這個巨集
可以這樣寫嗎?
Jess

TOP

本帖最後由 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
複製代碼

TOP

回復 4# GBKEE


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

TOP

選中Shapes,左上角的名稱方塊內輸入新的名稱。

TOP

回復 5# jesscc

TOP

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

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題