макрос, копирование диапазона ячеек из текущего файла в общий

Автор 6832426, 11 декабря 2016, 19:55

0 Пользователи и 1 гость просматривают эту тему.

6832426

здравствуйте!
помогите составить макрос для сбора данных из отдельных файлов в общий

желаемый алгоритм такой:

  • открыть файл с данными
  • запустить макрос
  • через oCell=InputBox("enter value","Адрес копирования","D1") выбрать столбец куда скопируются данные(хотя, конечно, круто чтоб выбирался первый пустой столбец)
  • копирование в общую форму, её сохранение и закрытие

нашёл решение похожей задачи, но там копирование внутри одного документа. модифицировать у меня не получается

Sub CopyAll
Dim oDoc as Object
Dim oSheet as Object
Dim oRangeAddress as Object
Dim oCellAddress as Object
Dim oURL as String
oURL="file:///Адрес вашего файла.xls"
oDoc = starDeskTop.loadComponentFromURL(oURL, "_blank", 0, Array() )
oSheet = oDoc.Sheets(0)
oRangeAddress = oSheet.getCellRangeByName("A31:D46").getRangeAddress()
oCellAddress  = oSheet.getCellRangeByName("A80").getCellAddress()
oSheet.copyRange(oCellAddress, oRangeAddress)
End Sub

rami

Цитата: 6832426 от 11 декабря 2016, 17:55помогите составить макрос для сбора данных из отдельных файлов в общий
Что за файлы? их содержимое? их структура? Или хотите "бери больше, кидай дальше"?

6832426

файлы - таблицы *.xlsx, все одинаковые, состоят из 3х столбцов
по сути требуется в первый фаил добавить третьи столбцы из всех остальных xlsx таблиц(диапазон "C1:C150")

JohnSUN

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

6832426

JohnSUN, спасибо, первый вариант работает почти как надо, наверно буду вручную обрабатывать его вывод.
хочу уточнить: там нет возможности суммировать не строки, а столбцы?(соответственно игнорировать не строки-заголовки, а колонки)

зы.
CollectData.ods в LibreOffice 5.1.4.2
Ошибка времени выполнения BASIC.
Свойство или метод не найдены: getDocumentInfo.

JohnSUN

Да, давно было... С тех пор этот метод стал называться .getDocumentProperties()
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне