Здравствуйте ! Благодарю, что помогли мне вчера, но увы, так получилось, что появились новые проблемы с макросом . Принцип работы макроса следующая: в начале указываешь лист , откуда копировать данные(у меня Лист0), далее в окошке "вставить значения " соглашаемся, а потом в следующей окошке "собрать данные из нескольких книг" выбираем книгу с данными клиента и он копирует инфу уже с заданной мною ячейки "P2" (потому что во всех книгах он одинаковый) и вставляет данные в "базавую" книгу excel( откуда и сам макрос и запускается). Кстати копирует он в Лист2 , потому что в Лист1 запускаю макрос. Я немного внес изменения в макрос: 1) добавил [vba]
Код
lCol = 1
[/vba] , чтобы макрос не вставлял название книги, откуда копировал данные 2) вставил [vba]
Код
Set wsDataSheet = Sheets("Лист2")
[/vba] , чтобы маккрос вставлял данные уже в заданные лист , а не создавал снова новый лист
ПРОБЛЕМЫ: нужно чтобы макрос вставлял данные в ячейки поочередно, то есть после А1 вставляет в А2 , ПОТОМ В А3 и т.д. Я специально изменил размер ячейки и его формат, т.к. текст большой, Но макрос вставляет данные только в те ячейки , которые я не трогал (т.е. не изменял размер ячейки ) и вставляет их с интервалом в 12-14 строк вниз . Если убрать код [vba]
Код
lCol = 1
[/vba] то в этих пустых интервалах появляется название книги. Так же макрос вставляет текст сплошной строкой, не сохраняя формат.
Помимо этого я пытался задать указанные лист в макросе, т.к. когда он запускается, то просит указать лист, а у меня везде это "Лист0". Также пробовал вбить диапазон A1:G15, чтобы он вставлял данные в ячейки именно в этих границах . Все эти попытки не удались, т.к. после каждого вмешательства макрос не работал . Буду очень благодарен, если сможете помочь чем нибудь помочь. Последняя надежда только этот форум!
Здравствуйте ! Благодарю, что помогли мне вчера, но увы, так получилось, что появились новые проблемы с макросом . Принцип работы макроса следующая: в начале указываешь лист , откуда копировать данные(у меня Лист0), далее в окошке "вставить значения " соглашаемся, а потом в следующей окошке "собрать данные из нескольких книг" выбираем книгу с данными клиента и он копирует инфу уже с заданной мною ячейки "P2" (потому что во всех книгах он одинаковый) и вставляет данные в "базавую" книгу excel( откуда и сам макрос и запускается). Кстати копирует он в Лист2 , потому что в Лист1 запускаю макрос. Я немного внес изменения в макрос: 1) добавил [vba]
Код
lCol = 1
[/vba] , чтобы макрос не вставлял название книги, откуда копировал данные 2) вставил [vba]
Код
Set wsDataSheet = Sheets("Лист2")
[/vba] , чтобы маккрос вставлял данные уже в заданные лист , а не создавал снова новый лист
ПРОБЛЕМЫ: нужно чтобы макрос вставлял данные в ячейки поочередно, то есть после А1 вставляет в А2 , ПОТОМ В А3 и т.д. Я специально изменил размер ячейки и его формат, т.к. текст большой, Но макрос вставляет данные только в те ячейки , которые я не трогал (т.е. не изменял размер ячейки ) и вставляет их с интервалом в 12-14 строк вниз . Если убрать код [vba]
Код
lCol = 1
[/vba] то в этих пустых интервалах появляется название книги. Так же макрос вставляет текст сплошной строкой, не сохраняя формат.
Помимо этого я пытался задать указанные лист в макросе, т.к. когда он запускается, то просит указать лист, а у меня везде это "Лист0". Также пробовал вбить диапазон A1:G15, чтобы он вставлял данные в ячейки именно в этих границах . Все эти попытки не удались, т.к. после каждого вмешательства макрос не работал . Буду очень благодарен, если сможете помочь чем нибудь помочь. Последняя надежда только этот форум!saf
Все эти действия макроса, укажи то, укажи это, совсем не нужны, и не для такого случая он написан. Как я понял, вся информация, во всех файлах-источниках лежит в одном и том же месте, на одних и тех же листах. Так или нет? И собрать её надо в файл "база", это понятно. А сам файл "база", лежит в той же папке, что и файлы источники, или в другом месте? И не понятно, что потом с этими файлами делать, после выбора информации, ведь при следующем отборе из них повторно будет собираться информация. Или это разовая процедура? Или будет поступать новая порция файлов, а старые будут удаляться?
Все эти действия макроса, укажи то, укажи это, совсем не нужны, и не для такого случая он написан. Как я понял, вся информация, во всех файлах-источниках лежит в одном и том же месте, на одних и тех же листах. Так или нет? И собрать её надо в файл "база", это понятно. А сам файл "база", лежит в той же папке, что и файлы источники, или в другом месте? И не понятно, что потом с этими файлами делать, после выбора информации, ведь при следующем отборе из них повторно будет собираться информация. Или это разовая процедура? Или будет поступать новая порция файлов, а старые будут удаляться?Wasilich
Привет!Спасибо , что откликнулся! Есть шаблон один, куда вбивается инфа по разным компаниям и таких шаблонов больше 70 в день.Они одинаковы по структуре, только у них названия разные (типа "перектресток 02.03" или "магнит 02.03" и т.д.) .Файл "база" лежит в одной папке с ними. Как только день прошел, то из файла "база" удаляется вся собранная инфа , а также удаляются из папки все шаблоны. Потом утром поступают новые шаблоны с инфой и мы ее помешаем в эту папку.
Я других способов не нашел. как упростить . Буду рад, если предложите даже что-нибудь другое.
Привет!Спасибо , что откликнулся! Есть шаблон один, куда вбивается инфа по разным компаниям и таких шаблонов больше 70 в день.Они одинаковы по структуре, только у них названия разные (типа "перектресток 02.03" или "магнит 02.03" и т.д.) .Файл "база" лежит в одной папке с ними. Как только день прошел, то из файла "база" удаляется вся собранная инфа , а также удаляются из папки все шаблоны. Потом утром поступают новые шаблоны с инфой и мы ее помешаем в эту папку.
Я других способов не нашел. как упростить . Буду рад, если предложите даже что-нибудь другое.saf
Сообщение отредактировал saf - Вторник, 28.02.2017, 23:21
Спасибо огромное! То что надо! Не знаешь. можно как то убрать окно всплывающее, которое пишет "сохранить изменение в файле" . Только что поместил в папку с 30 шаблонами и 30 раз появилось окно "сохранить изменение в файле", а потом уже скопировалось то что надо. Но все равно БОЛЬШОЕ СПАСИБО ТЕБЕ! Очень выручил!
Спасибо огромное! То что надо! Не знаешь. можно как то убрать окно всплывающее, которое пишет "сохранить изменение в файле" . Только что поместил в папку с 30 шаблонами и 30 раз появилось окно "сохранить изменение в файле", а потом уже скопировалось то что надо. Но все равно БОЛЬШОЕ СПАСИБО ТЕБЕ! Очень выручил!saf
Спасибо, Wasilich, очень благодарен тебе, очень выручил! Возникла одна маленькая проблема- когда в книге 2 листа , то он копирует из другого листа .Но если скрыть все листы кроме "Лист0", то он копирует то что надо. Можно строго в макросе прописать, что только из листа "Лист0" копировал данные, т.к. бывает 3 или 2 листа бывают в книге .
Спасибо, Wasilich, очень благодарен тебе, очень выручил! Возникла одна маленькая проблема- когда в книге 2 листа , то он копирует из другого листа .Но если скрыть все листы кроме "Лист0", то он копирует то что надо. Можно строго в макросе прописать, что только из листа "Лист0" копировал данные, т.к. бывает 3 или 2 листа бывают в книге .saf
Сообщение отредактировал saf - Среда, 01.03.2017, 13:33
Sub ertert() Dim f As String, rw As Long, Pth As String Pth = ThisWorkbook.Path & "\[": rw = 2 f = Dir(ThisWorkbook.Path & "\" & "*.xls*", vbNormal) Do While f <> "" If f <> ThisWorkbook.Name Then Cells(rw, 1).Formula = "='" & Pth & f & "]Лист0'!P2" rw = rw + 1 End If f = Dir() Loop With ActiveSheet.Cells(1, 1).Resize(rw) .Value = .Value End With End Sub
[/vba]
тогда попробуйте вот так: [vba]
Код
Sub ertert() Dim f As String, rw As Long, Pth As String Pth = ThisWorkbook.Path & "\[": rw = 2 f = Dir(ThisWorkbook.Path & "\" & "*.xls*", vbNormal) Do While f <> "" If f <> ThisWorkbook.Name Then Cells(rw, 1).Formula = "='" & Pth & f & "]Лист0'!P2" rw = rw + 1 End If f = Dir() Loop With ActiveSheet.Cells(1, 1).Resize(rw) .Value = .Value End With End Sub