首页 > 解决方案 > 在动态创建的工作表中创建动态按钮

问题描述

我已经在此工作表中动态创建了一个新工作表和 2 个新按钮(不是在用户窗体上),如何为这两个新按钮调用单击事件?

我只需要 2 个按钮并且我知道它们的名称,但是我无法将 button_click 代码放在 Microsoft Excel 对象中,因为它是动态创建的。我已经尝试创建一个类模块,但是我得到一个提示,该对象不支持自动化。

任何人都可以帮忙吗?

Set ws = ThisWorkbook.Sheets.Add
ws.Name = TableName

ws.Activate

 Set UploadButton = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)

  With UploadButton

    .Name = "UploadButton"
    .Object.Caption = "Upload"
    .Top = 0
    .Left = 0
    .Width = 100
    .Height = 20
    .Placement = xlMoveAndSize
    .PrintObject = True            'or false as per your taste

End With


Set CancelButton = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)

With CancelButton

    .Name = "CancelButton"
    .Object.Caption = "Cancel"
    .Top = 0
    .Left = 120
    .Width = 100
    .Height = 20
    .Placement = xlMoveAndSize
    .PrintObject = True            'or false as per your taste
End With

我想运行这个

    Private Sub UploadButton_Click()
    MsgBox "Co-Cooo!"
End Sub

标签: excelvba

解决方案


推荐阅读