Uklanjanje praznih ćelija iz raspona

Formulacija problema

Imamo niz ćelija s podacima koji sadrže prazne ćelije:

 

Zadatak je ukloniti prazne ćelije, ostavljajući samo ćelije s informacijama.

Metoda 1. Grubo i brzo

  1. Odabir izvornog raspona
  2. Pritisnite tipku F5, sljedeći gumb Istaknuti (posebno). U prozoru koji se otvori odaberite Prazne ćelije(praznine) i kliknite OK.

    Uklanjanje praznih ćelija iz raspona

    Odabrane su sve prazne ćelije u rasponu.

  3. Dajemo naredbu u izborniku za brisanje odabranih ćelija: desni klik- Brisanje ćelija (Brisanje ćelija) s pomakom prema gore.

Metoda 2: Formula polja

Da pojednostavimo, nazovimo naše radne raspone pomoću Upravitelj imena (Upravitelj naziva) kartica formula (Formule) ili, u Excelu 2003 i starijim, izbornik Umetni – Ime – Dodijeli (Umetni — Ime — Definiraj)

 

Imenujte raspon B3:B10 HaveEmpty, raspon D3:D10 – NoneEmpty. Rasponi moraju biti strogo iste veličine i mogu se nalaziti bilo gdje jedan u odnosu na drugi.

Sada odaberite prvu ćeliju drugog raspona (D3) i u nju unesite ovu zastrašujuću formulu:

=IF(ROW() -ROW(NoEmpty)+1>NOTROWS(YesEmpty)-COUNTBLANK(YesEmpty);””;INDIRECT(ADDRESS(LOWEST((IF(Empty<>“”,ROW(Empty);ROW() + ROWS(Ima praznih))); LINE()-ROW(Nema praznih)+1); COLUMN(Ima praznih); 4)))

U engleskoj verziji to će biti:

=IF(ROW()-ROW(NoEmpty)+1>ROWS(Empty)-COUNTBLANK(prazno),””,INDIRECT(ADDRESS(SMALL((IF(Empty<>“”,ROW(Empty),ROW() +ROWS(ImaPrazno))),RED()-RED(BezPrazno)+1),COLUMN(ImaPrazno),4)))

Štoviše, mora se unijeti kao formula polja, tj. pritisnuti nakon lijepljenja ući (kao i obično) i Ctrl + Shift + Enter. Sada se formula može kopirati pomoću automatskog dovršavanja (povucite crni križ u donjem desnom kutu ćelije) - i dobit ćemo izvorni raspon, ali bez praznih ćelija:

 

Metoda 3. Prilagođena funkcija u VBA

Ako postoji sumnja da ćete često morati ponavljati postupak uklanjanja praznih ćelija iz raspona, onda je bolje jednom dodati vlastitu funkciju za uklanjanje praznih ćelija u standardni skup i koristiti je u svim sljedećim slučajevima.

Da biste to učinili, otvorite Visual Basic Editor (ALT + F11), umetnite novi prazan modul (izbornik Umetak – Modul) i tamo kopirajte tekst ove funkcije:

Funkcija NoBlanks(DataRange As Range) As Variant() Dim N As Long Dim N2 As Long Dim Rng As Range Dim MaxCells As Long Dim Result() As Variant Dim R As Long Dim C As Long MaxCells = Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, DataRange.Cells.Count) ReDim Result(1 To MaxCells, 1 To 1) Za svaki Rng u DataRange.Cells If Rng.Value <> vbNullString Then N = N + 1 Result(N, 1 ) = Rng.Value End If Next Rng For N2 = N + 1 To MaxCells Result(N2, 1) = vbNullString Next N2 If Application.Caller.Rows.Count = 1 Then NoBlanks = Application.Transpose(Result) Else NoBlanks = Rezultat End If End funkcija  

Ne zaboravite spremiti datoteku i vratiti se s uređivača Visual Basic na Excel. Za korištenje ove funkcije u našem primjeru:

  1. Odaberite dovoljan raspon praznih ćelija, na primjer F3:F10.
  2. Idite na izbornik Umetanje – funkcija (Umetni — funkcija)ili kliknite na gumb Funkcija umetanja (Umetni funkciju) kartica formula (Formule) u novijim verzijama Excela. U kategoriji Korisnik definiran (Korisnik definiran) izabrati našu funkciju Nema praznina.
  3. Navedite izvorni raspon s prazninama (B3:B10) kao argument funkcije i pritisnite Ctrl + Shift + Enterza unos funkcije kao formule polja.

:

  • Brisanje svih praznih redaka u tablici odjednom jednostavnom makronaredbom
  • Uklanjanje svih praznih redaka na radnom listu odjednom pomoću PLEX dodatka
  • Brzo ispunite sve prazne ćelije
  • Što su makronaredbe, gdje umetnuti makro kod u VBA

 

Ostavi odgovor