【发布时间】:2017-05-01 03:49:46
【问题描述】:
我有一个宏可以更改我的 excel 工作簿中所有工作表的列宽和行高,但是,此宏不会更改隐藏的行和列。
请建议我应该如何修改我的代码,以便它应该改变隐藏行和列的列宽和行高并保持隐藏?
Sub rowcolactivesheetb()
Dim exworkb As Workbook
Dim xlwksht As Worksheet
Dim lastrow1 As Long
Dim lastcolumn1 As Long
Dim firstrowDB As Long
With ActiveSheet
lastrow1 = .Cells(Rows.Count, "A").End(xlUp).Row
lastcolumn1 = .Cells(1, Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 1), .Cells(lastrow1, lastcolumn1)).Select
With Selection.SpecialCells(xlCellTypeVisible)
.ColumnWidth = 10.2
.RowHeight = 9.4
End With
End With
End Sub
编辑
我已经在下面实现了 Wolfie 的方法,但现在得到了
运行时错误 91,对象变量或未设置块变量。
在这一行:
' Z is a number, my loop variable for looping over each sheet
rng = ActiveWorkbook.Sheets(Z).Range(Sheets(Z).Cells(1, 3), Sheets(Z).Cells(lastrow1, lastcolumn1))
【问题讨论】:
-
如果您编辑隐藏的行和列,它们将变得可见,因此您需要再次隐藏它们
-
这是主要问题,可以通过应用任何更改行宽和高度并再次隐藏的代码来自动隐藏它
-
在我的excel表中,除了隐藏的行和列之外,还有分组的行和列,以及是否可以修改我的代码以使其适用于分组的行和列(如果不是隐藏的行和列)