Попытка заставить макрос работать на всех листах в рабочей книге Я хочу, чтобы Скопируйте выделение в отдельное место на том же листе, но вставьте только значения.Excel макрос для работы на всех листах в рабочей книге
Затем сортируйте выбор в новом месте на основе первого столбца.
Это то, что у меня есть
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
Вся помощь очень appriciated благодаря Ronald
Какая ошибка возникает у вас? Пожалуйста, уточните – Mike
'WS.SORT' - где размер' WS'? Вы уверены, что это не должно быть 'wsheet.Sort'? –
также обратите внимание, что значения копирования так же просто, как 'Sheets (« SheetWhereYouWantToPasteName »). Диапазон (« A1 ») = Лист (« SheetToGetDataFrom »). Диапазон (« A1 »)' –