“无法设置 Range 类的 Width 属性”

1 excel vba

我正在致力于自动化构建成本估算表,基于假设、规则、政策等

一切顺利,直到我想自动设置列宽。这里有一个简短的蒸馏...

Dim NumCE As Integer
Dim TotalWidth As Integer

NumCE = 1
Sheets("Cost Estimate").Range("A:A").ColumnWidth = 17  'THIS WORKS

TotalWidth = 17
Sheets("Cost Estimate").Range("B:B").Width = TotalWidth / NumCE 'THIS PROVOKES THE ERROR MESSAGE
Sheets("Cost Estimate").Range("B:B").Width = TotalWidth 'THIS PROVOKES THE ERROR MESSAGE - AS DOES THIS!
Run Code Online (Sandbox Code Playgroud)

我正在整个 O365 捆绑包和 Windows 10 操作系统中使用 Excel 2016

有任何想法吗?

Ega*_*lth 7

对于那些遇到类似问题并偶然发现这篇文章的人,请注意,如果分配的值太大,即使语法正确,也可能会出现错误。

的单位ColumnWidth不是像素或厘米,而是:

等于普通样式中一个字符的宽度

使用标准字体设置:

  • 大于 255 的值将产生错误
  • 94 到 255 范围内的值会发出列宽超出页宽的警告
  • 小于 94 的值将通过