如果任何小区被点击片运行之前宏将不正确地执行

问题描述 投票:-1回答:1

我创建了一个简单的宏格式化的报告。

如果我打开文件,不要点击活跃的电子表格的任意单元格或任何地方,然后运行宏,宏执行完美,

如果我打开文件,并甚至点击,宏不会自动调整我的第一行和列。从字面上看点击,我的成绩都没有实现。

我需要解决这个问题。我不知道这是否是由于选择或如果它是一个活动工作表的问题。

'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 
excel vba excel-2010 excel-vba-mac
1个回答
0
投票

此块看起来我错了:

'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:公司”)将是相对于你碰巧哪个小区点击,而不是从工作表的原点开始)

© www.soinside.com 2019 - 2024. All rights reserved.