Excel удалить все ячейки определенного цвета

Удаление строк по цвету

Nicko

Дата: Среда, 18.03.2015, 12:34 |
Сообщение № 1

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

Ранг: Участник

Сообщений: 63


Репутация:

0

±

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


Excel для Mac

Как удалить все строки, если они отмечены цветом? Или же как удалить те строки, в которых в определенном столбце пустое значение?

 

Ответить

Pelena

Дата: Среда, 18.03.2015, 12:36 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Фильтр по цвету — выделить строки — удалить
Более конкретный ответ при наличии файла с примером в соответствии с Правилами форума


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Nicko

Дата: Среда, 18.03.2015, 12:41 |
Сообщение № 3

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

Ранг: Участник

Сообщений: 63


Репутация:

0

±

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


Excel для Mac

Необходимо удалить все красные строки, но так что бы не разошлись значения столбцов AA и AC

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

5269907.xlsm
(34.6 Kb)

 

Ответить

Yurbas

Дата: Среда, 18.03.2015, 12:52 |
Сообщение № 4

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

Ранг: Новичок

Сообщений: 44


Репутация:

3

±

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


Excel 2010, Excel 2013

Оно?
Если оно, то выделите столбец цветной -> Фильтр -> Выделить по цвету заливки и удаляйте строки розовые.
[p.s.]Кнопку при этом куда-нибудь переместите, а то она у вас исчезнет.

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

0061475.xlsm
(15.0 Kb)


Где начало того конца, которым кончается начало?

Сообщение отредактировал YurbasСреда, 18.03.2015, 12:54

 

Ответить

Michael_S

Дата: Среда, 18.03.2015, 13:03 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

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


Excel2016

[vba]

Код

Sub RowsDelete()
Dim i
Application.ScreenUpdating = False
For i = Cells(Rows.Count, «AC»).End(xlUp).Row To 1 Step -1
      If Cells(i, «AA») = «» Then
      Rows(i).Delete
      End If
Next
Application.ScreenUpdating = True
End Sub

[/vba]
Для кнопки в свойствах поставьте галку «Не перемещать и не изменять размеры»

Сообщение отредактировал Michael_SСреда, 18.03.2015, 13:06

 

Ответить

Nicko

Дата: Среда, 18.03.2015, 13:20 |
Сообщение № 6

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

Ранг: Участник

Сообщений: 63


Репутация:

0

±

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


Excel для Mac

Спасибо! Оба варианта рабочие

 

Ответить

Как можно удалить целые строки в зависимости от цвета фона? В этом примере мне нужно удалить все строки, ячейки которых заполнены синим цветом фона, как показано на следующем снимке экрана. В этой статье вы получите несколько кодов для выполнения этой задачи в Excel.

документ удалить строки по цвету 1

Удалить строки с определенным цветом фона на основе каждой ячейки

Удалить строки с определенным цветом фона на основе одного столбца


стрелка синий правый пузырь Удалить строки с определенным цветом фона на основе каждой ячейки

Если у вас есть диапазон данных, которые случайным образом заполнены некоторыми цветами ячеек, и вам нужно удалить строки, цвет ячейки которых синий, как показано на следующем снимке экрана:

документ удалить строки по цвету 2

Чтобы удалить этот тип строк, вы можете использовать следующий код VBA, сделайте следующее:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: удалить строки, ячейки которых содержат определенный цвет заливки:

Sub DeleteRows()
'Updateby Extendoffice
    Dim rngCl As Range
    Dim xRows As Long
    Dim xCol As Long
    Dim colorLg As Long
    On Error Resume Next
    Set rngCl = Application.InputBox _
        (Prompt:="Select a cell with the background color to be deleted", _
        Title:="Kutools for Excel", Type:=8)
    On Error GoTo 0
    If rngCl Is Nothing Then
        MsgBox "User cancelled operation." & vbCrLf & _
        "Processing terminated", vbInformation, "Kutools for Excel"
        Exit Sub
    End If
    colorLg = rngCl.Interior.Color
    Application.ScreenUpdating = False
    With ActiveSheet.UsedRange
        For xRows = .Rows.Count To 1 Step -1
            For xCol = 1 To .Columns.Count
                           If .Cells(xRows, xCol).Interior.Color = colorLg Then
                    .Rows(xRows).Delete
                    Exit For
                End If
            Next xCol
        Next xRows
    End With
    Application.ScreenUpdating = True
End Sub

3, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, напоминающее вам о выборе ячейки с цветом заливки, который вы хотите удалить, см. снимок экрана:

документ удалить строки по цвету 3

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


стрелка синий правый пузырь Удалить строки с определенным цветом фона на основе одного столбца

Если вы хотите удалить строки с определенным цветом на основе только одного столбца, например, удалите строки с синим цветом в столбце A и получите снимок экрана ниже, вот также код VBA может оказать вам услугу.

документ удалить строки по цвету 4

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: удаление строк на основе столбца, ячейки которого имеют определенный цвет заливки:

Sub deleterow()
'UpdateBY Extendoffice
   Dim xRg As Range, rgDel As Range
    For Each xRg In ThisWorkbook.ActiveSheet.Range("A2:A21")
        If xRg.Interior.ColorIndex = 20 Then
            If rgDel Is Nothing Then
                Set rgDel = xRg
            Else
                Set rgDel = Union(rgDel, xRg)
            End If
        End If
    Next xRg
    If Not rgDel Is Nothing Then rgDel.EntireRow.Delete
End Sub

Внимание: В приведенном выше коде A2: A21 — это столбец, содержащий определенный цвет заливки, на основе которого вы хотите удалить строки, число 20 in Индекс цвета = 20 script — это индекс цвета, на основе которого вы хотите удалить строки. Вы можете изменить их по своему усмотрению.

3, Затем нажмите F5 ключ для запуска этого кода, и все строки, ячейки которых содержат синий цвет в столбце A, были удалены сразу.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

0 / 0 / 0

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

Сообщений: 62

1

Очистить ячейки определенного цвета; выделить строку при вводе значения в ячейку

25.04.2013, 11:37. Показов 16982. Ответов 14


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

Вопрос просто.
Можно ли создать кнопку, формулу — очистить определенные ячейки(желтые например или именно какие-то диапазон ячеек)
И второй, при постановке, какого либо значения в данную ячейку, что бы целая строка как то выделялась сразу.



0



3827 / 2254 / 751

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

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

25.04.2013, 11:47

2

для очистки только макрос.
для выделения может подойти УФ, нужен файл с описанием что, где, почему…



0



0 / 0 / 0

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

Сообщений: 62

25.04.2013, 12:07

 [ТС]

3

Щас сделаю, ждите.



0



0 / 0 / 0

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

Сообщений: 62

25.04.2013, 12:14

 [ТС]

4

Держите, суть задачи в первом листе



0



0 / 0 / 0

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

Сообщений: 62

25.04.2013, 13:36

 [ТС]

5

Цитата
Сообщение от Vlad999
Посмотреть сообщение

для очистки только макрос.
для выделения может подойти УФ, нужен файл с описанием что, где, почему…

Ну что Влад, вы мне поможете?



0



Vlad999

3827 / 2254 / 751

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

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

25.04.2013, 14:12

6

на удаление значений макрос такой

Visual Basic
1
2
3
4
5
Sub Удаление()
'
    Range("C4:C64").ClearContents
    Range("L4:L64").ClearContents
End Sub

на счет выделения посмотрите пример может подойдет.

Вложения

Тип файла: xls Выделение строки1.xls (31.5 Кб, 118 просмотров)



0



totoxa99

0 / 0 / 0

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

Сообщений: 62

25.04.2013, 14:43

 [ТС]

7

Цитата
Сообщение от Vlad999
Посмотреть сообщение

на удаление значений макрос такой

Visual Basic
1
2
3
4
5
Sub Удаление()
'
    Range("C4:C64").ClearContents
    Range("L4:L64").ClearContents
End Sub

на счет выделения посмотрите пример может подойдет.

Подскажите, как и каким образом пользоваться этими кодами, не имею ни малейшего понятия. Правда.

Добавлено через 2 минуты

Цитата
Сообщение от Vlad999
Посмотреть сообщение

на удаление значений макрос такой

Visual Basic
1
2
3
4
5
Sub Удаление()
'
    Range("C4:C64").ClearContents
    Range("L4:L64").ClearContents
End Sub

на счет выделения посмотрите пример может подойдет.

Интересный вариант с выделением строки, но, можно ли реализовать так как я бы хотел? Тобишь повторюсь, при постановке в значение определенных ячеек, она сразу подсвечивается цветом или хоть как то выделяется, автоматически, при удаление, возвращается в исходное



0



3827 / 2254 / 751

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

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

25.04.2013, 15:23

8

так?



0



0 / 0 / 0

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

Сообщений: 62

25.04.2013, 15:51

 [ТС]

9

Цитата
Сообщение от Vlad999
Посмотреть сообщение

так?

Обалденно!!!)))
Спасибо большое, только очистить строку метраж, не работает почему-то



0



3827 / 2254 / 751

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

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

25.04.2013, 15:58

10

об этом нигде не упоминалось.



0



0 / 0 / 0

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

Сообщений: 62

25.04.2013, 16:09

 [ТС]

11

Цитата
Сообщение от Vlad999
Посмотреть сообщение

об этом нигде не упоминалось.

Ну как же, в нопку даже в вашей есть, очистить столбец метраж, я так понимание те параметры, которые я задавал)) C65 — C82? столбец длина )



0



3827 / 2254 / 751

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

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

25.04.2013, 16:13

12

не тот диапазон задал, сейчас поправлю.



1



0 / 0 / 0

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

Сообщений: 62

25.04.2013, 16:16

 [ТС]

13

Цитата
Сообщение от Vlad999
Посмотреть сообщение

не тот диапазон задал, сейчас поправлю.

Спасибо большое, только я почему-то цвет не могу изменить определенно этого диапазона. которые в столбце С находиться)))



0



3827 / 2254 / 751

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

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

25.04.2013, 16:19

14

смотрите файл в сообщении выше там поправил диапазоны в макросе и УФ.



1



0 / 0 / 0

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

Сообщений: 62

25.04.2013, 17:04

 [ТС]

15

Как всегда большое вам спасибо! Не первый раз выручаете)



0



IT_Exp

Эксперт

87844 / 49110 / 22898

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

Сообщений: 92,604

25.04.2013, 17:04

15

 

В таблице имеется n-е кол-во строк жёлтого цвета. Каким образом их можно удалить со смешением вверх

 

Юрий М

Модератор

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

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

Если заливка условным форматированием, то задача усложняется. Если нет — обычный макрос с этим справится.

 

Юрий М нигде не помечал, что тема закрытая, заливка без условного форматирования.

 

И где (как?) указать цвет?

 

{quote}{login=Юрий М}{date=25.02.2010 11:13}{thema=}{post}Если заливка условным форматированием, то задача усложняется. Если нет — обычный макрос с этим справится.{/post}{/quote}А почему с УФ задача усложниться? Разве нальзя искать (и удалить) строки по условию формата?

 

А можно увидеть пример кода на VBA, где задаётся условие удаления — цвет, пожалуйста.

 

Юрий М

Модератор

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

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

С пометкой я ошибся — не туда глянул Извиняюсь.  
По вопросу: вот такой макрос удалит все строки в диапазоне строк 2:29, цвет заливки ячеек столбца А которых, соттветствует цвету заливки ячейки А1.  
Sub ColorRowsDelete()  
   For i = 29 To 2 Step -1  
       If Cells(i, 1).Interior.ColorIndex = Cells(1, 1).Interior.ColorIndex Then  
           Rows(i).Delete  
       End If  
   Next  
End Sub  
Для Михаила. Я испытывал опрепделённые трудности, когд отслеживал заливку, выполненную при помощи УФ.

 

Ученик

Гость

#8

25.02.2010 23:28:51

Спасибо, Юрий М., вы наверное устаёте помогать такому количеству людей, но делаете благородное дело.

This code uses Find to quickly clear cells matching your desired format

The line to update for other cell fromats is:
.FindFormat.Interior.Color = Excel.XlRgbColor.rgbOrange

Option Explicit
Sub FastFind()
    Dim rng1 As Range
    Dim rng2 As Range
    Dim cel1 As Range
    Dim strFirstAddress As String
    Dim lAppCalc As Long

    'Get working range from user
    On Error Resume Next
    Set rng1 = Application.InputBox("Please select range to search for ", "User range selection", Selection.Address(0, 0), , , , , 8)
    On Error GoTo 0
    If rng1 Is Nothing Then Exit Sub

    With Application
        lAppCalc = .Calculation
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
        .FindFormat.Interior.Color = Excel.XlRgbColor.rgbOrange
    End With

    Set cel1 = rng1.Find("", , xlValues, xlPart, xlByRows, , , , True)
    If Not cel1 Is Nothing Then
        Set rng2 = cel1
        strFirstAddress = cel1.Address
        Do
            Set cel1 = rng1.Find("", cel1, xlValues, xlPart, xlByRows, , , , True)
            Set rng2 = Union(rng2, cel1)
        Loop While strFirstAddress <> cel1.Address
    End If

    If Not rng2 Is Nothing Then rng2.Clear

    With Application
        .ScreenUpdating = True
        .Calculation = lAppCalc
    End With
End Sub

Понравилась статья? Поделить с друзьями:
  • Excel удалить все строки с пустыми значениями
  • Excel удалить все строки с определенным словом
  • Excel удалить все строки между таблицами
  • Excel удалить все строки кроме содержащих слово
  • Excel удалить все строки где