Доброго времени суток!
Помогите пожалуйста! Я новичок в VB и у меня не работает код. Пишет ошибку №9(Subscript out of range). не могу понять как исправить.
Application.DisplayAlerts = False
Application.Workbooks.Open (path)
Application.ActiveWorkbooks(path).Sheets(1).Range("A1:H147").Copy 'пишет, что здесь ошибка
Application.Workbooks(ipath).Sheets(strNameSh).Range("A1:H147").Paste
Application.ActiveWorkbooks(path).Close
ipath(путь книги куда нужно копировать) задается во время определения формы
то есть по моим соображениям ipath будет создаваться тогда,когда будет открываться книга
Sub UserForm_Initialize()
ipath = ActiveWorkbook.path + "\Gisto.xlsm"
path(путь книги с которой нужно скопировать первый лист) задается так:
MsgBox "в указаном листе должен быть один лист"
Set fd = Application.FileDialog(3)
With fd
.AllowMultiSelect = False
.Show
' Отображает путь
If .SelectedItems.Count > 0 Then
Me.TextBox1.Value = .SelectedItems(1) 'записывает текст в строку
Else
Exit Sub
End If
End With
path = fd.SelectedItems(1) ' глобальной переменной присваивает путь
End Sub
Вроде все описал понятно.