Sub Colum_Edit()
Dim class
Dim LastRow
Dim i, j
Dim xxx

i = 1

With Worksheets("列順指定シート")
  LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
  class = .Range("A1:A" & LastRow)
End With

 
With Worksheets(2)
On Error GoTo myError
    For Each xxx In class
    '↓並べ替え対象csvの1行目を探して、一致する列名が何列目にあるのかをjに返す
    j = WorksheetFunction.Match(xxx, .Rows(1), 0)
        If i <> j Then
            Worksheets(2).Activate
            .Columns(j).Select
             Selection.Cut
            .Columns(i).Insert Shift:=xlToRight
        End If
        i = i + 1
    Next xxx


End With



Exit Sub

 
myError: MsgBox "WorkSheet5の" & "行に" & xxx & "が存在しません"


'★2021.3.4 列入れ替え処理後、それより右の列を削除する処理を追加
'MsgBox (i)
Worksheets(2).Activate
With Worksheets(2)
    .Range(.Columns(i), .Columns(i + 100)).Delete
End With

'★2021.3.4 追加ここまで
  
End Sub