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

vinney

New member
Joined
Feb 22, 2005
Messages
4
Reaction score
0
Age
51
Задача:
VBA Excel: В одну книгу консолидировать данные с двух других

Ниже часть кода:
Code:
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

--------------------
Code:
SourceR = Range(Cells(1, 1), Cells(Max, 255))

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

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

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

Я запутался.. Натолкните на мысль. ;(
 

i2s_

New member
Joined
Nov 14, 2009
Messages
3
Reaction score
0
попробуй .Worksheets(n1).Activate, если это компонент Application.Workbooks.Item(n)
 

Zevs

Member
Joined
Oct 2, 2005
Messages
220
Reaction score
77
Age
21
Я на днях на те же грабли наступил. Присвоения объектов надо делать оператором Set:
Code:
Set SourceR = Range(Cells(1, 1), Cells(Max, 255))
Без оного только простые типы данных: integer, long, string и т.д.
 
Top