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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для переноса данных из одного файла в другой - Мир MS Excel

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

Помогите пожалуйста.
Очень нужен макрос, но нет опыта в написании. Автоматическим макросом не получается выполнить все требования.
Суть в чем: есть два файла – форма 1 и форма 2 (общий список) Необходимо данные из файла №1 перенести в общий список (Форма 2). Файл 1 всегда стандартный, меняется только данные.
Алгоритм такой: Сначала копируется в форму 2 номер исполнительного листа, если он уже есть в списке, то находит эту строку и меняет ее, если нет в списке – с новой строки создает запись. Далее в эту строку подтягивает все остальные данные с формы 1 (ФИО, основной долг, удержания….все по таблице). В конце строки вставляет текущую дату.
Не могу понять как это все сотворить, помогите у кого есть возможность и знания
К сообщению приложен файл: _1.xlsx (10.7 Kb) · _2--.xlsx (35.6 Kb)


Сообщение отредактировал Pelena - Четверг, 17.01.2013, 16:51
 
Ответить
СообщениеПомогите пожалуйста.
Очень нужен макрос, но нет опыта в написании. Автоматическим макросом не получается выполнить все требования.
Суть в чем: есть два файла – форма 1 и форма 2 (общий список) Необходимо данные из файла №1 перенести в общий список (Форма 2). Файл 1 всегда стандартный, меняется только данные.
Алгоритм такой: Сначала копируется в форму 2 номер исполнительного листа, если он уже есть в списке, то находит эту строку и меняет ее, если нет в списке – с новой строки создает запись. Далее в эту строку подтягивает все остальные данные с формы 1 (ФИО, основной долг, удержания….все по таблице). В конце строки вставляет текущую дату.
Не могу понять как это все сотворить, помогите у кого есть возможность и знания

Автор - Omeg
Дата добавления - 17.01.2013 в 16:37
GWolf Дата: Четверг, 17.01.2013, 18:03 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 3 ±
Замечаний: 0% ±

Добрый вечер, уважаемый Omeg!

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам?


Путей к вершине множество. Этот один из многих...
 
Ответить
СообщениеДобрый вечер, уважаемый Omeg!

Пометте цветом, пожалуйста, блоки формы, количество строк в которых может изменятся. Или же форма неизменна ни по строкам ни по столбцам?

Автор - GWolf
Дата добавления - 17.01.2013 в 18:03
Omeg Дата: Четверг, 17.01.2013, 19:14 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Добрый вечер, уважаемый GWolf!
Пометил строки, количество которых может изменяться. Если это сильно осложняет положение, можно количество полей оставить в таком виде)
Спасибо что откликнулись, два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему((
К сообщению приложен файл: 0058050.xlsx (10.8 Kb)
 
Ответить
СообщениеДобрый вечер, уважаемый GWolf!
Пометил строки, количество которых может изменяться. Если это сильно осложняет положение, можно количество полей оставить в таком виде)
Спасибо что откликнулись, два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему((

Автор - Omeg
Дата добавления - 17.01.2013 в 19:14
GWolf Дата: Четверг, 17.01.2013, 19:56 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 3 ±
Замечаний: 0% ±

Доброй ночи, уважаемый Omeg!

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:



полагаю, что в виду того, что Вы
Цитата (Omeg)
два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему

мой труд не будет бесполезен. Для случая с изменяющимися координатами "Итого начислено" и "Итого удержано" код будет несколько другим. Если будете иметь немного терпения то я таки и его Вам напишу!
С уважением GWolf.
К сообщению приложен файл: _1.xlsm (32.1 Kb) · _2-.xlsm (33.4 Kb)


Путей к вершине множество. Этот один из многих...

Сообщение отредактировал GWolf - Четверг, 17.01.2013, 20:01
 
Ответить
СообщениеДоброй ночи, уважаемый Omeg!

Пока ждал от Вас ответа, набросал макрос для неизменного количества строк в файле-источнике:



полагаю, что в виду того, что Вы
Цитата (Omeg)
два дня сижу с книгой по VBA, но опыта нет, до этого не приходилась делать такие задачи. Очень трудно сразу сообразить что к чему

мой труд не будет бесполезен. Для случая с изменяющимися координатами "Итого начислено" и "Итого удержано" код будет несколько другим. Если будете иметь немного терпения то я таки и его Вам напишу!
С уважением GWolf.

Автор - GWolf
Дата добавления - 17.01.2013 в 19:56
Omeg Дата: Четверг, 17.01.2013, 20:07 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Спасибо Огромное!!!!! Вы меня очень выручили!!!! Я бы не справился точно!!!
Уважаемы GWolf, если у вас будет свободное время и желание, напишите пожалуйста еще для случая с изменяющимися координатами "Итого начислено" и "Итого удержано".
Я Вам крайне благодарен! Вы правда меня очень выручили))
 
Ответить
СообщениеСпасибо Огромное!!!!! Вы меня очень выручили!!!! Я бы не справился точно!!!
Уважаемы GWolf, если у вас будет свободное время и желание, напишите пожалуйста еще для случая с изменяющимися координатами "Итого начислено" и "Итого удержано".
Я Вам крайне благодарен! Вы правда меня очень выручили))

Автор - Omeg
Дата добавления - 17.01.2013 в 20:07
GWolf Дата: Четверг, 17.01.2013, 20:34 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 3 ±
Замечаний: 0% ±

Цитата (Omeg)
для случая с изменяющимися координатами "Итого начислено" и "Итого удержано"


на скрепке.
В файле:
- по зеленой кнопке - с неизменными координатами;
- по смайлику "Улыбка" - с изменяющимися координатами "Итого начислено" и "Итого удержано"

Успехов! Обращайтесь...
С уважением GWolf.
К сообщению приложен файл: 9311104.xlsm (33.1 Kb)


Путей к вершине множество. Этот один из многих...

Сообщение отредактировал GWolf - Четверг, 17.01.2013, 20:39
 
Ответить
Сообщение
Цитата (Omeg)
для случая с изменяющимися координатами "Итого начислено" и "Итого удержано"


на скрепке.
В файле:
- по зеленой кнопке - с неизменными координатами;
- по смайлику "Улыбка" - с изменяющимися координатами "Итого начислено" и "Итого удержано"

Успехов! Обращайтесь...
С уважением GWolf.

Автор - GWolf
Дата добавления - 17.01.2013 в 20:34
Omeg Дата: Четверг, 17.01.2013, 21:38 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Спасибо огромное!
 
Ответить
СообщениеСпасибо огромное!

Автор - Omeg
Дата добавления - 17.01.2013 в 21:38
Omeg Дата: Пятница, 18.01.2013, 13:23 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Сегодня тестил, отлично работает. Только второй вариант ошибку почему то выдает, отмечает первую строку в макросе, не могу понять что ему нужно. Но первый вариант работает, пользуюсь им. Еще раз спасибо!
 
Ответить
СообщениеСегодня тестил, отлично работает. Только второй вариант ошибку почему то выдает, отмечает первую строку в макросе, не могу понять что ему нужно. Но первый вариант работает, пользуюсь им. Еще раз спасибо!

Автор - Omeg
Дата добавления - 18.01.2013 в 13:23
GWolf Дата: Понедельник, 21.01.2013, 08:37 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 3 ±
Замечаний: 0% ±

Доброго дня, уважаемый Omeg!

Вы писали:
Цитата (Omeg)
Только второй вариант ошибку почему то выдает, отмечает первую строку в макросе, не могу понять что ему нужно.

Посмотрел код, действительно это моя недоработка, за что приношу свои извинения. Старый вариант кода: [vba]
Код
Sub AddInFlOu_Щелкнуть()
       'Ответ на нажатие смайлика "Улыбка"
       Dim tPath As String
       Dim wbOp As Object
       Dim stroka As String
       Dim flag As Boolean
       Dim nR As Long, nREndFrm As Long
          
       Dim P_familija As String, P_imja  As String, P_otcestwo  As String
       Dim P_NomIspList  As String
       Dim P_SumOsnDolg  As String, P_SumUderj  As String, P_SumPerecisl  As String
          
       nREndFrm = 4
       Do
           nREndFrm = nREndFrm + 1
       Loop While .Cells(nREndFrm, 1).Text <> "Итого удержано"
          
       If nREndFrm = 65000 Then MsgBox "Что-то с формой не так!?" & Chr(10) & _
                      "Не могу найти ячейку в первой колонке" & Chr(10) & _
                      "с фразой <Итого удержано>", vbInformation + vbOKOnly, "Нештатное завершение!"
[/vba]

В строке [vba]
Код
Loop While .Cells(nREndFrm, 1).Text <> "Итого удержано"
[/vba] точка, с которой начинается "фраза" указывает что у "фразы" есть начало. Обычно это конструкция With ... End With. В данном случае я счел нецелесообразным применение такой конструкции, но "фразу" не поправил - поторопился. Т.о. строка кода должена выглядеть так:
[vba]
Код
Loop While ThisWorkbook.ActiveSheet.Cells(nREndFrm, 1).Text <> "Итого удержано"
[/vba]

В прилагаемом файле ошибка мною исправлена.
К сообщению приложен файл: 9311104_v2.xlsm (36.4 Kb)


Путей к вершине множество. Этот один из многих...

Сообщение отредактировал GWolf - Понедельник, 21.01.2013, 08:43
 
Ответить
СообщениеДоброго дня, уважаемый Omeg!

Вы писали:
Цитата (Omeg)
Только второй вариант ошибку почему то выдает, отмечает первую строку в макросе, не могу понять что ему нужно.

Посмотрел код, действительно это моя недоработка, за что приношу свои извинения. Старый вариант кода: [vba]
Код
Sub AddInFlOu_Щелкнуть()
       'Ответ на нажатие смайлика "Улыбка"
       Dim tPath As String
       Dim wbOp As Object
       Dim stroka As String
       Dim flag As Boolean
       Dim nR As Long, nREndFrm As Long
          
       Dim P_familija As String, P_imja  As String, P_otcestwo  As String
       Dim P_NomIspList  As String
       Dim P_SumOsnDolg  As String, P_SumUderj  As String, P_SumPerecisl  As String
          
       nREndFrm = 4
       Do
           nREndFrm = nREndFrm + 1
       Loop While .Cells(nREndFrm, 1).Text <> "Итого удержано"
          
       If nREndFrm = 65000 Then MsgBox "Что-то с формой не так!?" & Chr(10) & _
                      "Не могу найти ячейку в первой колонке" & Chr(10) & _
                      "с фразой <Итого удержано>", vbInformation + vbOKOnly, "Нештатное завершение!"
[/vba]

В строке [vba]
Код
Loop While .Cells(nREndFrm, 1).Text <> "Итого удержано"
[/vba] точка, с которой начинается "фраза" указывает что у "фразы" есть начало. Обычно это конструкция With ... End With. В данном случае я счел нецелесообразным применение такой конструкции, но "фразу" не поправил - поторопился. Т.о. строка кода должена выглядеть так:
[vba]
Код
Loop While ThisWorkbook.ActiveSheet.Cells(nREndFrm, 1).Text <> "Итого удержано"
[/vba]

В прилагаемом файле ошибка мною исправлена.

Автор - GWolf
Дата добавления - 21.01.2013 в 08:37
Omeg Дата: Понедельник, 21.01.2013, 09:26 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Все заработало идеально!! Спасибо огромное за помощь!!!!
 
Ответить
СообщениеВсе заработало идеально!! Спасибо огромное за помощь!!!!

Автор - Omeg
Дата добавления - 21.01.2013 в 09:26
Муля2010 Дата: Понедельник, 21.01.2013, 16:49 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 290
Репутация: 12 ±
Замечаний: 0% ±

Цитата (Omeg)
Все заработало идеально!! Спасибо огромное за помощь!!!!
Все заработало идеально!! Спасибо огромное за помощь!!!!Omeg

Доброго дня всем!
Omeg
Если это возможно, выложите пожалуйста свой работающий файл на форум. А то у меня во вновь созданую книгу (на чистый лист) одна строка копируется , но только одна строка ИТОГов. А вот меняю ФИО на другое, чтобы продолжить список, и не копирует. Копирует только, когда вручную удаляю предыдущую строку.
В то же время, если я правильно понял условия задачи, новые даные, то есть, новая строка с другими даными, должна добавляться в список (ниже предыдущей).
А вот у ваш шаблон, совсем ничего не копирует.
К сообщению приложен файл: 1686785.rar (37.4 Kb)


С ув. Муля!
 
Ответить
Сообщение
Цитата (Omeg)
Все заработало идеально!! Спасибо огромное за помощь!!!!
Все заработало идеально!! Спасибо огромное за помощь!!!!Omeg

Доброго дня всем!
Omeg
Если это возможно, выложите пожалуйста свой работающий файл на форум. А то у меня во вновь созданую книгу (на чистый лист) одна строка копируется , но только одна строка ИТОГов. А вот меняю ФИО на другое, чтобы продолжить список, и не копирует. Копирует только, когда вручную удаляю предыдущую строку.
В то же время, если я правильно понял условия задачи, новые даные, то есть, новая строка с другими даными, должна добавляться в список (ниже предыдущей).
А вот у ваш шаблон, совсем ничего не копирует.

Автор - Муля2010
Дата добавления - 21.01.2013 в 16:49
DiRT_ms Дата: Вторник, 22.01.2013, 12:43 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Здраствуйте! У меня схожая проблема с Omeg, только порядок действий не много другой. Есть форма отчетности (в ней меняется только кол-во строк max значение 80 строк) и сводная таблица этих форм. Суть проблемы в том что бы загрузить данные из закрытого файла формы отчетности в открытый файл сводной таблицы.
Здесь на форуме нашел внушительный список макросов, среди которых есть вот такие:



Я думаю что эти макросы должны участвовать в данной выгрузке, но как их правильно применить не хватает навыков sad

Если кому не трудно, прошу поставить на путь истинный в написании данной задачи)

К сообщению прилагаю файл отчетной формы и сводной формы. Заранее спасибо тем кто откликнется:)

[admin]DiRT_ms, оформляйте коды тегами![/admin]
К сообщению приложен файл: SVOD.xlsx (27.1 Kb) · fail1.xlsx (11.6 Kb)


Сообщение отредактировал DiRT_ms - Среда, 23.01.2013, 10:27
 
Ответить
СообщениеЗдраствуйте! У меня схожая проблема с Omeg, только порядок действий не много другой. Есть форма отчетности (в ней меняется только кол-во строк max значение 80 строк) и сводная таблица этих форм. Суть проблемы в том что бы загрузить данные из закрытого файла формы отчетности в открытый файл сводной таблицы.
Здесь на форуме нашел внушительный список макросов, среди которых есть вот такие:



Я думаю что эти макросы должны участвовать в данной выгрузке, но как их правильно применить не хватает навыков sad

Если кому не трудно, прошу поставить на путь истинный в написании данной задачи)

К сообщению прилагаю файл отчетной формы и сводной формы. Заранее спасибо тем кто откликнется:)

[admin]DiRT_ms, оформляйте коды тегами![/admin]

Автор - DiRT_ms
Дата добавления - 22.01.2013 в 12:43
GWolf Дата: Четверг, 31.01.2013, 13:29 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 3 ±
Замечаний: 0% ±

Добрый день!
Цитата (DiRT_ms)
Суть проблемы в том что бы загрузить данные из закрытого файла формы отчетности в открытый файл сводной таблицы.

Если немножичко погуглить интернет, то можно выяснить следующую особенность: Если нам нужно загрузить из ЗАКРЫТОЙ книги данные, то мы эту книгу должны таки ОТКРЫТЬ, только не руками, а программно! Ну а дальше все как всегда: идем по записям ищем то, что нам нужно и переносим туда куда нужно. После такой "прогулки" незабываем книгу-источник ЗАКРЫТЬ, опять же программно!

Вы можете спросить: - Почему нет кода? - Ответ прост! Код есть! Сообщение № 4. Если кто не понял - спрашивайте - отвечу.


Путей к вершине множество. Этот один из многих...

Сообщение отредактировал GWolf - Четверг, 31.01.2013, 13:33
 
Ответить
СообщениеДобрый день!
Цитата (DiRT_ms)
Суть проблемы в том что бы загрузить данные из закрытого файла формы отчетности в открытый файл сводной таблицы.

Если немножичко погуглить интернет, то можно выяснить следующую особенность: Если нам нужно загрузить из ЗАКРЫТОЙ книги данные, то мы эту книгу должны таки ОТКРЫТЬ, только не руками, а программно! Ну а дальше все как всегда: идем по записям ищем то, что нам нужно и переносим туда куда нужно. После такой "прогулки" незабываем книгу-источник ЗАКРЫТЬ, опять же программно!

Вы можете спросить: - Почему нет кода? - Ответ прост! Код есть! Сообщение № 4. Если кто не понял - спрашивайте - отвечу.

Автор - GWolf
Дата добавления - 31.01.2013 в 13:29
alya Дата: Вторник, 16.04.2013, 20:48 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Добрый день! Прощу о помощи. не могу объединить макрос переноса данных из одного файла в другой с функцией ВПР.
есть два файла (книга 1 и книга 2 - названия всегда разные). В книгу 1 нужно перенести данные по обещанной цене из книги 2.
Помогите кому не трудно.
К сообщению приложен файл: _1.xls (52.5 Kb)


Сообщение отредактировал alya - Вторник, 16.04.2013, 20:56
 
Ответить
СообщениеДобрый день! Прощу о помощи. не могу объединить макрос переноса данных из одного файла в другой с функцией ВПР.
есть два файла (книга 1 и книга 2 - названия всегда разные). В книгу 1 нужно перенести данные по обещанной цене из книги 2.
Помогите кому не трудно.

Автор - alya
Дата добавления - 16.04.2013 в 20:48
alya Дата: Вторник, 16.04.2013, 20:50 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

книга 2


Сообщение отредактировал alya - Вторник, 16.04.2013, 20:56
 
Ответить
Сообщениекнига 2

Автор - alya
Дата добавления - 16.04.2013 в 20:50
nur91 Дата: Суббота, 24.05.2014, 20:37 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем, доброй ночи!
У меня есть маленькая проблема в работе макроса.
Суть задания: из файла "по бригадам.xls" найти итоговые суммы по определенным строкам и записать в файл "форма.xls". Это я реализовала.
А теперь проблемка. Например: нужно найти строку "Компенсация отпуска". В файле "по бригадам.xls" в 01 бригаде 00 участок такой записи нет, и значит в файле "форма.xls" должно быть пусто. А макрос находит эту запись в другой бригаде(03 бригада 02 участок) и записывает в 01 бригаду 00 участок.
Не могу понять как это сотворить,помогите у кого есть возможность и знания.
К сообщению приложен файл: 4747620.rar (48.7 Kb)
 
Ответить
СообщениеВсем, доброй ночи!
У меня есть маленькая проблема в работе макроса.
Суть задания: из файла "по бригадам.xls" найти итоговые суммы по определенным строкам и записать в файл "форма.xls". Это я реализовала.
А теперь проблемка. Например: нужно найти строку "Компенсация отпуска". В файле "по бригадам.xls" в 01 бригаде 00 участок такой записи нет, и значит в файле "форма.xls" должно быть пусто. А макрос находит эту запись в другой бригаде(03 бригада 02 участок) и записывает в 01 бригаду 00 участок.
Не могу понять как это сотворить,помогите у кого есть возможность и знания.

Автор - nur91
Дата добавления - 24.05.2014 в 20:37
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для переноса данных из одного файла в другой
  • Страница 1 из 1
  • 1
Поиск:

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