【问题标题】:VBA create new workbook and create command button with code in itVBA 创建新工作簿并创建带有代码的命令按钮
【发布时间】:2017-11-10 10:14:23
【问题描述】:

早安

我正在尝试使用 Excel 文件中的命令按钮来自动执行以下操作:

  • 创建一个新工作簿(新的 excel 文件)
  • 在其中生成一个命令按钮
  • 包含带有代码的命令按钮(已经编程但未关联现有宏,它应该已经包含自己的代码)

所有这些操作都应该按照为第一个命令按钮编写的说明进行。

创建新文档没问题,但是在其中生成一个已经编程的命令按钮对我来说很难。

我是 vba 的初学者

非常感谢

【问题讨论】:

  • 你能告诉我们你到目前为止有什么吗?
  • 关于第 2 点和第 3 点我什么也没做,因为我不知道该怎么做

标签: vba excel commandbutton


【解决方案1】:

我发现这是为了让你开始。它会创建一个带有命令按钮的新工作表。您必须进行一些更改,但这对您来说是一个很好的起点。来自本网站的蒂姆·威廉姆斯。 Tim 是一位经验丰富的程序员!!

Sub wdlsinflow()

Dim sht As Worksheet
Dim Obj As Object
Dim Code As String
Dim cmod

Set sht = Sheets.Add(After:=Sheets(Sheets.Count))

With sht
    .Name = "blah"
    .Cells.Clear


    Set Obj = .OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
                           Link:=False, DisplayAsIcon:=False, Left:=200, _
                           Top:=100, Width:=100, Height:=35)

    Obj.Name = "ButtonTest" '<< name must match code below...
    Obj.Object.Caption = "Test Button"

    Code = "Sub ButtonTest_Click()" & vbCrLf & _
            "   Call Tester" & vbCrLf & _
            "End Sub"

    With .Parent.VBProject.VBComponents(.CodeName).CodeModule
        .insertlines .CountOfLines + 1, Code
    End With
End With

End Sub

【讨论】:

  • 谢谢米奇。但是现在,我应该在哪里写“ButtonTest”要执行的操作?我应该创建一个新的 Sub,我应该把它写在代码字符串中吗……不知道……谢谢
  • 添加一个模块,然后添加一个像 Sub Tester() 这样的子组件,然后添加您希望按钮执行的任何代码。当然,您可以更改任何名称以适应您的情况。
猜你喜欢
  • 1970-01-01
  • 2018-04-28
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 2018-04-08
相关资源
最近更新 更多