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

Вход

Регистрация

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

 

= Мир MS Excel/данные из каждой книги вставлять в последующие ячейки - Мир MS Excel

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

Excel 2003
Здравствуйте ! Благодарю, что помогли мне вчера, но увы, так получилось, что появились новые проблемы с макросом . Принцип работы макроса следующая: в начале указываешь лист , откуда копировать данные(у меня Лист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, чтобы он вставлял данные в ячейки именно в этих границах . Все эти попытки не удались, т.к. после каждого вмешательства макрос не работал . Буду очень благодарен, если сможете помочь чем нибудь помочь. Последняя надежда только этот форум!
К сообщению приложен файл: base.xls (47.5 Kb) · 6372442.xls (31.0 Kb)


Сообщение отредактировал saf - Вторник, 28.02.2017, 15:23
 
Ответить
СообщениеЗдравствуйте ! Благодарю, что помогли мне вчера, но увы, так получилось, что появились новые проблемы с макросом . Принцип работы макроса следующая: в начале указываешь лист , откуда копировать данные(у меня Лист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
Дата добавления - 28.02.2017 в 15:16
Wasilich Дата: Вторник, 28.02.2017, 22:43 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Все эти действия макроса, укажи то, укажи это, совсем не нужны, и не для такого случая он написан. Как я понял, вся информация, во всех файлах-источниках лежит в одном и том же месте, на одних и тех же листах. Так или нет? И собрать её надо в файл "база", это понятно.
А сам файл "база", лежит в той же папке, что и файлы источники, или в другом месте?
И не понятно, что потом с этими файлами делать, после выбора информации, ведь при следующем отборе из них повторно будет собираться информация. Или это разовая процедура? Или будет поступать новая порция файлов, а старые будут удаляться?
 
Ответить
СообщениеВсе эти действия макроса, укажи то, укажи это, совсем не нужны, и не для такого случая он написан. Как я понял, вся информация, во всех файлах-источниках лежит в одном и том же месте, на одних и тех же листах. Так или нет? И собрать её надо в файл "база", это понятно.
А сам файл "база", лежит в той же папке, что и файлы источники, или в другом месте?
И не понятно, что потом с этими файлами делать, после выбора информации, ведь при следующем отборе из них повторно будет собираться информация. Или это разовая процедура? Или будет поступать новая порция файлов, а старые будут удаляться?

Автор - Wasilich
Дата добавления - 28.02.2017 в 22:43
saf Дата: Вторник, 28.02.2017, 23:20 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Привет!Спасибо , что откликнулся! Есть шаблон один, куда вбивается инфа по разным компаниям и таких шаблонов больше 70 в день.Они одинаковы по структуре, только у них названия разные (типа "перектресток 02.03" или "магнит 02.03" и т.д.) .Файл "база" лежит в одной папке с ними. Как только день прошел, то из файла "база" удаляется вся собранная инфа , а также удаляются из папки все шаблоны. Потом утром поступают новые шаблоны с инфой и мы ее помешаем в эту папку.

Я других способов не нашел. как упростить . Буду рад, если предложите даже что-нибудь другое.


Сообщение отредактировал saf - Вторник, 28.02.2017, 23:21
 
Ответить
СообщениеПривет!Спасибо , что откликнулся! Есть шаблон один, куда вбивается инфа по разным компаниям и таких шаблонов больше 70 в день.Они одинаковы по структуре, только у них названия разные (типа "перектресток 02.03" или "магнит 02.03" и т.д.) .Файл "база" лежит в одной папке с ними. Как только день прошел, то из файла "база" удаляется вся собранная инфа , а также удаляются из папки все шаблоны. Потом утром поступают новые шаблоны с инфой и мы ее помешаем в эту папку.

Я других способов не нашел. как упростить . Буду рад, если предложите даже что-нибудь другое.

Автор - saf
Дата добавления - 28.02.2017 в 23:20
Wasilich Дата: Среда, 01.03.2017, 00:04 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Надеюсь что так.

[p.s.]Перезалил.[/p.s.]
К сообщению приложен файл: base-1.xls (27.0 Kb)


Сообщение отредактировал Wasilich - Среда, 01.03.2017, 11:18
 
Ответить
СообщениеНадеюсь что так.

[p.s.]Перезалил.[/p.s.]

Автор - Wasilich
Дата добавления - 01.03.2017 в 00:04
saf Дата: Среда, 01.03.2017, 00:35 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо огромное! То что надо! Не знаешь. можно как то убрать окно всплывающее, которое пишет "сохранить изменение в файле" . Только что поместил в папку с 30 шаблонами и 30 раз появилось окно "сохранить изменение в файле", а потом уже скопировалось то что надо. Но все равно БОЛЬШОЕ СПАСИБО ТЕБЕ! Очень выручил!
 
Ответить
СообщениеСпасибо огромное! То что надо! Не знаешь. можно как то убрать окно всплывающее, которое пишет "сохранить изменение в файле" . Только что поместил в папку с 30 шаблонами и 30 раз появилось окно "сохранить изменение в файле", а потом уже скопировалось то что надо. Но все равно БОЛЬШОЕ СПАСИБО ТЕБЕ! Очень выручил!

Автор - saf
Дата добавления - 01.03.2017 в 00:35
saf Дата: Среда, 01.03.2017, 13:24 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Спасибо, Wasilich, очень благодарен тебе, очень выручил! Возникла одна маленькая проблема- когда в книге 2 листа , то он копирует из другого листа .Но если скрыть все листы кроме "Лист0", то он копирует то что надо. Можно строго в макросе прописать, что только из листа "Лист0" копировал данные, т.к. бывает 3 или 2 листа бывают в книге .


Сообщение отредактировал saf - Среда, 01.03.2017, 13:33
 
Ответить
СообщениеСпасибо, Wasilich, очень благодарен тебе, очень выручил! Возникла одна маленькая проблема- когда в книге 2 листа , то он копирует из другого листа .Но если скрыть все листы кроме "Лист0", то он копирует то что надо. Можно строго в макросе прописать, что только из листа "Лист0" копировал данные, т.к. бывает 3 или 2 листа бывают в книге .

Автор - saf
Дата добавления - 01.03.2017 в 13:24
nilem Дата: Среда, 01.03.2017, 15:17 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Просто поинтересоваться - в файлах-источниках нужны данные только из одной яч. Р2 листа Лист0?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПросто поинтересоваться - в файлах-источниках нужны данные только из одной яч. Р2 листа Лист0?

Автор - nilem
Дата добавления - 01.03.2017 в 15:17
saf Дата: Среда, 01.03.2017, 15:24 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Да, в ячейке Р2 в "Лист0" аккумулируется вся мнфа в нужном виде, но иногда бывает, что в книге есть другие листы, поэтому нужен именно "Лист0"


Сообщение отредактировал saf - Среда, 01.03.2017, 15:31
 
Ответить
СообщениеДа, в ячейке Р2 в "Лист0" аккумулируется вся мнфа в нужном виде, но иногда бывает, что в книге есть другие листы, поэтому нужен именно "Лист0"

Автор - saf
Дата добавления - 01.03.2017 в 15:24
nilem Дата: Среда, 01.03.2017, 15:40 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
тогда попробуйте вот так:
[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
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениетогда попробуйте вот так:
[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
[/vba]

Автор - nilem
Дата добавления - 01.03.2017 в 15:40
saf Дата: Среда, 01.03.2017, 16:00 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
nilem, спасибо тебе ОГРОМНОЕ! то что надо !
 
Ответить
Сообщениеnilem, спасибо тебе ОГРОМНОЕ! то что надо !

Автор - saf
Дата добавления - 01.03.2017 в 16:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » данные из каждой книги вставлять в последующие ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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