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

时间:2016-10-24 16:41:23

标签: excel-vba vba excel

我正在根据假设,规则,政策等自动构建成本估算表

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

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!

我在整个O365套装和Windows 10操作系统中使用Excel 2016

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用ColumnWidth

Sub fjsh()
    TotalWidth = 17
    Sheets("Cost Estimate").Range("B:B").ColumnWidth = TotalWidth
End Sub

答案 1 :(得分:0)

对于那些偶然发现这篇文章的类似问题的人,请注意,即使所分配的值太大,即使语法正确也可能会出错。 $('#send').click(() => { let data = $('.form :input').serialize(); console.log(data); $('#response').html(data); $.ajax({ url: '/', type: 'post', data, success: function(data, textStatus, jQxhr) { $('#response').html(data); }, error: function(jqXhr, textStatus, errorThrown) { console.log(errorThrown); } }); }); 的单位不是以像素或厘米为单位,而是“ equal to the width of one character in the Normal style”。使用标准字体设置时,大于255的值将产生错误。范围在94到255之间的值会发出警告,提示列宽超过页面宽度。小于94的值将通过。