Excel 2007 VBA添加按钮的步骤
我正在尝试编写一些代码,自动将按钮放入工作表中,当单击按钮时,它将执行一些代码。我根据我在《Excel 2013用VBA进行Power编程》(第896页)一书中看到的示例编写了代码。我正在使用Excel2007,但不确定它是否重要。无论如何,我将代码修改为:Excel 2007 VBA添加按钮的步骤,vba,excel,button,activex,Vba,Excel,Button,Activex,我正在尝试编写一些代码,自动将按钮放入工作表中,当单击按钮时,它将执行一些代码。我根据我在《Excel 2013用VBA进行Power编程》(第896页)一书中看到的示例编写了代码。我正在使用Excel2007,但不确定它是否重要。无论如何,我将代码修改为: *Sub AddButtonAndCode() Dim NewButton As OLEObject Dim NewSheet As Worksheet Set NewSheet = Worksheets("Sheet1")
*Sub AddButtonAndCode()
Dim NewButton As OLEObject
Dim NewSheet As Worksheet
Set NewSheet = Worksheets("Sheet1")
Set NewButton = NewSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=5, Top:=5, Height:=25, Width:=100)
Code = "Sub CommandButton1_Click()" & vbCrLf
Code = Code & " MsgBox ""???""" & vbCrLf
Code = Code & "End Sub"
With ActiveWorkbook.VBProject.VBComponents(NewSheet.Name).CodeModule
NextLine = .CountOfLines + 1
.InsertLines NextLine, Code
End With
End Sub*
它适用于按钮部分,但在我添加了下面定义按钮的部分后,它给了我错误“下标超出范围”
有谁能帮我找出里面出了什么问题吗
多谢各位 您的代码对我来说很有用,但需要做一些调整
Sub AddButtonAndCode()
Dim NewButton As OLEObject
Dim NewSheet As Worksheet, Code As String
Dim nextline As Long
Set NewSheet = Worksheets("Sheet1")
Set NewButton = NewSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Left:=5, Top:=5, Height:=25, Width:=100)
NewButton.Name = "CommandButton1" '<<<<<<<<< ensure correct name
Code = "Sub CommandButton1_Click()" & vbCrLf
Code = Code & " MsgBox ""???""" & vbCrLf
Code = Code & "End Sub"
'Use NewSheet.CodeName not NewSheet.Name
With ActiveWorkbook.VBProject.VBComponents(NewSheet.CodeName).CodeModule
nextline = .CountOfLines + 1
.InsertLines nextline, Code
End With
End Sub
Sub addButton和code()
将新按钮设置为对象
将新闻单变暗为工作表,代码为字符串
昏暗的下一条线一样长
设置新闻表=工作表(“表1”)
Set NewButton=NewSheet.OLEObjects.Add(类类型:=“Forms.CommandButton.1”_
左=5,顶=5,高=25,宽=100)
NewButton.Name=“CommandButton1”'它可以工作!谢谢!现在我要展开代码部分…希望它仍然有效…其他问题:如何将其转换为外接程序,以便在任何工作簿上运行它来放置按钮?