Перейти к содержимому

Как скрыть строки по условию в excel

  • автор:

Как скрыть строки по условию в excel

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

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

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Скрытие и отображение значений ячеок

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

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

Скрытие значений ячеок

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

Примечание: Выбранные ячейки будут пустыми на листе, но при щелчке одной из ячеек в области формул появится значение.

кнопку запускадиалогового окна .

Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.

Отображение скрытых значений ячеев

  1. Выберем ячейку или диапазон ячеек, которые содержат скрытые значения. Дополнительные сведения см. в статье Выбор ячеек, диапазонов, строк и столбцов на сайте.
  2. На вкладке Главная нажмите кнопку

кнопку запускадиалогового окна .

Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.

Как в excel скрыть столбец при условии?

5ca496b58c243741422363.png

Как сделать, чтобы исчезли столбцы (и не печатались на принтере), если указанная ячейка этого столбца на 9 строке, равная «»
Ячейки из диапазона =AF9:AH9

Например, сейчас пустые ячейки AG9 (скрывается столбец AG), AH9 (скрывается столбец AH).
Работаем только с диапазоном AF9:AH9, повторюсь, интересует исчезновение столбцов AF, AG , AH, если ячейки AF9, AG9 , AH9 пустые, соответственно.
Если бы была пустая ячейка AF9 , то скрывался бы столбец AF весь.

Это к вопросу о горизонтальном фильтре)

P.S. В листе «ТЕХ» сейчас выбран месяц Февраль 29 дней, соответственно, столбец с 30 и 31 числом должен исчезать.

  • Вопрос задан более трёх лет назад
  • 3752 просмотра

1 комментарий

Средний 1 комментарий

Как скрыть строки по условию в excel

Private Sub Worksheet_SelectionChange( ByVal Target As Range)
If Cells(1, 1).Value = 0 Then
Rows(3).Hidden = True
Else
Rows(3).Hidden = False
End If
End Sub

ICQ: 308-534-060

Михаил, идея верная. Только есть к чему придраться:
1. Почему мы это делаем в событии Worksheet_SelectionChange?
2. У тебя Target никак не используется и почему-то проверяется исключительно A1 и при этом скрывается другая — третья стрка.

Если макросом, то я бы сделал примерно так:

  1. Sub HideZeros(j As Long ) ‘j — номер столбца для проверки
  2. Dim i As Long
  3. For i = 1 to 65536
  4. If Cells(i, j).Value = 0
  5. Rows(i).Hidden = True
  6. Else
  7. Rows(i).Hidden = False
  8. End If
  9. Next i
  10. End Sub

ICQ: 308-534-060

  1. Sub HideZeros(j As Long ) ‘j — номер столбца для проверки
  2. Dim i As Long
  3. For i = 1 to 65536
  4. If Cells(i, j).Value = 0 Or Cells(i, j).Value = Empty
  5. Rows(i).Hidden = True
  6. Else
  7. Rows(i).Hidden = False
  8. End If
  9. Next i
  10. End Sub

Вызывать из другой подпрограммы или обработчика (пример для 1-го столбца):

  1. Call HideZeros(1)

почему-то проверяется исключительно A1 и при этом скрывается другая — третья стрка.
— для примера
Почему мы это делаем в событии Worksheet_SelectionChange?
— это стандартное событие листа, можно использовать другое. Почему нет))
(ByVal Target As Range)
— согласен. ненужно.

ICQ: 308-534-060

  1. Sub hidZ( ByVal C As Byte )
  2. Dim Rn As Range
  3. Dim R As Long
  4. Set Rn = ActiveSheet.UsedRange
  5. For R = Rn(1).Row To Rn(Rn.Count).Row
  6. If Cells(R, C) = 0 And Cells(R, C) <> «» Then ‘скрыть только 0
  7. ‘If Cells(R, C) = «» Then ‘скрыть только «»
  8. ‘If Cells(R, C) = 0 Or Cells(R, C) = «» Then ‘скрыть 0 и «»
  9. Rows(R).Hidden = True
  10. End If
  11. Next R
  12. Range(Cells(R, 1), Cells(65536, 256)).RowHeight = 0 ‘если надо скрыть строки ниже занятой области
  13. End Sub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://zapoj.narkolog-na-dom-voronezh-14.ru/