Я разрабатываю макрос, который будет копировать и сортировать данные с помощью ключа, а затем вставлять 2 столбца перед обоими листами в vba. Я начал писать код, и он работал хорошо до сих пор, но когда я пытаюсь вставить 2 столбца, он дает мне ошибку Select method of Range class failed
в строке: Sheet2.Columns("A:A").Select
Я смущен, почему это происходит. Любая помощь будет принята с благодарностью.Excel vba sorting macro
Sub crossUpdate()
Dim rng1 As Range, rng2 As Range, rng1Row As Range, rng2Row As Range, Key As Range, match As Integer
'Unhide and Unfilter columns and rows on original sheet
Sheet1.Cells.EntireColumn.Hidden = False
Sheet1.Cells.EntireRow.Hidden = False
Sheet1.Cells.AutoFilter
'Copy and paste original sheet to new temp sheet
Sheet1.Cells.Select
Selection.Copy
Sheets.Add.Name = "SourceData"
ActiveSheet.Paste
Range("A1").Select
'Sort temp sheet by key
N = Cells(Rows.Count, "A").End(xlUp).row
Set rng1 = Sheets("SourceData").Cells.Range("A2:A" & N)
Set rng1Row = rng1.EntireRow
rng1Row.Sort Key1:=Sheets("SourceData").Range("A1")
'Unhide and Unfilter columns and rows on original sheet
Sheet2.Cells.EntireColumn.Hidden = False
Sheet2.Cells.EntireRow.Hidden = False
Sheet2.Cells.AutoFilter
'Update sheet sorted by key
N = Cells(Rows.Count, "A").End(xlUp).row
Set rng2 = Sheets("Sheet2").Cells.Range("A2:A" & N)
Set rng2Row = rng2.EntireRow
rng2Row.Sort Key1:=Sheets("Sheet2").Range("A1")
Sheet2.Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Sheets("SourceData").Columns("A:A").Select
Selection.Insert Shift:=xlToRight
End Sub