Есть таблица, необходимо, чтобы она открывала по очереди все файлы из папки и из них копировала нужные значения. Проблема заключается в том, что нужные значения из файлов "карточки" не копируются в таблицу (в каждом файле по 2 листа, я пробовал убирать один и всё равно данные не копировались). Для более понятного восприятия ситуации:
Есть таблица, необходимо, чтобы она открывала по очереди все файлы из папки и из них копировала нужные значения. Проблема заключается в том, что нужные значения из файлов "карточки" не копируются в таблицу (в каждом файле по 2 листа, я пробовал убирать один и всё равно данные не копировались). Для более понятного восприятия ситуации:
Макрос берёт данные из определённой ячейки закрытой книги и вставляет в ячейку активного листа. Под свои нужды, думаю, сами сможете модернизировать
[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]
Макрос берёт данные из определённой ячейки закрытой книги и вставляет в ячейку активного листа. Под свои нужды, думаю, сами сможете модернизировать
[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
Чёрт побери, всё оказывается было на поверхности Спасибо большое! А может пожалуйста ещё 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) и разбросаны они по всему листу карточки. Возможно ли как-то упростить код или необходимо для каждой ячейки ( флажка ) прописывать данное условие?
Пример карточки на рисунке в первом сообщении.
Чёрт побери, всё оказывается было на поверхности Спасибо большое! А может пожалуйста ещё 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
Сообщение отредактировал XbI3bIP - Пятница, 10.07.2015, 11:12
Если они в одном столбике и размещение не меняется, то можно занести в массив и перебирать его. Еще можно искать ключевые слова слева и отступом в права брать значения
Если они в одном столбике и размещение не меняется, то можно занести в массив и перебирать его. Еще можно искать ключевые слова слева и отступом в права брать значенияmiver