[算表] 在excel新增按鈕並指定事件

看板Office作者 (eton)時間7年前 (2016/12/29 14:15), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
軟體: excel 版本: 2007 哈囉~ 我想在excel裡面用vba新增按鈕 並且指定click時的動作 目前找到用class還有用程式加code的方法 打算用class來做 可是目前遇到一點問題 只要在程式裡增加按鈕,class就連不到按鈕上 只要不新增按鈕,就可以把原先就存在的按鈕指定click 程式碼如下: ======sheet1============================== Dim tbCollection As Collection Sub InitializePDRInput() Set object1 = Worksheets(1).OLEObjects.Add(ClassType:="Forms.CommandButton.1") '就是這行 Dim myObj As OLEObject Dim obj As clsPDRInput Set tbCollection = New Collection For Each myObj In Worksheets(1).OLEObjects If TypeName(myObj.Object) = "CommandButton" Then Set obj = New clsPDRInput Set obj.inputObj = myObj.Object tbCollection.Add obj End If Next myObj End Sub =====class clsPDRinput========================== Public WithEvents inputObj As MSForms.CommandButton Private Sub inputObj_click() MsgBox "Change!" End Sub ============================================ 另外想問有沒有在新增一個按鈕的時候 就直接指定click的事件 而不是加完之後再把全部按鈕掃一次的方法呢? 謝謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.222.81.253 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1482992159.A.EA4.html

12/29 17:08, , 1F
新增時加上事件有查到 https://goo.gl/fyKdny 試試
12/29 17:08, 1F

12/29 22:39, , 2F
這個方法好像就是直接在後面加程式碼,可是覺得多執行
12/29 22:39, 2F

12/29 22:39, , 3F
幾次檔案就會變長,所以才想用class的方式這樣
12/29 22:39, 3F
文章代碼(AID): #1OPAeVwa (Office)