Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA基于特定范围的自动拟合?_Vba_Excel - Fatal编程技术网

Excel VBA基于特定范围的自动拟合?

Excel VBA基于特定范围的自动拟合?,vba,excel,Vba,Excel,我可以使用Range(“A3:D9”).entireclumn.AutoFit根据每列A:D 但是,Range(“A3:D9”).AutoFit不起作用-我想我理解为什么,AutoFit是一种仅适用于EntireClumn的方法我想 是否有办法使其正常工作-使用AutoFit根据我的范围内每列的最大列宽而不是整列来固定列宽?来自: 范围对象必须是行或行范围,或列或列范围。否则,此方法将生成错误 因此,仅针对特定区域自动调整列/行的解决方案是使用: Range("A3:D9").Columns.A

我可以使用
Range(“A3:D9”).entireclumn.AutoFit
根据每列
A:D

但是,
Range(“A3:D9”).AutoFit
不起作用-我想我理解为什么,AutoFit是一种仅适用于EntireClumn的方法我想

是否有办法使其正常工作-使用AutoFit根据我的范围内每列的最大列宽而不是整列来固定列宽?

来自:

范围对象必须是行或行范围,或列或列范围。否则,此方法将生成错误

因此,仅针对特定区域自动调整列/行的解决方案是使用:

Range("A3:D9").Columns.AutoFit
Range("A3:D9").Rows.AutoFit
此代码:

Range("A3:D9").AutoFit
不指定是否应调整列或行。它可能会同时调整这两种语言,但语言的设计者决定抛出一个错误

来自:

范围对象必须是行或行范围,或列或列范围。否则,此方法将生成错误

因此,仅针对特定区域自动调整列/行的解决方案是使用:

Range("A3:D9").Columns.AutoFit
Range("A3:D9").Rows.AutoFit
此代码:

Range("A3:D9").AutoFit

不指定是否应调整列或行。它可能会同时调整这两种语言,但语言的设计者决定抛出一个错误

你试过手动操作吗?测试这些单元格中最长的字符串,然后在此基础上调整列宽?您可以在每个单元格中循环查找最大长度或使用公式?或者将相关单元格复制到另一张纸上,在那里自动调整并找到结果宽度。尝试
Range(“A3:D9”)。Columns.autofit
,这样您希望A:D列的宽度彼此相同,并且宽度取决于A:D列中最大的列宽?大家都有有趣的想法,但我试过“布拉克尼库”,效果很好。请把这个作为答案,这样我就可以接受了而且不是完全相同的斯科特-彼此的宽度不同,每一列的宽度都与该列范围内的最大宽度相同,而不是整个列宽您是否尝试过手动执行此操作?测试这些单元格中最长的字符串,然后在此基础上调整列宽?您可以在每个单元格中循环查找最大长度或使用公式?或者将相关单元格复制到另一张纸上,在那里自动调整并找到结果宽度。尝试
Range(“A3:D9”)。Columns.autofit
,这样您希望A:D列的宽度彼此相同,并且宽度取决于A:D列中最大的列宽?大家都有有趣的想法,但我试过“布拉克尼库”,效果很好。请把这个作为答案,这样我就可以接受了也不是特别的Scott-彼此的宽度不同,每列的宽度与列范围内的最大宽度相同,而不是整个Recolumngreat解决方案,完美答案,描述良好伟大的解决方案,完美答案,描述良好