亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將代碼分配給動態創建的按鈕

將代碼分配給動態創建的按鈕

RISEBY 2019-07-31 09:24:48
將代碼分配給動態創建的按鈕我正在嘗試獲取一個我在excel userform表單上動態創建的按鈕來運行一個宏transfer,我在Module 1項目的“模塊”部分寫了這個宏。下面我已經粘貼了我迄今為止在userform中編寫的代碼,它實際上設法Transfer to Sheet在框架中創建按鈕(我也是動態創建的)但是出于某種原因,當我運行VBA時,我得到一條438 error消息說Object doesn't support this property or method。誰能告訴我怎么解決這個問題?這是代碼:Dim framecontrol1 As ControlSet workitemframe = Controls.Add("Forms.Frame.1")With workitemframe    .Width = 400     .Height = 400     .Top = 160     .Left = 2     .ZOrder (1)     .Visible = TrueEnd Withworkitemframe.Caption = "Test"Set framecontrol1 = workitemframe.Controls.Add("Forms.commandbutton.1")With framecontrol1    .Width = 100     .Top = 70     .Left = 10     .ZOrder (1)     .Visible = True     .Caption = "Transfer to Sheet"End Withframecontrol1.OnAction = "transfer"
查看完整描述

2 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

這是一個例子。請修改它以滿足您的需求:)


此示例將創建一個命令按鈕并為其分配代碼,以便在按下它時,它將顯示“Hello World”。


將此代碼粘貼到命令按鈕的單擊事件中,該按鈕將動態創建新的命令按鈕并為其分配代碼。


Option Explicit


Dim cmdArray() As New Class1


Private Sub CommandButton1_Click()

    Dim ctl_Command As Control

    Dim i As Long


    i = 1


    Set ctl_Command = Me.Controls.Add("Forms.CommandButton.1", "CmdXYZ" & i, False)


    With ctl_Command

        .Left = 100

        .Top = 100

        .Width = 255

        .Caption = "Click Me " & CStr(i)

        .Visible = True

    End With


    ReDim Preserve cmdArray(1 To i)

    Set cmdArray(i).CmdEvents = ctl_Command


    Set ctl_Command = Nothing


End Sub

并將此代碼粘貼到類模塊中


Option Explicit


Public WithEvents CmdEvents As MSForms.CommandButton


Private Sub CmdEvents_Click()


    MsgBox "Hello Word"


End Sub


查看完整回答
反對 回復 2019-07-31
  • 2 回答
  • 0 關注
  • 583 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號