Здравствуйте. Помогите с макросом. Необходимо просуммировать некий диапазон всех однотипных листов одной (закрытой) книги , и поместить эту сумму в тот жэ диапазон на активный лист другой книги по клику кнопки. Обе книги в папке на рабочем столе (но в папке имеются и другие книги). Может есть какой пример.
Amator, чтобы взять данные из закрытого файла, самый простой способ - открыть файл.
Сделаете с файлом нужные действия и закроете.
Подскажите пример макроса.
Макрос
Sub Макрос1()
Const strFullFileName As String = "Книга Microsoft Office Excel 2007.xlsx"
Dim bkOpen As Excel.Workbook
Dim shOpen As Excel.Worksheet
'Отключение обновления монитора, чтобы не мерцало.
Application.ScreenUpdating = False
'Открытие файла.
Set bkOpen = Workbooks.Open(Filename:=strFullFileName)
'VBA-наименование листа, с которым будет работать макрос.
Set shOpen = bkOpen.Worksheets(1)
'Взятие данных из листа.
'Вывод данных из ячейки в View - Immediate Window.
Debug.Print shOpen.Range("A1").Value
'Закрытие файла без сохранения.
bkOpen.Close SaveChanges:=False
'Включение обновления монитора.
Application.ScreenUpdating = True
End Sub
Выдает ошыбку. Где у меня ошибка ? Посмотрите , пожалуйста!
[вложение удалено администратором]
Amator, здесь нужно указывать полное имя файл: путь + имя файла:
Set bkOpen = Workbooks.Open(Filename:=strFullFileName)
Исправил. Теперь ошика в строке: Debug.Print shOpen.Range("B2:M15").Value
Amator, в Debug.Print можно записать данные только из одной Excel-ячейки.
Поместите данные из "Range("B2:M15").Value" в другое место, например, в ячейки Excel-листа.