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

Есть несколько способов решить эту проблему. Первый — использовать автофильтр 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.

Этот совет (2416) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

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