Բաց թողնել հիմնական բովանդակությունը

Ինչպե՞ս զտել ցուցակը և ջնջել Excel- ում մնացած թաքնված կամ տեսանելի շարքերը:

Filտված ցուցակի համար գուցե անհրաժեշտ լինի ջնջել թաքնված կամ տեսանելի շարքերը, որպեսզի պահպանեք միայն օգտակար տվյալները: Այս հոդվածում մենք ձեզ ցույց կտանք Excel- ում զտված ցուցակի մնացած թաքնված կամ տեսանելի տողերը ջնջելու մեթոդներ:

BAնջեք թաքնված տողերը ակտիվ աշխատանքային թերթում VBA կոդով
Deleteնջեք զտված ցուցակի տեսանելի շարքերը `ընտրելով բոլոր տեսանելի բջիջները
Excel- ի համար Kutools- ի միջոցով հեշտությամբ ջնջեք ֆիլտրացված ցուցակի թաքնված կամ տեսանելի շարքերը


BAնջեք թաքնված տողերը ակտիվ աշխատանքային թերթում VBA կոդով

Այս բաժինը ցույց կտա ձեզ VBA կոդ ՝ ակտիվ թերթում թաքնված տողերը ջնջելու համար: Խնդրում եմ արեք հետևյալ կերպ.

1. Ակտիվացրեք աշխատաթերթը, որն անհրաժեշտ է թաքնված տողերը ջնջելու համար, սեղմեք ալտ + F11 ստեղները միաժամանակ բացելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

2. Microsoft Visual Basic հավելվածների համար պատուհանում կտտացրեք Տեղադրել > Մոդուլներ, Եվ ապա պատճենեք և կպցրեք ստորև նշված VBA կոդը Մոդուլի պատուհանում:

VBA կոդ. Deleteնջել թաքնված շարքերը

Sub RemoveHiddenRows()
	Dim xRow As Range
	Dim xRg As Range
	Dim xRows As Range
	On Error Resume Next
	Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
	If xRows Is Nothing Then Exit Sub
		For Each xRow In xRows.Columns(1).Cells
			If xRow.EntireRow.Hidden Then
				If xRg Is Nothing Then
					Set xRg = xRow
				Else
					Set xRg = Union(xRg, xRow)
				End If
			End If
		Next
		If Not xRg Is Nothing Then
			MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
			xRg.EntireRow.Delete
		Else
			MsgBox "No hidden rows found", , "Kutools for Excel"
		End If
	End Sub

3. Սեղմեք F5 ծածկագիրը գործելու համար: Եթե ​​ակտիվ թերթում կան թաքնված տողեր, ծածկագիրը գործարկելուց հետո կհայտնվի երկխոսության տուփ, որը կպատմի, թե քանի թաքնված տող է ջնջվել: Սեղմիր OK կոճակը թաքնված տողերը ջնջելու համար: Տեսեք,

փաստաթուղթը ջնջել հանգիստը 1

Հակառակ դեպքում, կոդը գործարկելուց հետո դուք կստանաք հետևյալ երկխոսության տուփը:

փաստաթուղթը ջնջել հանգիստը 1

Նշումվերոհիշյալ VBA կոդը ոչ միայն կարող է ջնջել զտված ցուցակի թաքնված տողերը, այլև ջնջել թաքնված շարքերը, որոնք նախկինում ձեռքով թաքցրել եք:


Deleteնջեք զտված ցուցակի տեսանելի շարքերը `ընտրելով բոլոր տեսանելի բջիջների առանձնահատկությունը

Filտված ցուցակի տեսանելի տողերը ջնջելու համար կատարեք հետևյալը.

1. Ընտրեք բոլոր զտված շարքերը և սեղմեք F5 բանալին բացելու համար Գնալ երկխոսության տուփ, ապա կտտացրեք հատուկ կոճակ Տեսեք,

փաստաթուղթը ջնջել հանգիստը 1

2. Մեջ Գնալ հատուկ երկխոսության տուփ, ստուգեք Միայն տեսանելի բջիջներ տարբերակը, ապա կտտացրեք OK կոճակը:

փաստաթուղթը ջնջել հանգիստը 1

3. Այժմ ընտրված են բոլոր տեսանելի տողերը, աջով կտտացրեք ընտրությանը և այնուհետև կտտացրեք Ջնջել տողերը.

փաստաթուղթը ջնջել հանգիստը 1

Մինչ այժմ բոլոր տեսանելի շարքերը ջնջվում են զտված ցուցակից:


Excel- ի համար Kutools- ի միջոցով հեշտությամբ ջնջեք ֆիլտրացված ցուցակի թաքնված կամ տեսանելի շարքերը

Վերոնշյալ երկու մեթոդները կարող են լինել Excel- ի շատ օգտվողների ցանկության լուծումներ, այստեղ մենք ձեզ ներկայացնում ենք հարմար գործիք: Հետ Deleteնջել թաքնված (տեսանելի) շարքերը և սյունակները օգտակարությունը Excel- ի համար նախատեսված գործիքներ, Դուք կարող եք հեշտությամբ ջնջել թաքնված տողերը ընտրված տիրույթում / թերթերում, ակտիվ թերթում կամ Excel- ի բոլոր աշխատանքային թերթերում:

Նախքան դիմելը Excel- ի համար նախատեսված գործիքներ, խնդրում եմ նախ ներբեռնեք և տեղադրեք այն.

1. Եթե ցանկանում եք ջնջել միայն զտված ցուցակի թաքնված կամ տեսանելի շարքերը, խնդրում ենք ձեռքով ընտրեք զտված շարքը և այնուհետև կտտացրեք Կուտոլս > ջնջել > Deleteնջել թաքնված (տեսանելի) շարքերը և սյունակները, Տեսեք,

2. Մեջ Deleteնջել թաքնված (տեսանելի) շարքերը և սյունակը երկխոսության տուփ, պահեք այն Ընտրված տիրույթում ընտրված է Տես բացվող ցուցակ (ըստ անհրաժեշտության կարող եք ընտրել այլ տարբերակներ), ստուգեք Rows տարբերակը Deleteնջել տեսակը բաժնում, իսկ Մանրամասն տեսակը հատված, ստուգել Տեսանելի շարքեր or Թաքնված շարքեր տարբերակ, որքան անհրաժեշտ է: Եվ վերջապես կտտացրեք այն OK կոճակը:

3. Դրանից հետո բացվում է երկխոսության տուփ ՝ ձեզ ասելու համար, թե քանի տող է ջնջվել, սեղմեք այստեղ OK կոճակը:

  Եթե ​​ցանկանում եք ունենալ այս օգտակար ծառայության անվճար փորձարկում (30-օրյա), խնդրում ենք կտտացնել այն ներբեռնելու համար, և այնուհետև անցեք գործողությունը կիրառելու վերը նշված քայլերին համապատասխան:


Utնջեք ֆիլտրացված ցուցակի թաքնված կամ տեսանելի շարքերը Kutools- ի միջոցով Excel- ի համար

Գրասենյակի արտադրողականության լավագույն գործիքները

🤖 Kutools AI օգնականՀեղափոխություն կատարել տվյալների վերլուծության հիման վրա՝ Խելացի կատարում   |  Ստեղծեք ծածկագիր  |  Ստեղծեք հատուկ բանաձևեր  |  Վերլուծել տվյալները և ստեղծել գծապատկերներ  |  Invoke Kutools-ի գործառույթները...
Հանրաճանաչ հատկություններ: Գտեք, ընդգծեք կամ նույնականացրեք կրկնօրինակները   |  Deleteնջել դատարկ շարքերը   |  Միավորել սյունակները կամ բջիջները՝ առանց տվյալների կորստի   |   Կլոր առանց բանաձևի ...
Super Փնտրել: Բազմաթիվ չափանիշների VLookup    Բազմակի արժեք VLookup  |   VLookup բազմաթիվ թերթերում   |   Fuzzy Փնտրել ....
Ընդլայնված բացվող ցուցակ: Արագ ստեղծեք բացվող ցուցակը   |  Կախված բացվող ցուցակ   |  Բազմակի ընտրություն Drop Down ցուցակ ....
Սյունակի կառավարիչ: Ավելացրեք որոշակի քանակությամբ սյունակներ  |  Տեղափոխել սյունակները  |  Փոխարկել թաքնված սյունակների տեսանելիության կարգավիճակը  |  Համեմատեք միջակայքերը և սյունակները ...
Առանձնահատկություններ: Ցանցի կենտրոնացում   |  Դիզայնի տեսք   |   Մեծ Formula Bar    Աշխատանքային գրքույկի և թերթիկների կառավարիչ   |  Ռեսուրսների գրադարան (Ավտոմատ տեքստ)   |  Ամսաթիվ ընտրող   |  Միավորել աշխատանքային թերթերը   |  Գաղտնագրել/գաղտնազերծել բջիջները    Ուղարկեք նամակներ ըստ ցանկի   |  Սուպեր զտիչ   |   Հատուկ զտիչ (զտել թավ/շեղ/շեղված...) ...
Լավագույն 15 գործիքների հավաքածու12 Տեքստ Գործիքներ (Ավելացրեք տեքստ, Հեռացնել նիշերը, ...)   |   50+ Աղյուսակ Տեսակներ (Գանտի աղյուսակը, ...)   |   40+ Գործնական Բանաձեւեր (Հաշվարկել տարիքը ՝ ելնելով ծննդյան տարեդարձից, ...)   |   19 միացում Գործիքներ (Տեղադրեք QR կոդ, Տեղադրեք նկար ուղուց, ...)   |   12 Փոխարկում Գործիքներ (Բառեր համարներ, Արտարժույթի փոխակերպումը, ...)   |   7 Միաձուլում և պառակտում Գործիքներ (Ընդլայնված կոմբինատ տողեր, Պառակտված բջիջներ, ...)   |   ... եւ ավելին

Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար:  Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...

Նկարագրություն


Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi this VBA code is awesome useful.
This comment was minimized by the moderator on the site
Thanks for the info. This has been instructive. Please is there a way to filter and delete for specific numbers in rows of up to 1 million? Can the code above be modified to do so?
This comment was minimized by the moderator on the site
Hi,
Sorry did not test the code in such huge row data. Maybe you can make a copy of your data and test if the code can work.
This comment was minimized by the moderator on the site
VBA code to Delete hidden rows worked perfectly with no fiddling. THANK YOU!!
This comment was minimized by the moderator on the site
Feedback re: the macro for hidden row deletions - this takes too long to run on 900k rows to be useful. 2+ hours on an OC'd Threadripper 1950X and still running (had to end task). Any way to optimize it to use multiple cores or is this a VBA limitation?
This comment was minimized by the moderator on the site
Hi,
The code has been optimized. Please have a try. Thank you for your comment.

Sub RemoveHiddenRows()
Dim xFlag As Boolean
Dim xStr, xTemp As String
Dim xDiv, xMod As Long
Dim I, xCount, xRows As Long
Dim xRg, xCell, xDRg As Range
Dim xArr() As String
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Set xRg = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
If xRg Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
Set xRg = xRg(1)
xFlag = True
xTemp = ""
xCount = 0
For I = 1 To xRows
Set xCell = xRg.Offset(I - 1, 0)
Do While xFlag
If xCell.EntireRow.Hidden Then
xStr = xCell.Address
xFlag = False
Else
GoTo Ctn
End If
Loop
If xCell.EntireRow.Hidden Then
xTemp = xStr & "," & xCell.Address
End If
If Len(xTemp) > 171 Then
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
xStr = xCell.Address
Else
xStr = xTemp
End If
Ctn:
Next
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
For I = xCount To 1 Step -1
If I = 1 Then
xStr = Mid(xArr(I), InStr(xArr(I), ",") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
Else
xStr = xArr(I)
End If
If xDRg Is Nothing Then
Set xDRg = Range(xStr)
Else
Set xDRg = Union(xDRg, Range(xStr))
End If
If (Len(xDRg.Address) >= 244) Or (xCount = 1) Then
xDRg.EntireRow.Delete
Set xDRg = Nothing
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Awesome, thank you! Will review at my next opportunity / need for this and reply back.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations