1

我在 Excel 工作簿中有 52 张工作表(每周 1 张)。它们都有完全相同的表,但值不同(现金流)。现在,由于单元格中的数字长度不同,在所有工作表中,所有列宽都不同。例如:

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

我想要实现它使所有工作表中的所有列的宽度和高度完全相同。但这必须基于组合的所有工作表中该列的最大值,而不仅仅是该工作表。

我可以选择所有表格,但接下来的步骤是我坚持的。我可以做些什么来将特定列或所有列一次调整为宽度,以便它显示所有组合表中的最大值。例如:

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 张纸都将承载相同大小的表格。

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

4

3 回答 3

1

如果您知道要使用多少列,请调整以下内容:

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

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

于 2013-09-09T18:33:41.907 回答
1

通过查找所有现有的所需列宽(=Cell("width",A1)等),合并以找到每列的 MAX,然后分组和调整宽度以适应,可以在没有宏的情况下实现。

于 2013-09-09T19:14:02.477 回答
-1

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

For Each ws As WorkSheet In ActiveWorkbook.Worksheets
    ws.Columns.AutoFit
Next ws
于 2013-09-09T18:15:01.463 回答