Как да изтриете всички скрити редове и колони в Excel

Много потребители на Excel скриват редове и колони, когато имат някои данни, които не се нуждаят от видими.

Това е начин да запазите видимите само полезни данни и в същото време да не се налага да изтривате данните, които не е необходимо да бъдат видими.

И ако имате много такива скрити редове/колони, може да е болезнено да намерите и изтриете тези скрити редове и колони (в случая, когато нямате нужда от тях).

В този урок ще ви покажа няколко начина лесно изтрийте скритите редове и колони в Excel.

Има вграден метод, който ви позволява да изтриете всички скрити редове и колони наведнъж, а също така можете да използвате VBA макро кодове, в случай че искате да приложите това към избрания от нас диапазон от клетки.

Така че нека започнем!

Изтрийте всички скрити редове и колони в Excel

Ако искате да изтриете всички скрити редове и колони в цяла работна книга в Excel, можете да използвате метода, показан тук.

Не забравяйте, че ще премахнете тези скрити редове и колони от цялата работна книга, а не само от активния лист.

По -долу са стъпките за изтриване на всички скрити редове и колони от работната книга в Excel:

  1. Щракнете върху опцията Файл
  2. В опциите вляво кликнете върху „Информация“
  3. Кликнете върху опцията „Провери за проблеми“
  4. Кликнете върху опцията „Проверка на документа“. Това ще отвори диалоговия прозорец Инспектор на документи
  5. В диалоговия прозорец „Инспектор на документи“ щракнете върху бутона „Проверка“. Това ще инспектира цялата работна книга и ще ви даде информация за работната книга
  6. Превъртете надолу до опцията „Скрити редове и колони“. Ще видите, че показва общия брой скрити редове и колони, които е намерил в работната книга.
  7. Кликнете върху бутона „Премахване на всички“

Горните стъпки биха изтрили всички скрити редове и колони в работната книга.

Обърнете внимание, че трябва да запишете тази работна книга, преди да стартирате опцията Инспектор на документи. В случай, че работната книга вече не е записана, Excel първо ще ви принуди да я запазите. Също така, той ще ви покаже предупредителен подкана с искане да запишете файла веднъж, тъй като променените от тези стъпки данни не могат да бъдат възстановени.

В случай, че няма скрити редове и колони, ще видите зелена отметка преди опцията Скрити и редове и колони (в диалоговия прозорец Инспектор на документи).

Освен скрити редове и колони, диалоговият прозорец Инспектор на документи ви дава и много друга полезна информация - като например броя на коментарите, или скритите работни листове, или вградените документи и т.н.

Забележка: Не можете да отмените промените, направени от Инспектора на документи. Затова се уверете, че имате резервно копие на оригиналните данни (в случай, че може да ви потрябва в бъдеще)

Това е чудесен метод, ако искате да изтриете всички скрити колони и редове за цялата работна книга.

Но в случай, че искате да го изтриете само в определен лист или в определен диапазон, тогава не можете да използвате тази опция.

В този случай можете да използвате метода VBA, обхванат по -долу.

Изтрийте скритите редове и колони с помощта на VBA

Ако имате само няколко скрити реда и колони, е възможно да ги скриете ръчно и след това да го изтриете.

Но ако това е нещо, което трябва да правите доста често, или ако имате голям набор от данни с голям брой редове/колони, които са скрити, най -добре е да използвате VBA макро кодове, за да автоматизирате този процес.

Нека разгледаме различни сценарии, при които можете да използвате VBA, за да изтриете тези скрити редове и колони.

От цял ​​работен лист (използван диапазон)

Въпреки че мога да накарам VBA кода да провери целия работен лист, започвайки от номера на последния ред и номера на последната колона в работния лист, това би било загуба на ресурси.

По -добър метод би бил да видите какъв е използваният диапазон и след това само да проверите използвания диапазон за всички скрити редове и колони.

По -долу е кодът VBA, който би изтрил всички скрити редове в използвания диапазон:

Sub DeleteHiddenRows () Dim sht като работен лист Dim LastRow Set sht = ActiveSheet LastRow = sht.UsedRange.Rows (sht.UsedRange.Rows.Count) .Row For i = LastRow до 1 Стъпка -1 Ако Rows (i) .Hidden = True След това Rows (i) .EntireRow.Delete Next End Sub

Горният код на VBA първо открива последния номер на ред в използвания диапазон и присвоява този номер на променливата „LastRow“.

Този последен номер на ред след това се използва в цикъл For Next, където започва от последния ред и проверява дали е скрит или не.

В случай, че е скрит, целият ред се изтрива. И в случай, че не е скрит, кодът оставя този ред такъв, какъвто е и се премества в реда над него. Този цикъл проверява за всички редове и изтрива всеки скрит ред, който срещне в процеса.

В случай, че искате да изтриете всички скрити колони в използвания диапазон, използвайте VBA кода по -долу:

Sub DeleteHiddenColumns () Dim sht като работен лист Dim LastCol като Integer Set sht = ActiveSheet LastCol = sht.UsedRange.Columns (sht.UsedRange.Columns.Count). Column For i = LastCol до 1 стъпка -1 Ако колони (i) .Hidden = Вярно Тогава колони (i) .EntireColumn.Delete Next End Sub

Това отново работи по същия начин, където вместо редове, ние проверяваме за колони.

Така той открива последния номер на колоната в използвания диапазон, присвоява го на променлива и след това използва цикъла, за да премине от последната колона към първата колона и да изтрие всички скрити колони в процеса.

И в случай, че искате да имате код, който да изтрие всички скрити редове, както и скритите колони, използвайте VBA кода по -долу:

Sub DeleteHiddenRowsColumns () Dim sht Като работен лист Dim LastRow като Integer Dim LastCol като Integer Set sht = ActiveSheet LastRow = sht.UsedRange.Rows (sht.UsedRange.Rows.Count) .Row LastCol = sht.UsedRange.Columns. Columns.Count) .Column For i = LastRow To 1 Step -1 If Rows (i) .Hidden = True then Rows (i) .EntireRow.Delete Next For i = LastCol To 1 Step -1 If Columns (i) .Hidden = Вярно Тогава колони (i) .EntireColumn.Delete Next End Sub

Това е само комбинираният код за редове и колони и работи по същия начин.

Вместо един цикъл, това използва два отделни цикъла, където първо преминава през всички редове, а след това преминава през всички колони. И в процеса изтрива всички скрити редове и колони, които среща.

Обърнете внимание, че трябва да поставите този VBA код в обикновен модул в редактора на Visual Basic. След това можете да стартирате кода директно от VB Editor, като използвате диалоговия прозорец на макроса или като добавите този макрос към лентата с инструменти за бърз достъп.

Ако това е нещо, което трябва да правите доста често, можете също да добавите този код към личната работна книга за макроси, за да имате достъп до него от всички работни книги във вашата система.

От определен диапазон от клетки

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

Това гарантира, че кодът само кръжи през редовете и колоните в посочения диапазон и оставя останалите области в работния лист недокоснати

Под VBA кода, който би направил това:

Sub DeleteHiddenRowsColumns () Dim sht Като работен лист Dim Rng като диапазон Dim LastRow As Integer Dim RowCount As Integer Set sht = ActiveSheet Set Rng = Range ("A1: K200") RowCount = Rng.Rows.Count LastRow = Rng.Rows (Rng. Rows.Count) .Row ColCount = Rng.Columns.Count LastCol = Rng.Columns (Rng.Columns.Count) .Column For i = LastRow To LastRow - RowCount Стъпка -1 Ако Rows (i) .Hidden = True then Rows ( i) .EntireRow.Delete Next For j = LastCol To LastCol - ColCount Step -1 If Columns (j) .Hidden = True then Columns (j) .EntireColumn.Delete Next End Sub

В горния код съм посочил диапазона като A1: K200.

Това прави кода да премине през всички редове и колони в определения диапазон и да премахне всички скрити редове и колони, които среща.

В случай, че имате скрити редове или колони извън този диапазон, те ще останат незасегнати.

Ето как можете да изтриете скрити редове и колони в Excel.

Ако искате да го направите в цялата работна книга, можете да използвате опцията Инспектор на документи. И в случай, че имате нужда от повече контрол, можете да използвате VBA кодовете, както е показано по -горе.

Надявам се, че сте намерили този урок за полезен!

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave