Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4696|回复: 4

[已解决]有没什么什么代码可以一键设置表中所有工作薄的列宽行高为统一格式?

[复制链接]
发表于 2015-1-25 11:29 | 显示全部楼层 |阅读模式
本帖最后由 alxixi520 于 2015-1-25 12:30 编辑

问题如题:求助:如何使用VBA一键设置所有工作薄中有数据的列宽、行高为统一指定的格式?
比如要求所有A:S列指定列宽为6.5、T列为8,所有行高为25
如图:
最佳答案
2015-1-25 11:47
  1. Sub Macro1()
  2. Dim i%, j%, k&
  3. For i = 1 To Sheets.Count
  4.     With Sheets(i)
  5.         For j = 1 To 19
  6.             .Cells(1, j).EntireColumn.ColumnWidth = 6
  7.         Next
  8.          .Cells(1, 20).EntireColumn.ColumnWidth = 8
  9.         For k = 1 To .UsedRange.Rows.Count
  10.             .Cells(k, 1).EntireRow.RowHeight = 25
  11.         Next
  12.     End With
  13. Next
  14. End Sub
复制代码
9.png

相关帖子

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2015-1-25 11:45 | 显示全部楼层
求指教!所有工作薄都以“总公司201401薪资表”为标准设置!
在线等答!

工资总表.rar

111.12 KB, 下载次数: 6

求指教

回复

使用道具 举报

发表于 2015-1-25 11:47 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro1()
  2. Dim i%, j%, k&
  3. For i = 1 To Sheets.Count
  4.     With Sheets(i)
  5.         For j = 1 To 19
  6.             .Cells(1, j).EntireColumn.ColumnWidth = 6
  7.         Next
  8.          .Cells(1, 20).EntireColumn.ColumnWidth = 8
  9.         For k = 1 To .UsedRange.Rows.Count
  10.             .Cells(k, 1).EntireRow.RowHeight = 25
  11.         Next
  12.     End With
  13. Next
  14. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-1-25 11:55 | 显示全部楼层
dsmch 发表于 2015-1-25 11:47

非常感谢  dsmch   提供的答案。
能否帮我将下面的代码合并到一起,并且增加个所有的单元格居中自动换行显示呢?
Sub test()
    Dim sh
    For Each sh In Worksheets
        Application.PrintCommunication = False
        sh.PageSetup.PrintTitleRows = "$1:$1"
        Application.PrintCommunication = True
    Next
End Sub
Sub Macro1()
Dim i%, j%, k&
For i = 1 To Sheets.Count
    With Sheets(i)
        For j = 1 To 18
            .Cells(1, j).EntireColumn.ColumnWidth = 6.5
        Next
         .Cells(1, 19).EntireColumn.ColumnWidth = 9
        For k = 1 To .UsedRange.Rows.Count
            .Cells(k, 1).EntireRow.RowHeight = 25
        Next
    End With
Next
End Sub
回复

使用道具 举报

发表于 2015-1-25 12:16 | 显示全部楼层
Dim sh
    For Each sh In Worksheets
        Application.PrintCommunication = False
        sh.PageSetup.PrintTitleRows = "$1:$1"
        Application.PrintCommunication = True
    Next
直接放在我的代码后就行了,居中自动换行,自己录制宏试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 05:18 , Processed in 0.312219 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表