以下のコードを使用してワークブックを開き、開いたワークブック (nb) の行からすべての重複を削除する必要があります。
Dim nb As Workbook, tw As Workbook, ts As Worksheet
a = Application.GetOpenFilename
If a = False Or IsEmpty(a) Then Exit Sub
With Application
.ScreenUpdating = False
End With
Set tw = ThisWorkbook
Set ts = tw.ActiveSheet
Set nb = Workbooks.Open(a)
これを機能させるためにさまざまな方法を試しましたが、ワークブックでこれを呼び出すための基本的な部分が欠けているようです。424 Object Required エラーが発生します。
'Remove duplicates
Dim r As Range
c = nb.ActiveSheet.UsedRange.Rows.Count
LR = c - 1
Set r = nb.ActiveSheet.Range("A8:H" & LR)
r.RemoveDuplicates Columns:=Array(1), Header:=xlNo
エラー (424 オブジェクトが必要) が表示される行は、次のとおりです。
r.RemoveDuplicates Columns:=Array(1), Header:=xlNo
rが範囲だからだと思いますが、特定のワークブックに設定されていないので、
オブジェクト r を見ると、間違ったワークブックのシートにシートになっています。ここでrを外部ワークブックとして明示的にマークしているため、理由がわかりません
Set r = nb.ActiveSheet.Range("A8:H" & LR)