我创建了一个简单的宏格式化的报告。
如果我打开文件,不要点击活跃的电子表格的任意单元格或任何地方,然后运行宏,宏执行完美,
如果我打开文件,并甚至点击,宏不会自动调整我的第一行和列。从字面上看点击,我的成绩都没有实现。
我需要解决这个问题。我不知道这是否是由于选择或如果它是一个活动工作表的问题。
'Unmerge all Cells in Worksheet
ActiveSheet.Cells.UnMerge
'Delete Columns A1 thru D1
Range("A1:D1").EntireColumn.Delete
'Delete Rows A1 thru A9
Range("A1:A9").EntireRow.Delete
'Cut and Paste Cells
Range("A2").Cut Range("A1")
Range("G1").Cut Range("F1")
Range("P1").Cut Range("O1")
Range("AA1").Cut Range("Z1")
'Sort by Column A to Remove Extra Rows from View
Columns("A:AM").Sort key1:=Range("A:A"), order1:=xlAscending, Header:=xlYes
'Auto Fit Contents in Columns and Rows
ActiveCell.Columns("A:AG").EntireColumn.Select
ActiveCell.Columns("A:AG").EntireColumn.AutoFit
ActiveSheet.Rows.EntireRow.AutoFit
'Delete Empty Columns
Range("B:B, D:D, G:I, K:L, N:N, P:Q, T:V, X:Y, AA:AB, AD:AF").EntireColumn.Delete
'Remove Wrap Text from Cell B1
Range("B1").WrapText = False
'Autofit Contents of Columns
Range("A1:AF1").Columns.AutoFit
'Autofit Row A2 Contents
Range("A2:A2").Rows.AutoFit
'Save File As
Application.GetSaveAsFilename
此块看起来我错了:
'Auto Fit Contents in Columns and Rows
ActiveCell.Columns("A:AG").EntireColumn.Select
ActiveCell.Columns("A:AG").EntireColumn.AutoFit
ActiveSheet.Rows.EntireRow.AutoFit
尝试改变ActiveCell到ActiveSheet:
'Auto Fit Contents in Columns and Rows
ActiveSheet.Columns("A:AG").EntireColumn.Select
ActiveSheet.Columns("A:AG").EntireColumn.AutoFit
ActiveSheet.Rows.EntireRow.AutoFit
(由于您使用相对引用而不是绝对引用,ActiveCell.Columns(“A:公司”)将是相对于你碰巧哪个小区点击,而不是从工作表的原点开始)