Скрытие строк на основе двух значений (Microsoft Excel)
Майк, как бухгалтер, должен скрывать строки на листе на основе значений в двух ячейках в строке. Его таблицы данных состоят из трех столбцов; если строка содержит ноль во втором и третьем столбцах, то строка должна быть скрыта. Если второй или третий столбец пуст или содержит какое-либо другое значение, то строку не следует скрывать.
Есть несколько способов решить эту проблему. Первый — использовать возможности фильтрации 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 [Скрытие строк на основе двух значений]
.