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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос данных из формы в сводную таблицу - Мир MS Excel

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

Excel 2010
Доброго времени суток. Я недавно начал осваивать макросы в Excel и столкнулся с задачей, которую я не могу решить. Пытался использовать код в похожих примерах, но не смог.
Цель задачи:
Есть две таблицы, первая является формой (Форма расчёта заявки.xlsm) вторая (Сводная.xls), строится на основе данных формы по нажатию на кнопки на листе.
К сообщению приложен файл: 2236067.xls (31.0 Kb) · 5406459.xls (26.5 Kb)
 
Ответить
СообщениеДоброго времени суток. Я недавно начал осваивать макросы в 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митрий
Дата добавления - 11.06.2014 в 16:36
Dirc Дата: Среда, 11.06.2014, 16:55 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ну допустим определил последнею строку в Сводной. Но он должен ещё скопировать данные из формы в неё. В заданный диапозон.
 
Ответить
СообщениеНу допустим определил последнею строку в Сводной. Но он должен ещё скопировать данные из формы в неё. В заданный диапозон.

Автор - 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митрий
Дата добавления - 11.06.2014 в 17:01
Dirc Дата: Понедельник, 16.06.2014, 09:26 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А можно посмотреть на работу скрипта в ваших файлах. Когда я вставляю скрипт в свои выдаётся ошибка. :(
К сообщению приложен файл: 4182284.jpg (17.2 Kb) · 5214931.jpg (25.4 Kb)
 
Ответить
СообщениеА можно посмотреть на работу скрипта в ваших файлах. Когда я вставляю скрипт в свои выдаётся ошибка. :(

Автор - Dirc
Дата добавления - 16.06.2014 в 09:26
Hugo Дата: Понедельник, 16.06.2014, 09:53 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Попробуйте Workbooks("Книга1") прописать с расширением файла.
А вообще я обычно задаю книгам переменные (когда их кодом открываю, или заставляю пользователя из указать, или в момент запуска кода беру в переменную активную книгу/лист) и затем обращаюсь к переменным.


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.
К сообщению приложен файл: 2549660.jpg (28.8 Kb) · 5557242.jpg (24.2 Kb)


Сообщение отредактировал 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
Дата добавления - 16.06.2014 в 11:44
Hugo Дата: Понедельник, 16.06.2014, 11:48 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Покажите итоговый вариант скрипта в файле.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеПокажите итоговый вариант скрипта в файле.

Автор - Hugo
Дата добавления - 16.06.2014 в 11:48
Dirc Дата: Понедельник, 16.06.2014, 13:55 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Файлы во вложении.
К сообщению приложен файл: 1009211.xls (33.0 Kb) · 8633868.xls (24.5 Kb)
 
Ответить
СообщениеФайлы во вложении.

Автор - 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)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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
Дата добавления - 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)
И последний вопрос
Ой, не зарекайтесь!


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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
Эх, пытался реализовать диапазоном, не сработало. Реализовал по кривому :(
К сообщению приложен файл: 0000514.xls (40.5 Kb) · 6107814.xls (27.5 Kb)
 
Ответить
СообщениеЭх, пытался реализовать диапазоном, не сработало. Реализовал по кривому :(

Автор - Dirc
Дата добавления - 17.06.2014 в 12:29
Dirc Дата: Вторник, 17.06.2014, 17:54 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Подскажите как можно это прописать 2 строчками а не 12 как я)
 
Ответить
СообщениеПодскажите как можно это прописать 2 строчками а не 12 как я)

Автор - Dirc
Дата добавления - 17.06.2014 в 17:54
Dirc Дата: Понедельник, 23.06.2014, 13:21 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Тему можно закрывать, со всем разобрался. Всем участником огромное спасибо! B)
 
Ответить
СообщениеТему можно закрывать, со всем разобрался. Всем участником огромное спасибо! B)

Автор - Dirc
Дата добавления - 23.06.2014 в 13:21
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос данных из формы в сводную таблицу (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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