我在显式设置列宽方面遇到麻烦。
我尝试了以下操作,但仍然遇到与Application-defined or object-defined error
相同的错误:
Dim curr_ws As Worksheet
Set curr_ws = Worksheets("newsheet")
curr_ws.Range("B1").ColumnWidth = 342
curr_ws.Range("B").ColumnWidth = 342
curr_ws.Columns(2).ColumnWidth = 342
如果不清楚,我想将B列的宽度显式设置为342像素。
我对这是Range
对象还是Columns
对象的属性也感到困惑,因为在线示例与官方文档中显示的有所不同
答案 0 :(得分:0)
最后一个应该是正确的。这是因为不能为一个单元格更改列宽。因此,您必须使用“列对象”。我不知道您是否知道,但是您也可以在宏记录器的帮助下找到答案。我还为您提供使用内部vba工作表名称的建议,这可以使代码在更改工作表名称的过程中变得强大。
Sheets("tabel1").Columns("B").ColumnWidth = 342
如果此方法不起作用,请尝试以下操作:
Sheets("tabel1").Columns("B:B").ColumnWidth = 342
我希望这是一个适当的解决方案。