Перемещение строки по условию excel

Разложить табличные данные в Excel на составляющие части и разнести их по разным листам рабочей книги можно при помощи перемещения строк. Проблемы начинаются при попытке перенести несколько строк одновременно, но обо всем попорядку.

Для перемещения строки в Excel, можно подвести курсор мыши к границе маркера выделения до появления маленьких стрелок в четыре разные стороны, нажать левую кнопку мыши и удерживая её переместить строку вверх либо вниз. В этом случае содержимое конечных ячеек будет заменено. Осуществить такое перемещение можно только в пределах активного листа.

В общем же случае, чтобы переместить строку, необходимо её вырезать и вставить уже в нужном месте. Для этого необходимо:

1) выделить перемещаемую строку (подвести курсор мыши к номеру строки и кликнуть на нем левой кнопкой);

2) вырезать выделенную строку любым удобным способом (через главное меню, через контекстное меню, горячими клавишами Ctrl+X)

3) на нужном листе выделить строку, либо самую левую ячейку строки, в которую будет произведена вставка;

4) вставить вырезанные ячейки. 

Здесь следует заметить, что в контекстном меню (по нажатию правой кнопки мыши) доступны два пункта, связанные со вставкой — «Вставить» и «Вставить вырезанные ячейки».

kontekstnoe-menyu-vstavit-vyrezannye-yachejki

При выборе первого из этих пунктов вырезанная строка будет помещена поверх строки, выбранной для вставки, а при выборе пункта второго, строка будет помещена между строк, то есть без потери каких-либо данных.

В случае, если выделено несколько несмежных между собой строк, то граница маркера выделения исчезает и такой набор строк переместить уже не удастся. Кроме того, при попытке вырезать несколько несмежных строк одновременно, приложение выдает сообщение «Данная команда неприменима для несвязных диапазонов. Выберите один диапазон и снова выберите команду.»

dannaya-komanda-neprimenima-dlya-nesvyaznyh-diapazonov

Аналогичное сообщение появляется при попытке одновременно вырезать группу ячеек, не входящих в один диапазон.

После получения такого сообщения остается либо таскать строки по одной, либо искать другие инструменты.

Как быстро переместить строки на новый лист Excel?

Одним из таких инструментов является надстройка для Excel на основе Visual Basic for Application.

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

как переместить строки в excelCompleteSolutionмакрос (надстройка) для выборочного перемещения строк по условию

 С этой надстройкой Вы сможете:

1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;

2. Задавать значение для поиска;

3. Задавать несколько значений для поиска через символ-разделитель «;» точку с запятой;

4. Учитывать либо не учитывать регистр при поиске заданных значений;

5. Выбирать диапазон ячеек для поиска заданных значений;

6. Выбирать одно из восьми условий для выбранных ячеек:

    а) совпадает с искомым значением;

    б) не совпадает с искомым значением;

    в) содержит искомое значение;

    г) не содержит искомое значение;

    д) начинается с искомого значения;

    е) не начинается с искомого значения;

    ж) заканчивается искомым значением;

    з) не заканчивается искомым значением.

7. Устанавливать дополнительные ограничения для выбранного диапазона.

А знаете ли Вы, что все листы рабочей книги можно быстро превратить в отдельные файлы?

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

Другие материалы по теме:

0 / 0 / 0

Регистрация: 30.06.2016

Сообщений: 4

1

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

30.06.2016, 21:23. Показов 56124. Ответов 20


Студворк — интернет-сервис помощи студентам

Здравствуйте.

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

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

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

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

тест.xlsx



0



5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

30.06.2016, 21:25

2

Расширенный фильтр посмотрите



0



0 / 0 / 0

Регистрация: 30.06.2016

Сообщений: 4

30.06.2016, 21:32

 [ТС]

3

Посмотрела. Пишет, что копирование на отдельный лист не допускается.

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

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

Мальчик занимавшийся макросами уволился, а на меня всех собак повесили.
Если кто может объяснить доходчиво, я попробую написать сама, но за что хвататься — не знаю!



0



5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

30.06.2016, 22:02

4

testpa, скопируйте на этот же лист, потом перенесете на другой лист



0



4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

30.06.2016, 22:13

5

Лучший ответ Сообщение было отмечено testpa как решение

Решение

testpa, Если

перед

тем, как вызвать диалоговое окно Расширенный фильтр, Вы активируете рабочий лист, куда необходимо скопировать все отфильтрованные данные, то всё сработает. А если захотите немного упростить себе жизнь, то в аттаче сможете найти пример с тем же расширенным фильтром.



3



0 / 0 / 0

Регистрация: 30.06.2016

Сообщений: 4

30.06.2016, 22:28

 [ТС]

6

Огромное спасибо! Все работает!!! Даже с кнопочкой

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

Тысячи благодарностей вам)



0



4131 / 2235 / 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



4131 / 2235 / 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



4131 / 2235 / 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, и т.д.)

В листе «Выборка» — готовый вид отфильтрованных значений.



0



4131 / 2235 / 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



2632 / 1637 / 745

Регистрация: 23.03.2015

Сообщений: 5,147

14.11.2020, 18:25

16

teacher6,
Прикрепите файл- пример …
Покажите в нем исходные данные ( 3-4 строки) и что хотите получить…



0



2632 / 1637 / 745

Регистрация: 23.03.2015

Сообщений: 5,147

14.11.2020, 23:52

17

teacher6,

Если используете файл Паши, то уберите звездочки (*) перед словом и после него

Миниатюры

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



0



0 / 0 / 0

Регистрация: 14.11.2020

Сообщений: 4

23.11.2020, 08:54

18

Здравствуйте еще раз!
Прошу прощения, времени не было для дальнейшего познания.
Да, этот файл использую, вместо ссылок в примере фамилии. Так вот при однокоренном совпадении, все равно получается весь список.



0



Narimanych

2632 / 1637 / 745

Регистрация: 23.03.2015

Сообщений: 5,147

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



Группа: Пользователи

Ранг: Прохожий

Сообщений: 2


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Добрый день!
Не скажу, что совсем не знаю Excel но все таки требуется помощь!
Есть таблица. На первом листе со множеством столбцов и ещё большим количеством строк. Содержание ячеек представлено в виде текстовой информации, дат, цен, текстовой информацией, пусть будет «Ресстр». Данный Реестр каждый день пополняется новыми данными
Как сделать так, чтобы на следующем листе книги отражалась (дублировалась) информация (строка) лишь по нескольким ячейкам из листа №1, при условии что данные в одном из столбцов > 0 То есть, если в Таблице № 1 в столбце «6» какой-либо строчки появляется значение >0, тогда эта строчка с определенным (меньшим) набором ячеек переносится в Таблицу № 2 и встает по порядку. И по мере добавления строк в лист 1 данные автоматически отображались бы в листе 2 при указанном выше условии.
Лучше бы без макросов.
Буду признателен за пошаговую инструкцию, дабы иметь возможность разрабатывать самому вариации применения
файл ниже
За ранее благодарен!

К сообщению приложен файл:

___.xlsx
(67.0 Kb)


Чулпан

Сообщение отредактировал chulpanЧетверг, 30.03.2017, 21:35

 

trainee

Пользователь

Сообщений: 8
Регистрация: 21.03.2020

Пол вечера искал решение, скачал кучу макросов, но вот прикрутить их к своему файлу увы не смог.
Необходимо при изменении статуса задачи на значение «завершено» при нажатии кнопки «удалить» перемещать строку (задачу) на лист «завершенные» в конец таблицы!
А при снятии статуса «завершено» на листе «завершенные» при нажатии кнопки «вернуть» перемещение строки обратно на лист «список задач».
Прошу при написании кода подробно описать логику работы макроса, что бы можно было использовать его в других проектах не очень опытными пользователями.
За ранее спасибо за помощь!

 

trainee

Пользователь

Сообщений: 8
Регистрация: 21.03.2020

В прикрепленном файле есть решение выше поставленной задачи. Но перенести его в свой файл мне никак не удается.  :(  

Изменено: trainee29.03.2020 22:03:59

 

Андрей_26

Пользователь

Сообщений: 647
Регистрация: 30.01.2018

#3

29.03.2020 22:20:37

Цитата
trainee написал:
Необходимо при изменении статуса задачи на значение «завершено» при нажатии кнопки «удалить» перемещать строку (задачу) на лист «завершенные» в конец таблицы!

это сделал, обратно думаю сами сделаете.

Прикрепленные файлы

  • Список дел тест.xlsm (61.02 КБ)

 

trainee

Пользователь

Сообщений: 8
Регистрация: 21.03.2020

#4

29.03.2020 22:35:36

Спасибо огромное! Но не могли бы вы подробно расписать смысл всех строк! Не могу сообразить как это работает!

Код
Sub delete() 'название макроса
    lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row
    If Sheets("Завершенные").Cells(4, 2) = "" Then
        lr = 4
    Else: lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row + 1
    End If
    For i = 4 To Cells(Rows.Count, 4).End(xlUp).Row
        If Cells(i, 4) = "Завершено" Then
           Range("B" & CStr(i) & ":J" & i).Copy Sheets("Завершенные").Range("B" & lr)
           Rows(i).delete
        End If
    Next
End Sub

Изменено: trainee29.03.2020 23:27:25
(по требованию модератора)

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#5

29.03.2020 22:56:12

trainee,
Что-то я сомневаюсь в правильной работе макроса.
Цикл надо делать от последней строки до 4 с шагом -1

Код
For i =  Cells(Rows.Count, 4).End(xlUp).Row To 4 Step -1
 

Юрий М

Модератор

Сообщений: 60586
Регистрация: 14.09.2012

Контакты см. в профиле

trainee, код следует оформлять соответствующим тегом: ищите такую кнопку (см. скрин) и исправьте своё сообщение.

 

trainee

Пользователь

Сообщений: 8
Регистрация: 21.03.2020

#7

29.03.2020 23:16:32

По одной строке перемещает отлично, но при множественном выборе на соседнем листе появляется только одна строка, а остальные просто исчезают  :(

Код
Sub Delete()
    lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row
    If Sheets("Завершенные").Cells(4, 2) = "" Then
        lr = 4
    Else: lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row + 1
    End If
    For i = Cells(Rows.Count, 4).End(xlUp).Row To 4 Step -1 'цикл от последней строки до четвертой с шагом -1
        If Cells(i, 4) = "Завершено" Then
           Range("B" & CStr(i) & ":J" & i).Copy Sheets("Завершенные").Range("B" & lr)
           Rows(i).Delete
        End If
    Next
End Sub

Прикрепленные файлы

  • Список дел тест (2).xlsm (62.94 КБ)

Изменено: trainee29.03.2020 23:28:16
(по требованию модератора)

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#8

29.03.2020 23:38:58

trainee,
Вы копируете диапазон

Код
Range("B" & CStr(i) & ":J" & i).Copy 

в

Код
Sheets("Завершенные").Range("B" & lr)

при этом переменную lr не изменяете и у вас все копируется в одну строку
После удаления строки

Код
Rows(i).Delete

добавьте

Код
lr=lr + 1
 

trainee

Пользователь

Сообщений: 8
Регистрация: 21.03.2020

#9

30.03.2020 00:38:16

Большое спасибо! Код поправил, и все заработало!
Последняя просьба, проверьте правильно ли я понял работу макроса и как работает копирование строки для меня по прежнему загадка.
Ещё раз спасибо, вы очень мне помогли!

Код
Sub Delete() 'удаляет завершенные задачи
    
    'присваивает переменной lr номер последней строки во втором (В) столбце на листе завершенные
    lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row
    'присваивает lr номер четвертой строки при условии что она пустая на листе завершенные
    If Sheets("Завершенные").Cells(4, 2) = "" Then
        lr = 4
    'присваивает lr номер первой пустой строки во втором (В) столбце при условии что 4 заполнена
    Else: lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row + 1
    End If
    'цикл от последней строки в четвертом столбце до четвертой с шагом -1
    For i = Cells(Rows.Count, 4).End(xlUp).Row To 4 Step -1
        'если в ячейках четвертого столбца значение "завершено", то
        If Cells(i, 4) = "Завершено" Then
           'как работает следующая строка?
           ' создает массив между В и J столбцами и как то копирует
           Range("B" & CStr(i) & ":J" & i).Copy Sheets("Завершенные").Range("B" & lr)
           'удаление строки i
           Rows(i).Delete
           'изменение номера строки на следующую
           lr = lr + 1
        End If
    Next
End Sub

Прикрепленные файлы

  • Список дел тест (2).xlsm (68.23 КБ)

Изменено: trainee30.03.2020 00:39:20

 

trainee

Пользователь

Сообщений: 8
Регистрация: 21.03.2020

#10

30.03.2020 06:48:52

В целом с кодом разобрался, но не могу никак понять как работает эта строчка:

Код
           ' создает массив между В и J столбцами и как то копирует?
           Range("B" & CStr(i) & ":J" & i).Copy Sheets("Завершенные").Range("B" & lr)

Расшифруйте пожалуйста синтаксис этой строчки, что бы у меня и других пользователей была возможность прикрутить этот скрипт для других проектов!

За ранее всем откликнувшимся огромное спасибо!

 

Андрей_26

Пользователь

Сообщений: 647
Регистрация: 30.01.2018

Да, извиняюсь. Дело было вечером…не учел что может быть сразу несколько завершенных задач.
Данная строка копирует диапазон от B до J при этом строка которая будет скопирована зависит от значения переменной i. Указанный диапазон копируется на лист «Завершенные» в ячейку B & Lr, где Lr — следующая свободная ячейка

 

Kuzmich

Пользователь

Сообщений: 7998
Регистрация: 21.12.2012

#12

30.03.2020 11:35:37

trainee, написал

Цитата
Расшифруйте пожалуйста синтаксис этой строчки,
Код
Range("B" & i & ":J" & i).Copy

   

Для i=4 это Range(«B4:J4»).Copy и этот диапазон копируется на лист Sheets(«Завершенные»)
Можно использовать конструкцию типа

Код
Range(Cells(i, "B"), Cells(i, "J")).Copy
 

trainee

Пользователь

Сообщений: 8
Регистрация: 21.03.2020

#13

30.03.2020 14:47:07

Большое спасибо Андрею и Кузьмичу за участие в создании макросов.
Сам я бы не справился  :( !
Финальная версия макросов выглядит так, думаю она обязательно кому-нибудь пригодится:

Код
Sub Delete_1() 'Перенос строки на другой лист по условию (удаляет завершенные задачи)
Application.ScreenUpdating = False 'отключает автообновление экрана

'Присваивает переменной "lr" номер строки на листе "завершенные" куда будет перемещена строка
    
    'присваивает переменной lr номер последней строки во втором (В) столбце на листе завершенные
    lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row
    'присваивает lr номер четвертой строки при условии что она пустая на листе завершенные
    If Sheets("Завершенные").Cells(4, 2) = "" Then
        lr = 4
    'либо присваивает lr номер первой пустой строки во втором (В) столбце при условии что 4 заполнена
    Else: lr = Sheets("Завершенные").Cells(Rows.Count, 2).End(xlUp).Row + 1
    End If

'Проверяет ячейки заданного столбца на листе "список дел" на выполнение условия

    'цикл от последней строки в четвертом столбце до четвертой с шагом -1
    For i = Cells(Rows.Count, 4).End(xlUp).Row To 4 Step -1
        'если в ячейках четвертого столбца значение "завершено", то
        If Cells(i, 4) = "Завершено" Then
           ' создает диапазон между В и J столбцами в строке "i"
           ' диапазон копируется на лист заверешнные в ячейку "B & Lr", где Lr - следующая свободная ячейка
           Range(Cells(i, "B"), Cells(i, "J")).Copy Sheets("Завершенные").Range("B" & lr)
           'обращение к строке номер - i с последующим её удалением
           Rows(i).Delete
           'изменение номера строки листа "завершенные" на последующую пустую строчку
           lr = lr + 1
        End If
    Next
Application.ScreenUpdating = True 'включает автообновление экрана
End Sub

Sub Delete_2() 'Перенос строки на другой лист по условию (возвращает завершенные задачи)
Application.ScreenUpdating = False
    lr = Sheets("Список дел").Cells(Rows.Count, 2).End(xlUp).Row
    If Sheets("Список дел").Cells(4, 2) = "" Then
        lr = 4
    Else: lr = Sheets("Список дел").Cells(Rows.Count, 2).End(xlUp).Row + 1
    End If
    
    For i = Cells(Rows.Count, 4).End(xlUp).Row To 4 Step -1
        If Cells(i, 4) = "Планирование" Or Cells(i, 4) = "В ожидании" Or Cells(i, 4) = "В работе" Then
           Range(Cells(i, "B"), Cells(i, "J")).Copy Sheets("Список дел").Range("B" & lr)
           Rows(i).Delete
           lr = lr + 1
        End If
    Next
Application.ScreenUpdating = True
End Sub

MulTEx »

17 Февраль 2014              19119 просмотров

Работа со строками/столбцами по условию

Данная функция является частью надстройки MulTEx


 
Вызов команды:
MulTEx -группа Ячейки/ДиапазоныРабота со строками/СтолбцамиРабота со строками/столбцами по условию


Данная команда позволяет удалить, переместить или скопировать строки/столбцы по различным условиям:
Работа со строками/столбцами
Операция — выбор действия над строками/столбцами. Возможно Удаление, Перемещение и Копирование. Перемещение и Копирование возможно на новый лист или в указанный диапазон того же листа.
Удалить/Переместить/Скопировать — в данном разделе можно выбрать над чем производить Удаление/Копирование/Перемещение: над строками или столбцами, а так же выбрать диапазон для выполнения действий.

Строки — действия будут произведены со строками
Столбцы — действия будут произведены со столбцами
На всем листе — действия над строками/столбцами будут произведены на всем листе
В диапазоне — действия над строками/столбцами будут произведены только внутри указанного диапазона. На картинке выше указан диапазон Лист1!$A$1:$E$25. Это значит, что если выбрано Удаление Строк, то строки будут удалены только в этом диапазоне. Даже если строка 27 листа будет удовлетворять условиям, она не будет удалена, т.к. выходит за пределены указанного диапазона.

Переместить — указывается место назначения для копируемых или перемещаемых строк/столбцов.

На новый лист — в данном случае строки/столбцы будут вставлены на новый лист, который будут создан в ходе выполнения команды. Вставка отобранных строк/столбцов начинается с ячейки А1 нового листа.
Начиная с указанной ячейки — в данном случае строки/столбцы будут вставлены на тот же лист, в котором производится Копирование/Перемещение. Вставка отобранных строк/столбцов начинается именно с указанной ячейки. Примечание: Если указать диапазон для вывода результата внутри диапазона с данными для отбора строк/столбцов, то появится сообщение:
Сообщение
После этого лучше проверить заданные параметры и убедиться в том, что перемещение или копирование строк/столбцов не будет произведено в имеющиеся данные. Это сообщение может появиться даже в том случае, если в ячейках для вывода результата нет данных и в качестве исходных данных указано На всем листе. Что вполне логично, т.к. ячейка для вывода в любом случае расположена на этом листе.

Наименование данного раздела меняется в зависимости от выбранного действия и принимает три значения: Переместить, Скопировать и Не доступно. Не доступно появляется при выборе действия Удалить, т.к. в данном случае определение диапазона для вывода результата не требуется.

Переместить строки — указываются критерии для отбора строк/столбцов к удалению/перемещению/копированию.

  • Все пустые — будут удалены все пустые строки/столбцы в указанном диапазоне.
  • Если значение ячейки:Ниже в примерах применения данных параметров описаны операции по удалению строк, но все это применимо для любой выбранной операции.
    • Равно — будут удалены те строки в ячейках которых есть значение, равное указанному. В критериях можно применять символы подстановки(звездочка(*), вопр.знак(?) ). Например на картинке указан критерий: «*С.Петербург*». Это означает, что если в ячейке будет записано «Произведено в г. С.Петербург 12.03.2008», то данная строка будет удалена. Если же указать «С?Петербург», то будут удалены строки, значение в которых равно либо «С.Петербург», либо «С-Петербург», либо «С Петербург» и т.п. Если же указать «С.Петербург», то будут удалены только те строки, значение которых в точности совпадает с «С.Петербург».
    • Не равно — будут удалены те строки в ячейках которых нет значения, равного указанному. Все работает так же, как и при выборе Равно, но в обратном направлении. Т.е. если указать «С.Петербург», то будут удалены все строки, значение которых не равно «С.Петербург».
    • Учитывать регистр — при отборе значений будет учитываться регистр критерия или нет. Если не установлено, то при указании равно «С.Петербург» будут удалены строки равные и значению «С.Петербург» и значению «с.петербург».
    • В поле ниже указывается номер столбца, в котором просматривать эти критерии. Например, если в этом поле указать 2 и На всем листе, то критерии будут просматриваться во втором столбце листа — $B. Если указать 2 и диапазон $B$1:$E$25, то критерии будут просматриваться во втором столбце указанного диапазона, т.е. в третьем столбце листа — $C. Если данное поле оставить пустым, то значения будут просматриваться во всех столбцах диапазона.

Закрыть форму после выполнения операции — по умолчанию включен. Если снять, то после Удаления/Перемещения/Копирования строк/столбцов форма не закроется и можно будет указать следующий критерий.


Расскажи друзьям, если статья оказалась полезной:

  Плейлист   Видеоинструкции по использованию надстройки MulTEx

Like this post? Please share to your friends:
  • Перемещение строк в таблицах excel
  • Перемещение строк в excel вверх вниз
  • Перемещение содержимого ячейки в excel
  • Перемещение слова в word
  • Перемещение курсора по тексту в word