Как да скриете редове чрез VBA, ако клетката има определено съдържание
Искате ли автоматично да скриете всички редове с определено съдържание с помощта на макрос? Представете си, че искате да скриете всички редове, ако текстът "скрий" се появи в която и да е клетка в съответния ред. Това може да бъде полезно приложение за почистване на данни. Разгледайте първоначалната ситуация в следната таблица:
В тази таблица искаме да скрием всички редове, които съдържат клетки, които съдържат нула. Използвайте следния макрос:
Скриване на конкретни редове ()
Dim Cell As Range
За всяка клетка в ActiveSheet.UsedRange
Ако Cell.Value = 0 и редове (Cell.Row) .Hidden = False _
След това Rows (cell.Row) .Hidden = True
Следващата клетка
End Sub
Ако стартирате макроса с, някои линии ще бъдат напълно скрити, както е показано на следващата фигура
Във всеки от тези редове текстът „скрий“ се появява в някаква колона. Ако искате да проверите друг критерий вместо това съдържание, коригирайте съответното сравнение в макроса.
За да се покажат отново всички клетки, натиснете клавишната комбинация CTRL A и след това изберете функцията СТАРТ - ФОРМАТ - ФАДИРАНЕ И ФАДИРАНЕ - ПОКАЗВАНЕ НА ЛИНИИ (Excel 2007 и Excel 2010) или ФОРМАТИРАНЕ - ФАДИРАНЕ (Excel до версия 2003). Като алтернатива можете да използвате следния макрос, за да избледните:
Покажи Sub All
Cells.Rows.Hidden = False
End Sub
За да въведете един от макросите, натиснете клавишната комбинация ALT F11 в Excel. Това извиква редактора на VBA. Използвайте командата INSERT - MODULE, за да вмъкнете празен модулен лист. За да стартирате един от макросите, натиснете клавишната комбинация ALT F8 в Excel.