Наши преимущества

VBA Excel: В одну книгу консолидировать данные с двух других

vinney

Турист
Credits
0
Задача:
VBA Excel: В одну книгу консолидировать данные с двух других

Ниже часть кода:
Код:
Dim SourceR As Range
Dim TargetR As Range

Private Sub SourceSheets_Click()
TownBox.Clear
Workbooks.Item(SourceListBox.ListIndex + 1).Activate
n = SourceListBox.ListIndex + 1
n1 = SourceSheets.ListIndex + 1
    With Application.Workbooks.Item(n)
        Worksheets(n1).Activate
        SourceR = Range(Cells(1, 1), Cells(Max, 255))  
    End With

End Sub

--------------------
Код:
SourceR = Range(Cells(1, 1), Cells(Max, 255))

Вот тут возникает ошибка, что 91, что SourceR "Object Variable or With block variable not set"
Как правильнее описать или обращаться к переменной SourceR

Идея, выражаясь словами других языков такова:

В секции Public описАть переменные SourceR и TargetR типа Range.
Они будут относится к разным книгам.
Требуется перетаскивать данные из одной в другую.

Я запутался.. Натолкните на мысль. ;(
 
попробуй .Worksheets(n1).Activate, если это компонент Application.Workbooks.Item(n)
 
Я на днях на те же грабли наступил. Присвоения объектов надо делать оператором Set:
Код:
Set SourceR = Range(Cells(1, 1), Cells(Max, 255))
Без оного только простые типы данных: integer, long, string и т.д.
 
Верх