Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

копирование строк в другой лист

Автор AndrewACC, 20.04.2014, 19:09

« назад - далее »

AndrewACC

Есть таблица. В ней по определённому столбцу ячейки форматируются правилом в зависимости от их значения (15-й столбец).
Необходимо все строчки в которых значение 15-ого столбца имеют красный цвет копировать в другой лист\книгу.
Каким способом это можно сделать?

GWolf

Доброго дня!
Могу предложить: - Макросом. Только нужно уточнить, в какой момент должно осуществляться копирование. От этого будет зависеть сценарий работы макроса. Мне видятся один из двух вариантов: вариант первый - копируем при наступлении события: в ячейке появилось отрицательное значение. В таком случае "навешиваем" макрос на событие листа: Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

или
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
;
вариант второй - копируем при открытии и (или) при закрытии книги. В этом случае потребуется помечать уже скопированные, что бы не копировать дважды.
Какой вариант Вам предпочтительнее?
Путей к вершине - множество. Этот один из многих!

GWolf

К стати!
Вот здесь: http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=42244 решался похожий вопрос. И если уж мы договариваемся об использовании VBA, то есть ли смысл связываться с УФ? Я бы всю задачу решал на VBA. И места меньше занимает, да и гибче. На мой взгляд!
Путей к вершине - множество. Этот один из многих!

AndrewACC

Цитата: GWolf от 21.04.2014, 05:26
Доброго дня!
Могу предложить: - Макросом. Только нужно уточнить, в какой момент должно осуществляться копирование. От этого будет зависеть сценарий работы макроса. Мне видятся один из двух вариантов: вариант первый - копируем при наступлении события: в ячейке появилось отрицательное значение. В таком случае "навешиваем" макрос на событие листа: Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

или
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
;
вариант второй - копируем при открытии и (или) при закрытии книги. В этом случае потребуется помечать уже скопированные, что бы не копировать дважды.
Какой вариант Вам предпочтительнее?
Предпочтительнее вообще делать это по кнопке, т.к. данная процедура будет делаться 1 раз как будут заполнены все данные.

GWolf

Цитата: AndrewACC от 21.04.2014, 09:24
... Предпочтительнее вообще делать это по кнопке, т.к. данная процедура будет делаться 1 раз как будут заполнены все данные.
Ну, так нет ничего проще. Создаем на листе Элемент управления "Кнопка" и чипляем на нее макрос который будет "пробегать" в цикле строки таблицы и при обнаружении строки красного цвета, копировать ее.
Путей к вершине - множество. Этот один из многих!

Галина Зайцева

Здравствуйте, помогите,пожалуйста, поправить макрос -
есть файл свидетельство о поверке счетчиков воды.rar (данные в свидетельство вбиваются с клавиатуры) - требуется те же самые данные составить списком (для примера файл данные для водоканала.xls), я попыталась сделать макрос, которые выбирает нужные данные из свидетельства и переносит их на новый лист.
Вопрос: как поправить макрос так, чтобы он не затирал предыдущую строчку,т.е. меняя каждый раз данные в свидетельстве, макрос дописывал данные в таблицу и не затирал предыдущие.
Спасибо

GWolf

Цитата: Галина Зайцева от 28.05.2014, 11:28
Здравствуйте, помогите,пожалуйста, поправить макрос ...
Прошу прощения, запрос о помощи к ТС или ко мне?
Путей к вершине - множество. Этот один из многих!

GWolf

Цитата: GWolf от 24.09.2014, 12:22
Цитата: Галина Зайцева от 28.05.2014, 11:28
Здравствуйте, помогите,пожалуйста, поправить макрос ...
Прошу прощения, запрос о помощи к ТС или ко мне?
Ну, на всякий случай, если вопрос был адресован мне. На скрепке вариант решения.
Путей к вершине - множество. Этот один из многих!