如何使用ColumnWidth?

时间:2019-04-29 19:38:08

标签: excel vba

我在显式设置列宽方面遇到麻烦。

我尝试了以下操作,但仍然遇到与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对象的属性也感到困惑,因为在线示例与官方文档中显示的有所不同

1 个答案:

答案 0 :(得分:0)

最后一个应该是正确的。这是因为不能为一个单元格更改列宽。因此,您必须使用“列对象”。我不知道您是否知道,但是您也可以在宏记录器的帮助下找到答案。我还为您提供使用内部vba工作表名称的建议,这可以使代码在更改工作表名称的过程中变得强大。

Sheets("tabel1").Columns("B").ColumnWidth = 342

如果此方法不起作用,请尝试以下操作:

Sheets("tabel1").Columns("B:B").ColumnWidth = 342

我希望这是一个适当的解决方案。