从VBA自定义ActiveX按钮
我制作了一段代码,当你点击一个按钮时,复制一张工作表,将其格式化,然后添加一个新的按钮,并为其指定不同的宏 我的问题是,我的两个按钮都是灰色的,我想定制它们 第一个按钮是Excel控件元素,始终显示在原始工作表上。我已经改变了字体,字体大小,下划线,并使其加粗,通过右键点击它,并进入格式化菜单,但我找不到改变其背景颜色的选项 第二个按钮是通过VBA创建的,是一个ActiveX按钮。添加它的代码如下所示从VBA自定义ActiveX按钮,vba,excel,Vba,Excel,我制作了一段代码,当你点击一个按钮时,复制一张工作表,将其格式化,然后添加一个新的按钮,并为其指定不同的宏 我的问题是,我的两个按钮都是灰色的,我想定制它们 第一个按钮是Excel控件元素,始终显示在原始工作表上。我已经改变了字体,字体大小,下划线,并使其加粗,通过右键点击它,并进入格式化菜单,但我找不到改变其背景颜色的选项 第二个按钮是通过VBA创建的,是一个ActiveX按钮。添加它的代码如下所示 Sub TilføjKnap() Dim Plads As Range Dim Knap As
Sub TilføjKnap()
Dim Plads As Range
Dim Knap As OLEObject
Dim Kode As String
Sheets("Indleveringsplan (2)").Activate
Set Plads = ActiveSheet.Range("L7:N17")
Set Knap = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False)
With Knap
.Name = "EksportKnap"
.Object.Caption = "Eksporter til PDF"
.Left = Plads.Left + 10
.Top = Plads.Top
.Width = Plads.Width - 10
.Height = Plads.Height
.PrintObject = False
End With
Kode = "Private Sub EksportKnap_Click()" & vbNewLine
Kode = Kode & "Call Eksporter" & vbNewLine
Kode = Kode & "End Sub"
With ActiveWorkbook.VBProject.VBComponents(Worksheets("Indleveringsplan (2)").CodeName).CodeModule
.InsertLines .CountOfLines + 1, Kode
End With
End Sub
我假设我需要在Knap中添加一些背景色,但我无法让它工作
话虽如此,我还想在文本下面加下划线,更改其字体和字体大小,并将其加粗。OleObject封装了
命令按钮
,并通过.Object
so.Object.BackColor=vbRed
公开其界面
您可以使用类型化变量来获取intellisense:
Dim Button As CommandButton
With Knap
Set Button = .Object
With Button
.Caption = "Eksporter til PDF"
.BackColor = vbRed
.Font.Underline = True
...
End With
...
End With
backcolor是否有帮助?
OleObject
封装了CommandButton
,并通过.Object
so.Object.backcolor=vbRed
和.Object公开了它的界面xxx
Adding.BackColor=RGB(255,0,0)在中导致运行时错误“438”对象不支持此属性或方法@Alex K。这很有效,可爱。你能把它作为一个答案,这样我就可以结束这个问题了吗?