Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/329: Рейтинг темы: голосов - 329, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 4
1

Перенос всех строк с заданным условием на другой лист

30.06.2016, 21:23. Показов 61657. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Очень нужен макрос, который бы переносил все значения столбцов одной строки по заданному параметру на другой лист.

К примеру, у меня есть набор данных, из которых я хочу вычленить только те, где значение столбца URL = *instagram.com и перенести на другой лист вместе со всеми другими параметрами.

Читала много тем на форуме, но никак не могу провести параллели со своей задачей.

Очень буду рада помощи! Спасибо.

тест.xlsx
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2016, 21:23
Ответы с готовыми решениями:

Перенос данных на другой лист с условием
Уперся в одну проблему. Хочу создать подобие сканера букмекерских контор.:) Есть массив данных...

Перенос строк с заданным условием
Есть книга с большим количеством листов Нужно чтобы на последний лист выписывались строки по...

Перенос строк на другой лист
Добрый день! Возникла такая ситуация, нужно из одного листа, перенести данные в другой лист, там у...

Перенос строк на другой лист двойным щелчком
Здравствуйте. Нашел вот такую команду Private Sub Worksheet_BeforeDoubleClick(ByVal Target As...

20
6014 / 3207 / 719
Регистрация: 23.11.2010
Сообщений: 10,721
30.06.2016, 21:25 2
Расширенный фильтр посмотрите
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 4
30.06.2016, 21:32  [ТС] 3
Посмотрела. Пишет, что копирование на отдельный лист не допускается.

Пол дня сегодня промучилась над этим вопросом( Голова уже не соображает.

Если в примере я привела двадцать строк, то по работе я имею дело с массивом в несколько тысяч.

Мальчик занимавшийся макросами уволился, а на меня всех собак повесили.
Если кто может объяснить доходчиво, я попробую написать сама, но за что хвататься - не знаю!
0
6014 / 3207 / 719
Регистрация: 23.11.2010
Сообщений: 10,721
30.06.2016, 22:02 4
testpa, скопируйте на этот же лист, потом перенесете на другой лист
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.06.2016, 22:13 5
Лучший ответ Сообщение было отмечено testpa как решение

Решение

testpa, Если перед тем, как вызвать диалоговое окно Расширенный фильтр, Вы активируете рабочий лист, куда необходимо скопировать все отфильтрованные данные, то всё сработает. А если захотите немного упростить себе жизнь, то в аттаче сможете найти пример с тем же расширенным фильтром.
Вложения
Тип файла: zip Sample_for_Testpa.zip (11.5 Кб, 603 просмотров)
3
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 4
30.06.2016, 22:28  [ТС] 6
Огромное спасибо! Все работает!!! Даже с кнопочкой

Но как вы это сделали?? Я вас очень прошу, объясните мне поэтапно, если после рабочего дня на это остались силы и терпение. Я не могу тупо пользоваться уже готовым( Если задача поменяется и нужно будет менять какие-то условия, то сяду в лужу. Хочется понять принцип работы, чтобы самой в дальнейшем решать. Нужно головой не только кушать)

Тысячи благодарностей вам)
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.06.2016, 22:44 7
Собственно, я просто использовал расширенный фильтр, только программно. Единственный нюанс - исходный диапазон, там определяется как текущая область вокруг ячейки Упоминания!B3
Миниатюры
Перенос всех строк с заданным условием на другой лист  
0
0 / 0 / 0
Регистрация: 30.06.2016
Сообщений: 4
30.06.2016, 23:19  [ТС] 8
pashulka, Спасибо))) Сначала начала злиться, что не могу понять, а потом нашла другое видео, где показали на пальцах и теперь довольна)) В любом случае, вы мой герой на сегодня.

Добавлено через 9 минут
pashulka, и последнее) Скажите, а можно вот этот уже готовый фильтр превратить в макрос (и сделать для него такую же красивую кнопочку, как у вас).
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.06.2016, 23:39 9
Не видео, а просто полезные статьи :

Создание и удаление макросов

Добавление на лист кнопки и назначение ей макроса
0
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 13
07.06.2020, 01:01 10
Доброго времени суток, Уважаемые знатоки!
У меня похожая ситуация, только можно подправить таким образом, чтобы копировалась не вся строка, а только именно эти столбцы.
Заранее спасибо!
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
07.06.2020, 08:26 11
alyaska213, Если столбец, где находятся критерии отбора, является частью 'именно этих' столбцов, то указывайте конкретно их. А если речь идёт о несмежных столбцах, то копируете все столбцы и удаляете ненужные.

Или говорите более предметно, файл с абстрактными данными (в виде .xls/.xlsx, не картинки) в виде нескольких десятков строк. И что нужно копировать, по какому принципу(критерию). И не помешает сказать, сколько в реальности строк.
0
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 13
07.06.2020, 11:48 12
Я в качестве примера за основу взял данные девушки, которая выше писала, т.к. вся база на работе осталась.
Но учел количество столбцов.

В файле лист "Данные" строк будет не более 1500. По столбцу, выделенной красной заливкой, будет происходить фильтрование, по аналогии с сообщениями девушки выше (vk.com, facebook.com, и т.д.)

В листе "Выборка" - готовый вид отфильтрованных значений.
Вложения
Тип файла: rar свод_2.rar (367.0 Кб, 177 просмотров)
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
07.06.2020, 13:43 13
В файле нет переноса только избранных столбцов.
А чтобы избежать очистки данных лишних столбцов, достаточно явно указать столбцы, т.е. вместо
wsSheet2.[A5].CurrentRegion.Clear написать что-то вроде wsSheet2.Range("A5:H" & Rows.Count).Clear


или wsSheet2.Range("A5:H" & wsSheet2.Rows.Count).Clear если в момент выполнения макроса - активным может быть лист, не имеющий ячеек, например, лист диаграммы
1
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 13
07.06.2020, 21:02 14
pashulka, Превосходно и Волшебно!

Я прошу прощения за столь яркие эмоции, просто сам только буквально вчера начал изучать макросы.

Огромнейшее спасибо!!!

С Днем Святой Троицы!
0
0 / 0 / 0
Регистрация: 14.11.2020
Сообщений: 4
14.11.2020, 18:22 15
Здравствуйте!

Я методом тыка и многих чтений сделала такую же таблицу, вот только в моем списке поиск по Фамилии учеников
Подскажите пожалуйста, а можно дописать какую-то команду, чтобы искалось не совпадение в ячейке, а точное значение.
Потому что есть, к примеру Сорокин, а есть СорокинА.
И в поля, связанных с Сорокин, происходит непонятные вычисления.

Буду признательна.
0
2736 / 1711 / 778
Регистрация: 23.03.2015
Сообщений: 5,420
14.11.2020, 18:25 16
teacher6,
Прикрепите файл- пример ...
Покажите в нем исходные данные ( 3-4 строки) и что хотите получить...
0
2736 / 1711 / 778
Регистрация: 23.03.2015
Сообщений: 5,420
14.11.2020, 23:52 17
teacher6,

Если используете файл Паши, то уберите звездочки (*) перед словом и после него
Миниатюры
Перенос всех строк с заданным условием на другой лист  
0
0 / 0 / 0
Регистрация: 14.11.2020
Сообщений: 4
23.11.2020, 08:54 18
Здравствуйте еще раз!
Прошу прощения, времени не было для дальнейшего познания.
Да, этот файл использую, вместо ссылок в примере фамилии. Так вот при однокоренном совпадении, все равно получается весь список.
Вложения
Тип файла: xls Sample_for_Testpa.xls (36.5 Кб, 114 просмотров)
0
2736 / 1711 / 778
Регистрация: 23.03.2015
Сообщений: 5,420
23.11.2020, 10:42 19
teacher6,
Для вашего файла:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub MMM()
With Worksheets("Óïîìèíàíèÿ")
        Set R1 = Range(.Cells(4, 2), .Cells(.Cells(Rows.Count, 4).End(xlUp).Row, 9))
        ARR1 = R1.Value
End With
M = 1
With Worksheets("Ðåçóëüòàò")
ReDim ARR2(1 To UBound(ARR1), 1 To UBound(ARR1, 2))
 SS = .Cells(2, 1).Value
        For i = 1 To UBound(ARR1)
            If ARR1(i, 3) = SS Then
              For j = 1 To UBound(ARR1, 2)
                ARR2(M, j) = ARR1(i, j)
              Next
              M = M + 1
        End If
        Next
Range(.Cells(6, 1), .Cells(200, 8)).ClearContents
  .Cells(6, 1).Resize(UBound(ARR2), UBound(ARR2, 2)).Value = ARR2
        
End With
End Sub
0
0 / 0 / 0
Регистрация: 06.04.2021
Сообщений: 1
07.04.2021, 11:18 20
Подскажите пожалуйста, как сделать: есть таблица excel, состоящая из трех листов. Необходимо, чтобы при вводе "done" в столбце T вся строка из первого листа копировалась на 3 лист. Спасибо.
0
07.04.2021, 11:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2021, 11:18
Помогаю со студенческими работами здесь

Перенос строк на другой лист по диапазону дат в столбце
Добрый вечер. Помогите,пожалуйста. Есть определенная информация,необходимо по кнопке Отчет по...

Отбор строк в таблице, отвечающих условию и перенос выборки на другой лист
Здравствуйте! Пытаюсь помочь друзьям, совсем не силен в Excel :) Извините если вопрос не в той...

Перенос строк содержаших некоторые определенные слова в очень большой таблице на другой лист.
Добрый день! Надеюсь найду здесь помощь, потому что нужно сделать очень срочно. Поиск по форуму...

Поиск и выделение всех строк с искомым с последующим копированием на другой лист
такая вот проблемка!.....в первом листе "массив", в первой колонке даты без перемешивания (4 строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru