excel VBA尝试更改按钮的属性,获得运行时错误434

时间:2016-07-01 13:09:57

标签: excel vba excel-vba

我正在构建一个整洁的(或希望至少是有用的)excel模板供其他人使用。不要打扰你有关它的更多细节...

但是,我试图锁定一些按钮来覆盖整个单元格,单击时会改变颜色。但是当我在另一台计算机上打开它时,确切的大小有点不同,所以在Workbook_Open中我试图设置按钮的宽度,由于某些原因,只有少数几个允许我这样做..

所有按钮都是activeX按钮,根据我的说法应该完全相同。

Private Sub Workbook_Open()
   
    ' Yellow/green buttons
    ActiveWorkbook.Worksheets(1).CommandButton1.Width = Range(Cells(16, 6), Cells(16, 6)).Width
    ActiveWorkbook.Worksheets(1).CommandButton2.Width = Range(Cells(21, 6), Cells(21, 6)).Width
    ActiveWorkbook.Worksheets(1).CommandButton3.Width = Range(Cells(32, 6), Cells(32, 6)).Width
    '''ActiveWorkbook.Worksheets(1).CommandButton4.Widht = Range(Cells(33, 6), Cells(33, 6)).Width / 3
    '''ActiveWorkbook.Worksheets(1).CommandButton5.Widht = Range(Cells(33, 6), Cells(33, 6)).Width / 3
    '''ActiveWorkbook.Worksheets(1).CommandButton6.Widht = Range(Cells(33, 6), Cells(33, 6)).Width / 3
    '''ActiveWorkbook.Worksheets(1).CommandButton7.Widht = Range(Cells(35, 6), Cells(35, 6)).Width
    ActiveWorkbook.Worksheets(1).CommandButton8.Width = Range(Cells(47, 6), Cells(47, 6)).Width
    ActiveWorkbook.Worksheets(1).CommandButton9.Width = Range(Cells(48, 6), Cells(48, 6)).Width
    ActiveWorkbook.Worksheets(1).CommandButton10.Width = Range(Cells(49, 6), Cells(49, 6)).Width / 2
    '''ActiveWorkbook.Worksheets(1).CommandButton11.witdh = Range(Cells(49, 6), Cells(49, 6)).Width / 2

End sub

带有'''的行是返回的按钮 “错误434对象不支持此方法或属性”

1 个答案:

答案 0 :(得分:0)

拼写很重要;)

'''ActiveWorkbook.Worksheets(1).CommandButton4.Widht = Range(Cells(33, 6), Cells(33, 6)).Width / 3
'''ActiveWorkbook.Worksheets(1).CommandButton5.Widht = Range(Cells(33, 6), Cells(33, 6)).Width / 3
'''ActiveWorkbook.Worksheets(1).CommandButton6.Widht = Range(Cells(33, 6), Cells(33, 6)).Width / 3
'''ActiveWorkbook.Worksheets(1).CommandButton7.Widht = Range(Cells(35, 6), Cells(35, 6)).Width

尝试与宽度交换 Widht

顺便说一下对象不支持这个属性或方法是一个很大的赠品。无论何时出现此错误,请检查调用的方法和变量的名称。很可能你拼错了一个。