Попытка создать макрос, который будет выполняться нажатием кнопки на назначенном рабочем листе, а не на активном рабочем листе. Мне удалось выполнить копирование и вставку, но поскольку макрос работает для сортировки команд столбцов, я получаю сообщение об ошибке «400» Mircosoft VBA. Нет ошибки отладки, и ни одна строка не помечена ошибкой. Я пробовал тот же код в Microsoft 2007 и 2016, думая, что это проблема с версией, но работает так же. Любое направление будет с благодарностью.
Sub GUIDataExtract()
'Copy and paste data from "LOG PALLET RPT CART-" and then sorts and removes duplicates
'Macro is assigned to button for user to update
Dim wksSource As Worksheet, wksDest As Worksheet
Dim rngSource As Range, rngDest As Range
Set wksSource = ThisWorkbook.Worksheets("GUI")
Set wksDest = ThisWorkbook.Worksheets("GUI PIVOT")
'Copy First Range of Data
Set rngSource = wksSource.Range("A:A")
'Paste Values First Range of Data
Set rngDest = wksDest.Range("A:A")
rngSource.Copy
rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Sort First Data Range
wksDest.Sort.SortFields.Clear
wksDest.Sort.SortFields.Add Key:=Range("A2:B133336"), SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With wksDest.Sort
.SetRange Range("A1:B133336")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Remove Duplicates in Data Range
wksDest.Range("$F$1:$K$133336").RemoveDuplicates Columns:=Array(1, 6), Header:=xlYes
End Sub