我有一个可以在办公室计算机上使用的宏,但是当我在客户端计算机上运行它时,它不起作用并显示
错误438对象不支持此属性
标记这一行:
ActiveWorkbook.Worksheets("Hoja1").Sort.SortFields.Add2 Key:=Range("E2:E" & nFilas)
(我的excel版本是365,客户端是2013)
我尝试将Worksheets
的{{1}}更改为Sheets
的{{1}},但没有任何效果。
ActiveWorkbook
答案 0 :(得分:0)
将.Add2
更改为.Add
,我认为.Add2
是在更高的Excel版本中引入的。
我建议进行以下改进:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Hoja1")
ws.Range("$E$1:$G$" & nFilas).RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=ws.Range("E2:E" & nFilas), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange ws.Range("A1:X" & nFilas)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With