Перенос данных из формы в сводную таблицу
Dirc
Дата: Среда, 11.06.2014, 14:12 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Доброго времени суток. Я недавно начал осваивать макросы в Excel и столкнулся с задачей, которую я не могу решить. Пытался использовать код в похожих примерах, но не смог. Цель задачи: Есть две таблицы, первая является формой (Форма расчёта заявки.xlsm) вторая (Сводная.xls), строится на основе данных формы по нажатию на кнопки на листе.
Доброго времени суток. Я недавно начал осваивать макросы в Excel и столкнулся с задачей, которую я не могу решить. Пытался использовать код в похожих примерах, но не смог. Цель задачи: Есть две таблицы, первая является формой (Форма расчёта заявки.xlsm) вторая (Сводная.xls), строится на основе данных формы по нажатию на кнопки на листе. Dirc
Ответить
Сообщение Доброго времени суток. Я недавно начал осваивать макросы в Excel и столкнулся с задачей, которую я не могу решить. Пытался использовать код в похожих примерах, но не смог. Цель задачи: Есть две таблицы, первая является формой (Форма расчёта заявки.xlsm) вторая (Сводная.xls), строится на основе данных формы по нажатию на кнопки на листе. Автор - Dirc Дата добавления - 11.06.2014 в 14:12
Dмитрий
Дата: Среда, 11.06.2014, 16:36 |
Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
9
±
Замечаний:
40% ±
Excel 2010
Ну, как вариант:[vba]Код
Private Sub CommandButton1_Click() 'определяете последнюю заполненную строку на листе r = Workbooks("Книга1").Sheets("Лист1").Cells(Rows.Count, 2).End(xlUp).Row Workbooks("Книга1").Sheets("Лист1").Cells(r, 2) = Workbooks("Книга2").Sheets("Лист1").Cells(4, 5) 'и так далее End Sub
[/vba]
Ну, как вариант:[vba]Код
Private Sub CommandButton1_Click() 'определяете последнюю заполненную строку на листе r = Workbooks("Книга1").Sheets("Лист1").Cells(Rows.Count, 2).End(xlUp).Row Workbooks("Книга1").Sheets("Лист1").Cells(r, 2) = Workbooks("Книга2").Sheets("Лист1").Cells(4, 5) 'и так далее End Sub
[/vba] Dмитрий
Ответить
Сообщение Ну, как вариант:[vba]Код
Private Sub CommandButton1_Click() 'определяете последнюю заполненную строку на листе r = Workbooks("Книга1").Sheets("Лист1").Cells(Rows.Count, 2).End(xlUp).Row Workbooks("Книга1").Sheets("Лист1").Cells(r, 2) = Workbooks("Книга2").Sheets("Лист1").Cells(4, 5) 'и так далее End Sub
[/vba] Автор - Dмитрий Дата добавления - 11.06.2014 в 16:36
Dirc
Дата: Среда, 11.06.2014, 16:55 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Ну допустим определил последнею строку в Сводной. Но он должен ещё скопировать данные из формы в неё. В заданный диапозон.
Ну допустим определил последнею строку в Сводной. Но он должен ещё скопировать данные из формы в неё. В заданный диапозон. Dirc
Ответить
Сообщение Ну допустим определил последнею строку в Сводной. Но он должен ещё скопировать данные из формы в неё. В заданный диапозон. Автор - Dirc Дата добавления - 11.06.2014 в 16:55
Dмитрий
Дата: Среда, 11.06.2014, 17:01 |
Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 91
Репутация:
9
±
Замечаний:
40% ±
Excel 2010
Я думал по порядку, строчка за строчкой. Вы запускали макрос? Вот эта строчка, что делает? Workbooks("Книга1").Sheets("Лист1").Cells(r, 2) = Workbooks("Книга2").Sheets("Лист1").Cells(4, 5)
"копирует" название организации, по моему
Я думал по порядку, строчка за строчкой. Вы запускали макрос? Вот эта строчка, что делает? Workbooks("Книга1").Sheets("Лист1").Cells(r, 2) = Workbooks("Книга2").Sheets("Лист1").Cells(4, 5)
"копирует" название организации, по моему Dмитрий
Ответить
Сообщение Я думал по порядку, строчка за строчкой. Вы запускали макрос? Вот эта строчка, что делает? Workbooks("Книга1").Sheets("Лист1").Cells(r, 2) = Workbooks("Книга2").Sheets("Лист1").Cells(4, 5)
"копирует" название организации, по моему Автор - Dмитрий Дата добавления - 11.06.2014 в 17:01
Dirc
Дата: Понедельник, 16.06.2014, 09:26 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
А можно посмотреть на работу скрипта в ваших файлах. Когда я вставляю скрипт в свои выдаётся ошибка.
А можно посмотреть на работу скрипта в ваших файлах. Когда я вставляю скрипт в свои выдаётся ошибка. Dirc
Ответить
Сообщение А можно посмотреть на работу скрипта в ваших файлах. Когда я вставляю скрипт в свои выдаётся ошибка. Автор - Dirc Дата добавления - 16.06.2014 в 09:26
Hugo
Дата: Понедельник, 16.06.2014, 09:53 |
Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация:
707
±
Замечаний:
0% ±
2019
Попробуйте Workbooks("Книга1") прописать с расширением файла. А вообще я обычно задаю книгам переменные (когда их кодом открываю, или заставляю пользователя из указать, или в момент запуска кода беру в переменную активную книгу/лист) и затем обращаюсь к переменным.
Попробуйте Workbooks("Книга1") прописать с расширением файла. А вообще я обычно задаю книгам переменные (когда их кодом открываю, или заставляю пользователя из указать, или в момент запуска кода беру в переменную активную книгу/лист) и затем обращаюсь к переменным. Hugo
excel@nxt.ru webmoney: E265281470651 Z422237915069
Ответить
Сообщение Попробуйте Workbooks("Книга1") прописать с расширением файла. А вообще я обычно задаю книгам переменные (когда их кодом открываю, или заставляю пользователя из указать, или в момент запуска кода беру в переменную активную книгу/лист) и затем обращаюсь к переменным. Автор - Hugo Дата добавления - 16.06.2014 в 09:53
Dirc
Дата: Понедельник, 16.06.2014, 10:15 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Hugo , Помогло скрипт за работал. Но вместо копирования данных из Книги2 в последнюю строку Книги1, он удаляет последнюю строку в столбце В в Книге1.
Hugo , Помогло скрипт за работал. Но вместо копирования данных из Книги2 в последнюю строку Книги1, он удаляет последнюю строку в столбце В в Книге1.Dirc
Сообщение отредактировал Dirc - Понедельник, 16.06.2014, 10:16
Ответить
Сообщение Hugo , Помогло скрипт за работал. Но вместо копирования данных из Книги2 в последнюю строку Книги1, он удаляет последнюю строку в столбце В в Книге1.Автор - Dirc Дата добавления - 16.06.2014 в 10:15
Xaden
Дата: Понедельник, 16.06.2014, 11:44 |
Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация:
0
±
Замечаний:
0% ±
Excel 2003
я не спец, но все же может поможет, зайдите в скрипт и пошагово исполняйте его(alt + F11 и потом F8, на случай если не знаете), там уже и определите на каком действие и в какой строке происходит удаление вместо копирования.
я не спец, но все же может поможет, зайдите в скрипт и пошагово исполняйте его(alt + F11 и потом F8, на случай если не знаете), там уже и определите на каком действие и в какой строке происходит удаление вместо копирования. Xaden
Ответить
Сообщение я не спец, но все же может поможет, зайдите в скрипт и пошагово исполняйте его(alt + F11 и потом F8, на случай если не знаете), там уже и определите на каком действие и в какой строке происходит удаление вместо копирования. Автор - Xaden Дата добавления - 16.06.2014 в 11:44
Hugo
Дата: Понедельник, 16.06.2014, 11:48 |
Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация:
707
±
Замечаний:
0% ±
2019
Покажите итоговый вариант скрипта в файле.
Покажите итоговый вариант скрипта в файле. Hugo
excel@nxt.ru webmoney: E265281470651 Z422237915069
Ответить
Сообщение Покажите итоговый вариант скрипта в файле. Автор - Hugo Дата добавления - 16.06.2014 в 11:48
Dirc
Дата: Понедельник, 16.06.2014, 13:55 |
Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Файлы во вложении.
Ответить
Сообщение Файлы во вложении. Автор - Dirc Дата добавления - 16.06.2014 в 13:55
_Boroda_
Дата: Понедельник, 16.06.2014, 14:36 |
Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
А все просто - у Вас Workbooks("Книга2.xls").Sheets("Лист1").Cells(4, 5) пусто. Это ячейка Е5. Там нет ничего. Вам нужно написать примерно так: [vba]Код
Workbooks("1009211.xls").Sheets("Лист1").Cells(r+1, 2) = Workbooks("Книга2.xls").Sheets("Лист1").Cells(НомерСтрокиОткудаКопируем, НомерСтолбцаОткудаКопируем)
[/vba] Обратите внимание: Cells(r+1 )
А все просто - у Вас Workbooks("Книга2.xls").Sheets("Лист1").Cells(4, 5) пусто. Это ячейка Е5. Там нет ничего. Вам нужно написать примерно так: [vba]Код
Workbooks("1009211.xls").Sheets("Лист1").Cells(r+1, 2) = Workbooks("Книга2.xls").Sheets("Лист1").Cells(НомерСтрокиОткудаКопируем, НомерСтолбцаОткудаКопируем)
[/vba] Обратите внимание: Cells(r+1 ) _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение А все просто - у Вас Workbooks("Книга2.xls").Sheets("Лист1").Cells(4, 5) пусто. Это ячейка Е5. Там нет ничего. Вам нужно написать примерно так: [vba]Код
Workbooks("1009211.xls").Sheets("Лист1").Cells(r+1, 2) = Workbooks("Книга2.xls").Sheets("Лист1").Cells(НомерСтрокиОткудаКопируем, НомерСтолбцаОткудаКопируем)
[/vba] Обратите внимание: Cells(r+1 ) Автор - _Boroda_ Дата добавления - 16.06.2014 в 14:36
Dirc
Дата: Вторник, 17.06.2014, 10:08 |
Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
_Boroda_ , спасибо всё заработала. И последний вопрос, как задать диапазон копирования? Например строка 10 столбцы E, F, G.
_Boroda_ , спасибо всё заработала. И последний вопрос, как задать диапазон копирования? Например строка 10 столбцы E, F, G.Dirc
Ответить
Сообщение _Boroda_ , спасибо всё заработала. И последний вопрос, как задать диапазон копирования? Например строка 10 столбцы E, F, G.Автор - Dirc Дата добавления - 17.06.2014 в 10:08
_Boroda_
Дата: Вторник, 17.06.2014, 10:18 |
Сообщение № 13
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Например, ...Range("E10:G10") или ...Calls(10,5).Resize(,3) Ой, не зарекайтесь!
Например, ...Range("E10:G10") или ...Calls(10,5).Resize(,3) Ой, не зарекайтесь! _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Например, ...Range("E10:G10") или ...Calls(10,5).Resize(,3) Ой, не зарекайтесь! Автор - _Boroda_ Дата добавления - 17.06.2014 в 10:18
Dirc
Дата: Вторник, 17.06.2014, 12:29 |
Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Эх, пытался реализовать диапазоном, не сработало. Реализовал по кривому
Эх, пытался реализовать диапазоном, не сработало. Реализовал по кривому Dirc
Ответить
Сообщение Эх, пытался реализовать диапазоном, не сработало. Реализовал по кривому Автор - Dirc Дата добавления - 17.06.2014 в 12:29
Dirc
Дата: Вторник, 17.06.2014, 17:54 |
Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Подскажите как можно это прописать 2 строчками а не 12 как я)
Подскажите как можно это прописать 2 строчками а не 12 как я) Dirc
Ответить
Сообщение Подскажите как можно это прописать 2 строчками а не 12 как я) Автор - Dirc Дата добавления - 17.06.2014 в 17:54
Dirc
Дата: Понедельник, 23.06.2014, 13:21 |
Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Тему можно закрывать, со всем разобрался. Всем участником огромное спасибо!
Тему можно закрывать, со всем разобрался. Всем участником огромное спасибо! Dirc
Ответить
Сообщение Тему можно закрывать, со всем разобрался. Всем участником огромное спасибо! Автор - Dirc Дата добавления - 23.06.2014 в 13:21