Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vba excel更改动态创建的滚动条的背景色_Excel_Vba - Fatal编程技术网

vba excel更改动态创建的滚动条的背景色

vba excel更改动态创建的滚动条的背景色,excel,vba,Excel,Vba,我一直在试图改变程序创建的滚动条的背景色。我可以创建控件,但得到错误: 438 error of object not supporting the property or method 代码如下: Private Sub CommandButton1_Click() Set s = ScrollBars.Add(630, 220, 220, 38) '(left,top,width,height) s.BackColor = RGB(100, 100, 100) 'error

我一直在试图改变程序创建的滚动条的背景色。我可以创建控件,但得到错误:

438 error of object not supporting the property or method
代码如下:

Private Sub CommandButton1_Click()
    Set s = ScrollBars.Add(630, 220, 220, 38) '(left,top,width,height)
    s.BackColor = RGB(100, 100, 100) 'error happens here
End Sub

嗯,也许我可以更具体地回答我的问题。无论如何,我需要设置通过编程创建的ActiveX滚动条的颜色。以下是我的想法,它是有效的:

子自定义滚动条

ActiveSheet.OLEObjects.AddClassType:=Forms.ScrollBar.1,Link:=False_ DisplayAsIcon:=假,左:=300,顶:=225,宽:=10,高:=_ 60.选择

Selection.ShapeRange.SCALEWITH 10,msoFalse,MSOSCALE从左上角 Selection.shaperage.ScaleHeight 2,msoFalse,MSOSCALE从左上角

ActiveSheet.OLEObjectsScrollBar1.Object.BackColor=&HC00000


End Sub

如果您询问自己创建的ActiveX滚动条,请右键单击它,因为这不是递归操作。但是,BackColor属性将更改滚动条的所有组件,而不仅仅是滑块拇指。如果您使用的是表单滚动条,我不相信您可以更改颜色。