Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставить имя файла в ячейку из папки + сумма данных - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить имя файла в ячейку из папки + сумма данных (Макросы/Sub)
Вставить имя файла в ячейку из папки + сумма данных
akaDemik Дата: Четверг, 09.11.2017, 19:32 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Имеется часть кода
[vba]
Код
Sub IMPORT_P()
Dim srcBook
Set wb = ThisWorkbook
Set wf = WorksheetFunction

' Открыть файл
    wb.Sheets("Лист1").Range("C7:C400").Font.Color = vbBlack
Dim oFileSystemObject As Object: Set oFileSystemObject = CreateObject("Scripting.FileSystemObject")
If oFileSystemObject.FileExists(wb.Path & "\File.xls") Then
Set srcBook = Workbooks.Open(Filename:=wb.Path & "\File.xls", ReadOnly:=True, UpdateLinks:=0)
    'Вставить
    wb.Sheets("Лист1").Range("C7") = wf.Sum(srcBook.Sheets("Data").Range("GE9,GE30"))
    wb.Sheets("Лист1").Range("C8") = wf.Sum(srcBook.Sheets("Data").Range("F9,F30"))
    wb.Sheets("Лист1").Range("C9") = wf.Sum(srcBook.Sheets("Data").Range("U9,U30"))

    wb.Sheets("Лист1").Range("C7:C9").Font.Color = vbRed
    srcBook.Close SaveChanges:=False
End If
If oFileSystemObject.FileExists(wb.Path & "\File2.xls") Then
Set srcBook = Workbooks.Open(Filename:=wb.Path & "\File2.xls", ReadOnly:=True, UpdateLinks:=0)
    'Вставить
    wb.Sheets("Лист1").Range("C10") = wf.Sum(srcBook.Sheets("Data").Range("GE9,GE30"))
    wb.Sheets("Лист1").Range("C11") = wf.Sum(srcBook.Sheets("Data").Range("F9,F30"))
    wb.Sheets("Лист1").Range("C12") = wf.Sum(srcBook.Sheets("Data").Range("U9,U30"))

    wb.Sheets("Лист1").Range("C10:C12").Font.Color = vbRed
    srcBook.Close SaveChanges:=False
End If
End Sub
[/vba]
Прошу помочь изменить его с такой задачей:
Есть папка, в ней находятся файлы *.xls, необходимо в файле с макросом создать список из названий файлов (без расширения), напротив каждого просуммировать несколько ячеек каждого из файлов. У файлов с данными одинаковая структура, то есть суммировать надо одни и те же ячейки, но в разных файлах
 
Ответить
СообщениеИмеется часть кода
[vba]
Код
Sub IMPORT_P()
Dim srcBook
Set wb = ThisWorkbook
Set wf = WorksheetFunction

' Открыть файл
    wb.Sheets("Лист1").Range("C7:C400").Font.Color = vbBlack
Dim oFileSystemObject As Object: Set oFileSystemObject = CreateObject("Scripting.FileSystemObject")
If oFileSystemObject.FileExists(wb.Path & "\File.xls") Then
Set srcBook = Workbooks.Open(Filename:=wb.Path & "\File.xls", ReadOnly:=True, UpdateLinks:=0)
    'Вставить
    wb.Sheets("Лист1").Range("C7") = wf.Sum(srcBook.Sheets("Data").Range("GE9,GE30"))
    wb.Sheets("Лист1").Range("C8") = wf.Sum(srcBook.Sheets("Data").Range("F9,F30"))
    wb.Sheets("Лист1").Range("C9") = wf.Sum(srcBook.Sheets("Data").Range("U9,U30"))

    wb.Sheets("Лист1").Range("C7:C9").Font.Color = vbRed
    srcBook.Close SaveChanges:=False
End If
If oFileSystemObject.FileExists(wb.Path & "\File2.xls") Then
Set srcBook = Workbooks.Open(Filename:=wb.Path & "\File2.xls", ReadOnly:=True, UpdateLinks:=0)
    'Вставить
    wb.Sheets("Лист1").Range("C10") = wf.Sum(srcBook.Sheets("Data").Range("GE9,GE30"))
    wb.Sheets("Лист1").Range("C11") = wf.Sum(srcBook.Sheets("Data").Range("F9,F30"))
    wb.Sheets("Лист1").Range("C12") = wf.Sum(srcBook.Sheets("Data").Range("U9,U30"))

    wb.Sheets("Лист1").Range("C10:C12").Font.Color = vbRed
    srcBook.Close SaveChanges:=False
End If
End Sub
[/vba]
Прошу помочь изменить его с такой задачей:
Есть папка, в ней находятся файлы *.xls, необходимо в файле с макросом создать список из названий файлов (без расширения), напротив каждого просуммировать несколько ячеек каждого из файлов. У файлов с данными одинаковая структура, то есть суммировать надо одни и те же ячейки, но в разных файлах

Автор - akaDemik
Дата добавления - 09.11.2017 в 19:32
Wasilich Дата: Пятница, 10.11.2017, 11:19 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 320 ±
Замечаний: 0% ±

2003
Вот нашел в архиве примеров. Юзайте.


Сообщение отредактировал Wasilich - Пятница, 10.11.2017, 11:23
 
Ответить
СообщениеВот нашел в архиве примеров. Юзайте.

Автор - Wasilich
Дата добавления - 10.11.2017 в 11:19
PowerBoy Дата: Пятница, 10.11.2017, 12:13 | Сообщение № 3
Группа: Проверенные
Ранг: Участник
Сообщений: 98
Репутация: 31 ±
Замечаний: 0% ±

2003
Задача как раз в тему моей утилиты


Excel + SQL = ActiveTables (http://vk.com/ExcelSQL)
 
Ответить
СообщениеЗадача как раз в тему моей утилиты

Автор - PowerBoy
Дата добавления - 10.11.2017 в 12:13
K-SerJC Дата: Пятница, 10.11.2017, 12:37 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 294
Репутация: 41 ±
Замечаний: 0% ±

Excel 2013
ну или вот так: ;)
К сообщению приложен файл: __A1_B2_C3.xlsm(17Kb)


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщениену или вот так: ;)

Автор - K-SerJC
Дата добавления - 10.11.2017 в 12:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить имя файла в ячейку из папки + сумма данных (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!