Re: не работает копи-паст(VBA)
От: Vi2 Удмуртия http://www.adem.ru
Дата: 23.09.10 16:32
Оценка:
Здравствуйте, fedomax, Вы писали:

F>Я новичок в VB и у меня не работает код. Пишет ошибку №9(Subscript out of range). не могу понять как исправить.

F>Application.DisplayAlerts = False
F>    Application.Workbooks.Open (path)
F>        Application.ActiveWorkbooks(path).Sheets(1).Range("A1:H147").Copy 'пишет, что здесь ошибка
F>        Application.Workbooks(ipath).Sheets(strNameSh).Range("A1:H147").Paste
F>            Application.ActiveWorkbooks(path).Close


"Subscript out of range" означает, что ты обращаешься к несуществующему элементу коллекции или массиву. Какая коллекция или массив отвергает — это можно определить, упростив выражения в строке. И действовать по обстоятельствам.
Set a = Application.ActiveWorkbooks(path)
Set b = a.Sheets(1)
Set c = b.Range("A1:H147")
c.Copy

With Application.ActiveWorkbooks(path)
    With .Sheets(1)
        With .Range("A1:H147")
            .Copy
        End With
    End With
End With

Скорее всего, сбивается первая коллекция. ЕМНИП, там нужно указывать просто имя файла, без пути.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.