0
フォルダ内のすべてのワークブックをループするマクロを作成しようとしていて、それぞれが条件を満たす行の範囲の電子メールを送信します。マクロを実行すると、最初のファイルではこれが実行されますが、 "Set rng2 = Union(rng2、row)"という行を指して、オブジェクト '_Global'の "メソッド 'Union'にエラーが発生しました。以下は、関連するコードは次のとおりです。VBAメソッド '_Global'オブジェクトの 'Union'が失敗しました
Sub LoopThroughFiles()
Dim File As String
File = Dir("FilePath\")
While (File <> "")
Set WorkBk = Workbooks.Open("FilePath\" & File)
Dim rng As Range
Dim row As Range
Dim rng2 As Range
Dim strbody As String
Dim OutApp As Object
Dim OutMail As Object
Set rng = Range("B52:I200")
For Each row In rng.Rows
If row.Columns(7) >= Date Then
If Not rng2 Is Nothing Then
'Below is the line that gets the error
Set rng2 = Union(rng2, row)
Else
Set rng2 = row
End If
End If
Next
'Email code removed
WorkBk.Close savechanges:=True
File = Dir()
Wend
End Sub
任意の助けをいただければ幸いです!