Përmbajtje
Formulimi i problemit
Ne kemi një sërë qelizash me të dhëna që përmbajnë qeliza boshe:
Detyra është të hiqni qelizat boshe, duke lënë vetëm qelizat me informacion.
Metoda 1. E përafërt dhe e shpejtë
- Zgjedhja e gamës origjinale
- Shtypni tastin F5, butoni tjetër Theksoj (i veçantë). Në dritaren që hapet, zgjidhni Qeliza boshe(Bosh) dhe klikoni OK.
Përzgjidhen të gjitha qelizat boshe në interval.
- Ne japim një komandë në meny për të fshirë qelizat e zgjedhura: kliko me të djathtën- Fshi qelizat (Fshi qelizat) me zhvendosje lart.
Metoda 2: Formula e vargjeve
Për ta thjeshtuar, le të emërtojmë vargjet tona të punës duke përdorur Emri Menaxher (Emri i menaxherit) tab formulë (Formulat) ose, në Excel 2003 dhe më të vjetër, menyja Fut – Emri – Cakto (Fut - Emri - Përcakto)
Emërtoni diapazonin B3:B10 Keni Bosh, diapazoni D3:D10 – Asnjë Bosh. Vargjet duhet të jenë rreptësisht të njëjtat madhësi dhe mund të vendosen kudo në lidhje me njëri-tjetrin.
Tani zgjidhni qelizën e parë të diapazonit të dytë (D3) dhe futni këtë formulë të frikshme në të:
=IF(ROW() -ROW(Jo Bosh)+1>NOTROWS(Po Bosh)-COUNTBLANK(Po Bosh);””;INDIRECT(ADRESA(LOWEST((IF(Empty<>“”,ROW(Empty);ROW() + RRESHT(Ka bosh))); LINE()-ROW(Jo bosh)+1); KOLUMN(Ka bosh); 4)))
Në versionin anglisht do të jetë:
=IF(ROW()-ROW(Jo Bosh)+1>ROWS(Empty)-COUNTBLANK(Empty),””,INDIRECT(ADDRESS(SMALL((IF(Empty<>“”,ROW(Empty),ROW() +ROWS(HaveEmpty))),ROW()-ROW(Jo Bosh)+1),COLUMN(Ke Bosh),4)))
Për më tepër, duhet të futet si një formulë grupi, dmth. shtypni pas ngjitjes Shkruani (si zakonisht) dhe Ctrl + Shift + Enter. Tani formula mund të kopjohet duke përdorur plotësimin automatik (tërhiqni kryqin e zi në këndin e poshtëm të djathtë të qelizës) - dhe do të marrim gamën origjinale, por pa qeliza boshe:
Metoda 3. Funksioni i personalizuar në VBA
Nëse ekziston dyshimi se shpesh do t'ju duhet të përsërisni procedurën për heqjen e qelizave boshe nga vargjet, atëherë është më mirë të shtoni një herë funksionin tuaj për heqjen e qelizave boshe në grupin standard dhe ta përdorni në të gjitha rastet pasuese.
Për ta bërë këtë, hapni redaktorin e Visual Basic (ALT + F11), futni një modul të ri bosh (meny Insert – Moduli) dhe kopjoni tekstin e këtij funksioni atje:
Funksioni NoBlanks(DataRange As Range) As Variant() Dim N Sa Long Dim N2 Sa Long Dim Rng si Range Dim MaxCells Sa Long Dim Rezult() Si Variant Dim R Sa Long Dim C Sa gjate MaxCells = Application.Fletë puneFunksion.Max ( Application.Caller.Cells.Count, DataRange.Cells.Count) ReDim Result(1 në MaxCells, 1 në 1) Për çdo Rng në Data Range.Cells Nëse Rng.Value <> vbNullString Pastaj N = N + 1 Rezultat(N, 1 ) = Rng.Vlera Fundi If Next Rng Për N2 = N + 1 Tek MaxCells Rezultati(N2, 1) = vbNullString Next N2 If Application.Caller.Rows.Count = 1 Pastaj NoBlanks = Application.Transpozoje(Rezultat) Tjetër NoBlanks = Rezultat Funksioni End If End
Mos harroni të ruani skedarin dhe të kaloni nga Redaktori Visual Basic në Excel. Për të përdorur këtë funksion në shembullin tonë:
- Zgjidhni një gamë të mjaftueshme qelizash boshe, për shembull F3:F10.
- Shko tek menuja Fut – Funksioni (Fut - Funksioni)ose klikoni në butonin Funksioni i futjes (Fut funksionin) tab formulë (Formulat) në versionet më të reja të Excel. Në kategori Perdorues i percaktuar (Perdorues i percaktuar) zgjidhni funksionin tonë JoBlanks.
- Specifikoni diapazonin e burimit me boshllëqe (B3:B10) si argumentin e funksionit dhe shtypni Ctrl + Shift + Enterpër të futur funksionin si formulë vargu.
:
- Fshirja e të gjitha rreshtave bosh në një tabelë menjëherë me një makro të thjeshtë
- Heqja e të gjitha rreshtave bosh në një fletë pune menjëherë duke përdorur shtesën PLEX
- Mbushni shpejt të gjitha qelizat boshe
- Çfarë janë makro, ku të futni kodin makro në VBA