尝试让宏工作在工作簿中的所有工作表上 我想要 将选择复制到同一工作表中的单独位置,但仅粘贴值。
然后根据第一列在新位置对选择进行排序。
这就是我所拥有的
Sub SortALLsheets()
Dim wsheet As Worksheet
For Each wsheet In ActiveWorkbook.Worksheets
Sheets(wsheet.Name).Select
Range("AJ4:AK1732").Select
Selection.Copy
Range("AP4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("AP4:AQ1732").Select
WS.Sort.SortFields.Add Key:=Range("AP4:AP1732"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With WS.Sort
.SetRange Range("AP4:AQ1732")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next wsheet
End Sub
我在Ws.sort行上出现错误
所有援助都非常适合 谢谢 罗纳德
答案 0 :(得分:1)
excel宏中很少需要选择。试试这个更新。
Sub SortALLsheets()
Dim wsheet As Worksheet
For Each wsheet In ActiveWorkbook.Worksheets
wsheet.Range("AP4:AQ1732").value=wsheet.Range("AJ4:AK1732").value
wsheet.Sort.SortFields.Add Key:=wsheet.Range("AP4:AP1732"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With wsheet.Sort
.SetRange wsheet.Range("AP4:AQ1732")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next wsheet
End Sub