|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.02.2013, 09:48 | #1 |
Регистрация: 31.01.2013
Сообщений: 3
|
Макрос переноса строки из одного листа в другой
Здравствуйте уважаемые форумчане! Оч срочно нужна помощь решить задачу (готового не нашёл а на переделку и вникание потратил неделю и толку никакого).
Задача простая (просто я не сталкивался с макросами). Есть книга с Лист1 Лист2 и т д В листах происходят некие вычисления -данные сводятся в определённую строку (строка одна и та же например №18) Нужена кнопка (макрос) при нажатии на которую эта строка №18 копировалась на другой лист (например Лист10)этой же книги. Т е такая копка будет в каждом листе с вычислениями (Листы1-5) а строки копироваться из Листов1-5 на Лист10 одна под другой. Перенос с листов 1-5 будет выборочный .Т е не все листы нужно заносить в Лист10. При копировании повторяющейся детали (яч№2 ) нужно присвоить индекс типа "деталь 1" В перспективе листов с вычислениями будет штук100.И надо будет управление переносом свести в какойто главный лист.Но тут срочность важна поэтому упростил задачу специально...Очень благодарен если кто откликнется...!!!! |
03.02.2013, 11:59 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
ссержа, сформируйте Excel-книгу с примерными данными, выложите эту книгу на Форуме и на примере этой книги поясните, какой должен быть результат.
|
03.02.2013, 13:55 | #3 |
Регистрация: 31.01.2013
Сообщений: 3
|
Сорри вот пимер чего должно получиться.Ещё потом на том листе в который копируются строки тоже макрос переводящий этот список в текстовый формат с разделительными табуляциями (переводить нужно только таблицу -без суммы внизу)
|
03.02.2013, 20:12 | #4 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
ссержа, я сделал кнопки только для двух листов. По аналогии сделайте кнопки для остальных листов.
Данные вставляются на последний лист. Про выгрузку данных в текстовый файл, я не смотрел. |
04.02.2013, 09:30 | #5 |
Регистрация: 31.01.2013
Сообщений: 3
|
Просто супер!! Всё работает !Спасибо огромное лично Вам Скрипт!
Если можно -нужна небольшая доделка.Выяснилось что некоторые листы (которых будет штук 100) ну из которых надо переносить строку будут содержать этих строк до 15штук одна под другой.Т е перенос нужно будет делать (в общем случае) когда одну строку а когда 15 сразу.Пытаюсь разобраться сам но мало времени....Просто уже надо внедрять всё это... Заранее благодарен в любом случае |
04.02.2013, 11:01 | #6 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
ссержа, чтобы упростить написание кодов, я разбил VBA-код на два независимых макроса.
Первый макрос переносит данные с активного листа на последний лист. Второй макрос - присваивает порядковые номера. Перед запуском первого макроса, сделайте активной или выделите несколько ячеек в столбце "B" (с клавишей Ctrl не выделяйте), которые нужно скопировать на последний лист. Для запуска второго макроса, в VBA сделайте следующее: Tools - References... - Microsoft Scripting Runtime. Перед запуском второго макроса, просто сделайте активным последний лист. Чтобы на каждом листе не делать кнопку для вызова макроса, сделайте кнопку на Панели инструментов. Чтобы поместить коды, которые я выложил, в VBA:
|
08.02.2013, 22:39 | #7 |
Регистрация: 22.06.2012
Сообщений: 9
|
фцв
А можно ли то-же самое , только не одну строку и столбец , а(например выделенное ) несколько строк и столбцов?
Последний раз редактировалось deatmach; 08.02.2013 в 22:49. Причина: а, всё всё изменил |
04.04.2016, 15:03 | #8 |
Новичок
Джуниор
Регистрация: 04.04.2016
Сообщений: 2
|
Добрый время суток!
У меня возникла проблема с макросом переноса строки из одного листа в другой. А именно макрос работает переносит с "Ввод результатов испытаний" интервал С1:С48 в данные но переносит в столбик, а мне надо в строчку. В "данные" с А4:AP4 и следующие данные с А5:AP5. ?Подскажите пожалуйста как написать макрос. Sub uuu() With Sheets("Ввод результатов испытаний").Range("C1:C48") Sheets("данные").Range("A4").Resize (.Rows.Count, .Columns.Count) = .Value lr = .Cells(Rows.Count, 1).End(xlUp).Row If .Cells(lr, 1) = Date Then .Cells(lr, 1).Resize(1, 3) = arr Else: .Cells(lr + 1, 1).Offset(1, 0).Resize(1, 3) = arr End If MsgBox "Сделано" End With End Sub |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос переноса данных с одного листа на другой в определенной последовательности | Виктория1986 | Microsoft Office Excel | 4 | 23.12.2012 23:42 |
макрос для копирования строк из одного листа в другой если функция не ровна "" | rodgerr86 | Microsoft Office Excel | 0 | 04.07.2012 00:12 |
Формула для переноса значения с одного листа на другой | Олег197709 | Microsoft Office Excel | 12 | 12.07.2010 10:52 |
Удаление активой строки с одного листа на другой | MilanAC | Помощь студентам | 0 | 28.04.2010 22:08 |
Проблема переноса строк из одного списка (Listbox) в другой. | hip3r | Win Api | 4 | 13.10.2009 11:59 |