Heqja e qelizave boshe nga një gamë

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ë

  1. Zgjedhja e gamës origjinale
  2. Shtypni tastin F5, butoni tjetër Theksoj (i veçantë). Në dritaren që hapet, zgjidhni Qeliza boshe(Bosh) dhe klikoni OK.

    Heqja e qelizave boshe nga një gamë

    Përzgjidhen të gjitha qelizat boshe në interval.

  3. 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ë:

  1. Zgjidhni një gamë të mjaftueshme qelizash boshe, për shembull F3:F10.
  2. 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.
  3. 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

 

Lini një Përgjigju