処理の中で一瞬だけ補助ワークシートを作って破棄する
たとえばワークシート関数のUnique()を使いたい時
Sub testin()
Dim arr: arr = Array("a", "a", "b", "b", "c")
With Sheets.Add
.Range("A1").Resize(UBound(arr) + 1) = WorksheetFunction.Transpose(arr)
arr = WorksheetFunction.Unique(.Range("A1").CurrentRegion)
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
二次元配列になっちゃう点だけ注意