Здравствуйте помогите сократить следующий макрос
Код |
---|
Sub Get_Value_From_Close_Book2()
Dim sShName As String, sAddress As String, vData
Dim objCloseBook As Object
'Отключаем обновление экрана
Application.ScreenUpdating = False
Set objCloseBook = GetObject("C:\Книга12.xlsm")
sAddress = "G8" 'или одна ячейка - "A1"
'получаем значение
vData = objCloseBook.Sheets("Лист1").Range(sAddress).Value
objCloseBook.Close False
'Записываем данные на активный лист книги,
'с которой запустили макрос
If IsArray(vData) Then
[G8].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
Else
[G8] = vData
End If
Set objCloseBook = GetObject("C:\Книга12.xlsm")
sAddress = "I10" 'или одна ячейка - "A1"
'получаем значение
vData = objCloseBook.Sheets("Лист1").Range(sAddress).Value
objCloseBook.Close False
'Записываем данные на активный лист книги,
'с которой запустили макрос
If IsArray(vData) Then
[I10].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
Else
[I10] = vData
End If
Set objCloseBook = GetObject("C:\Книга12.xlsm")
sAddress = "C14" 'или одна ячейка - "A1"
'получаем значение
vData = objCloseBook.Sheets("Лист2").Range(sAddress).Value
objCloseBook.Close False
'Записываем данные на активный лист книги,
'с которой запустили макрос
If IsArray(vData) Then
[C14].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
Else
[C14] = vData
End If
Application.ScreenUpdating = True
End Sub
|
Данный макрос копирует данные из закрытой книги в активную, и почему то в этой части:
Код |
---|
Set objCloseBook = GetObject("C:\Книга12.xlsm")
sAddress = "C14" 'или одна ячейка - "A1"
'получаем значение
vData = objCloseBook.Sheets("Лист2").Range(sAddress).Value
objCloseBook.Close False
'Записываем данные на активный лист книги,
'с которой запустили макрос
If IsArray(vData) Then
[C14].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
Else
[C14] = vData
End If
Application.ScreenUpdating = True |
он копирует на "Лист1", а надо на "Лист2"