RemoveDuplicatesのメソッドは、行方向のみ機能し、列方向には機能しません。
一旦シートのデータを全部コピーして、新規のワークシートを作成して、
行列を入替して貼り付け。
そして、重複データの削除を行い、そのままコピー。
元のシートに戻って、行列を入替して、貼り付けすればいいのでは。
VBA
1Public Sub testA()
2
3 Dim ws As Worksheet
4
5 Worksheets("Sheet1").Select
6 Cells(1, 1).Select
7 ActiveCell.CurrentRegion.Copy
8 Set ws = Sheets.Add
9 ws.Cells(1, 1).Select
10 Selection.PasteSpecial Transpose:=True
11 ActiveCell.CurrentRegion.Select
12 ActiveCell.CurrentRegion.RemoveDuplicates Columns:=Array(1, 2, 3, 4), Header:=xlNo
13 Selection.Copy
14 Sheets("Sheet1").Select
15 Selection.PasteSpecial Transpose:=True
16
17 Application.DisplayAlerts = False
18 ws.Delete
19 Application.DisplayAlerts = True
20 Set ws = Nothing
21
22End Sub
23
ただし、RemoveDuplicatesメソッドの引数のColumnsに、配列の変数を指定するとエラーになって動きません。
もし、列が変動するのであれば、マクロでは操作せず、手作業で作業すべきと思います。
マクロで実行しても、手作業で実行しても、対して時間は変わりません。