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

Есть несколько способов решить эту проблему. Первый — использовать возможности фильтрации Excel. Просто создайте еще один столбец, содержащий такую ​​формулу:

=AND(B2=0,C2=0)

Значение, возвращаемое формулой, будет True, только если и второй (B), и третий © столбцы содержат нулевое значение. Скопируйте формулу в другие соответствующие ячейки столбца, и затем вы сможете применить фильтр на основе этого столбца. Когда вы отображаете в столбце только те строки, которые содержат False, вы фактически скрыли строки, в которых есть нулевые значения во втором и третьем столбцах.

Вы также можете использовать макрос для проверки строк за вас. Следующий макрос проходит через каждую строку на листе, начиная со строки 1. Пока что-то есть в столбце A, макрос проверяет наличие нулевого значения в столбцах B и C. Если есть, то для строки установлено свойство .Hidden.

Sub Hide()

Dim Criteria as Boolean     Dim i As Integer

i = 1     Do Until Trim(Cells(i, 1).Value) = ""          Criteria = True         Criteria = Criteria And (Cells(i, 2).Value = 0) _           And Cells(i, 2).Value <> ""

Criteria = Criteria And (Cells(i, 3).Value = 0) _           And Cells(i, 3).Value <> ""          If Criteria Then Rows(i).EntireRow.Hidden = True         i = i + 1      Loop  End Sub

Макрос выполняется до тех пор, пока не встретит строку, в которой ничего нет в столбце A. Это означает, что вам нужно убедиться, что в строках перед таблицей данных действительно что-то есть. Если ваша таблица данных начинается в строке 4 рабочего листа, а в ячейках с A1 по A3 нет ничего, макрос никогда не будет работать удовлетворительно. Вы, конечно, можете настроить макрос в этой ситуации так, чтобы он начал проверку в строке 4; просто измените начальное присвоение переменной i на 4 вместо 1.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11746) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Hiding_Rows_Based_on_Two_Values ​​[Скрытие строк на основе двух значений].