Excle VBA: Runtime 1004, используя Union, чтобы добавить диапазон к ранее существующему диапазону (они находятся на одном листе!)

Excel VBA: я пытаюсь добавить диапазон в уже существующий диапазон, используя Application.Union. Каждый раз, когда Союз делает попытку, я получаю ошибку времени выполнения 1004. Кикер состоит в том, что диапазоны находятся на одном листе, поэтому я не понимаю.

Магия происходит в блоке IF внутри вложенного цикла FOR. Я включил немного больше кода для контекста. Любая помощь будет принята с благодарностью!

Пример кода:

'--------------------------------------- 'Get range of battle1 IDs from Sessions '--------------------------------------- Dim ws As Worksheet: Set ws = objSessionsWB.ActiveSheet Set rngBattleIDs = ws.Range("E3", ws.Range("E3").End(xlDown)) '--------------------------------------------------------- 'Get range of battles from Battles that match battle1 IDs '--------------------------------------------------------- Set ws = objBattlesWB.ActiveSheet Dim rngBattleStats As Range Dim bRow As Range For Each battle In ws.Range("A3", ws.Range("A3").End(xlDown)) For Each battleID In rngBattleIDs If battleID.Value = battle.Value Then 'Get row containing battle1 info Set bRow = ws.Range(battle.End(xlToLeft), battle.End(xlToRight)) 'Use Union to add additional rows to range If rngBattleStats Is Nothing Then Set rngBattleStats = bRow Else Set rngBattleStats = Union(rngBattleStats, bRow) End If End If Next Next 

Похоже, проблема была вне сферы моего вопроса. Сценарий запускается в рабочей книге1, но диапазоны, с которыми я работаю, находятся в рабочей книге2. Решение заключалось в том, чтобы запустить Union из рабочей книги2:

 Set rngBattleStats = workbook2.Application.Union(rngBattleStats, bRow) 
Давайте будем гением компьютера.