Excel – 调整所有工作表中的列的大小

我在Excel工作簿中有52张表(每周1张)。 他们都有完全相同的表格,但是不同的价值(现金stream量)。 现在,由于单元格中的数字长度有所不同,因此在所有表单中,所有的列宽都不相同。 举个例子:

Sheet1, column A width = 100 pixels Sheet2, columb A width = 105 pixels Sheet1, column B width = 150 pixels Sheet2, column B width = 135 pixels ... so on 

我想达到的目标是使所有工作表中的所有列的宽度和高度完全相同。 但是,这必须基于来自所有表单的该列的最大值,而不仅仅是该表单。

我可以select所有表格,但接下来的步骤是我卡住的。 我能做些什么来调整一个特定的列或所有的列一次,到一个宽度,所以它显示了所有表中最大的价值组合。 举个例子:

 Sheet1, column A - based on its largest value, requires width of 120 pixels Sheet2, column A - based on its largest value, requires width of 140 pixels Sheet3, column A - based on its largest value, requires width of 100 pixels 

我想调整所有52张图表的所有列A到140个像素。

这样做的目的是,当它们被打印时,所有的52张纸将承载大小合适的表格。

这可以以任何方式自动完成吗?

如果您知道要使用多less列,请修改以下内容:

 For c = 1 To 20 '20 columns m = 0 'max width reset For Each w In Worksheets If w.columns(c).ColumnWidth > m Then _ m = w.columns(c).ColumnWidth Next w For Each w In Worksheets w.columns(c).ColumnWidth = m Next w Next 

要设置macros,请按Alt-F11,然后按Insert ,然后按Module 。 您可以将此代码粘贴到模块中,然后按F5运行macros。 testing之前保存你的工作!

可以通过find所有现有的所需列宽( =Cell("width",A1)等)来实现而不需要macros,合并为每列find最大值,然后分组和调整宽度以适合。

如果你不害怕macros,你可以这样做:

 For Each ws As WorkSheet In ActiveWorkbook.Worksheets ws.Columns.AutoFit Next ws