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

Вход

Регистрация

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

 

= Мир MS Excel/Заполнение таблицы данными из других файлов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение таблицы данными из других файлов (Макросы/Sub)
Заполнение таблицы данными из других файлов
XbI3bIP Дата: Пятница, 10.07.2015, 09:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Есть таблица, необходимо, чтобы она открывала по очереди все файлы из папки и из них копировала нужные значения.
Проблема заключается в том, что нужные значения из файлов "карточки" не копируются в таблицу (в каждом файле по 2 листа, я пробовал убирать один и всё равно данные не копировались).
Для более понятного восприятия ситуации:

К сообщению приложен файл: 9697546.xlsm (19.7 Kb) · 0799902.xlsx (10.2 Kb)
 
Ответить
СообщениеЕсть таблица, необходимо, чтобы она открывала по очереди все файлы из папки и из них копировала нужные значения.
Проблема заключается в том, что нужные значения из файлов "карточки" не копируются в таблицу (в каждом файле по 2 листа, я пробовал убирать один и всё равно данные не копировались).
Для более понятного восприятия ситуации:


Автор - XbI3bIP
Дата добавления - 10.07.2015 в 09:41
miver Дата: Пятница, 10.07.2015, 10:55 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
XbI3bIP, У Вас две ошибки
"*.xlsm*" нужно поменять на "*.xlsx*"
[vba]
Код
Set coll = FilenamesCollection(InvoiceFolder$, "*.xlsx*", 1)
[/vba]
и добавить четкий указатель на свою книгу копирования - ThisWorkbook
[vba]
Код
ThisWorkbook.Worksheets("tab").Range("A3").Value = ra.Value
[/vba]
 
Ответить
СообщениеXbI3bIP, У Вас две ошибки
"*.xlsm*" нужно поменять на "*.xlsx*"
[vba]
Код
Set coll = FilenamesCollection(InvoiceFolder$, "*.xlsx*", 1)
[/vba]
и добавить четкий указатель на свою книгу копирования - ThisWorkbook
[vba]
Код
ThisWorkbook.Worksheets("tab").Range("A3").Value = ra.Value
[/vba]

Автор - miver
Дата добавления - 10.07.2015 в 10:55
Udik Дата: Пятница, 10.07.2015, 11:05 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Макрос берёт данные из определённой ячейки закрытой книги и вставляет в ячейку активного листа. Под свои нужды, думаю, сами сможете модернизировать

[vba]
Код

Sub Zapros()
     Dim i As Integer, j As Integer, k As Integer
     Dim PolniyPut As String, Putt As String, Imya As String
     Const ImyfLista = "l1" ' имя листа откуда берём
      
         Putt = "d:\Temp\test\excel\"
         Imya = "fI.xlsx"
          
         With ActiveSheet.Cells(1, 1) 'сюда вставляем
             .Formula = "='" & Putt & "[" & Imya & "]" & ImyfLista & "'!$A$1" 'отсюда берём
             .Value = .Value ' ссылка заменяется фиксированным значением
         End With
End Sub
[/vba]


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеМакрос берёт данные из определённой ячейки закрытой книги и вставляет в ячейку активного листа. Под свои нужды, думаю, сами сможете модернизировать

[vba]
Код

Sub Zapros()
     Dim i As Integer, j As Integer, k As Integer
     Dim PolniyPut As String, Putt As String, Imya As String
     Const ImyfLista = "l1" ' имя листа откуда берём
      
         Putt = "d:\Temp\test\excel\"
         Imya = "fI.xlsx"
          
         With ActiveSheet.Cells(1, 1) 'сюда вставляем
             .Formula = "='" & Putt & "[" & Imya & "]" & ImyfLista & "'!$A$1" 'отсюда берём
             .Value = .Value ' ссылка заменяется фиксированным значением
         End With
End Sub
[/vba]

Автор - Udik
Дата добавления - 10.07.2015 в 11:05
XbI3bIP Дата: Пятница, 10.07.2015, 11:09 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Чёрт побери, всё оказывается было на поверхности :) Спасибо большое!
А может пожалуйста ещё 1 аспект подсказать. Имеется код:[vba]
Код

Set sh = WB.Worksheets("Лицевая сторона")
Set ra = sh.Range("F3")
ThisWorkbook.Worksheets("tab").Rows(2 + count).Columns(1).Value = ra.Value
[/vba]
А таких значений как F3 весьма много (150) и разбросаны они по всему листу карточки. Возможно ли как-то упростить код или необходимо для каждой ячейки ( флажка ) прописывать данное условие?

Пример карточки на рисунке в первом сообщении.


Сообщение отредактировал XbI3bIP - Пятница, 10.07.2015, 11:12
 
Ответить
СообщениеЧёрт побери, всё оказывается было на поверхности :) Спасибо большое!
А может пожалуйста ещё 1 аспект подсказать. Имеется код:[vba]
Код

Set sh = WB.Worksheets("Лицевая сторона")
Set ra = sh.Range("F3")
ThisWorkbook.Worksheets("tab").Rows(2 + count).Columns(1).Value = ra.Value
[/vba]
А таких значений как F3 весьма много (150) и разбросаны они по всему листу карточки. Возможно ли как-то упростить код или необходимо для каждой ячейки ( флажка ) прописывать данное условие?

Пример карточки на рисунке в первом сообщении.

Автор - XbI3bIP
Дата добавления - 10.07.2015 в 11:09
miver Дата: Пятница, 10.07.2015, 11:40 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 37 ±
Замечаний: 0% ±

Excel 2010
Возможно ли как-то упростить код
Если они в одном столбике и размещение не меняется, то можно занести в массив и перебирать его.
Еще можно искать ключевые слова слева и отступом в права брать значения
 
Ответить
Сообщение
Возможно ли как-то упростить код
Если они в одном столбике и размещение не меняется, то можно занести в массив и перебирать его.
Еще можно искать ключевые слова слева и отступом в права брать значения

Автор - miver
Дата добавления - 10.07.2015 в 11:40
XbI3bIP Дата: Пятница, 10.07.2015, 12:10 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Не они все в разброс по листу. Ну то не страшно, просто не красиво. Спасибо.


Сообщение отредактировал XbI3bIP - Пятница, 10.07.2015, 12:23
 
Ответить
СообщениеНе они все в разброс по листу. Ну то не страшно, просто не красиво. Спасибо.

Автор - XbI3bIP
Дата добавления - 10.07.2015 в 12:10
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение таблицы данными из других файлов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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