Аралыктан бош уячаларды алып салуу

Проблеманы түзүү

Бизде бош уячаларды камтыган маалыматтары бар бир катар клеткалар бар:

 

Милдет бош клеткаларды алып салуу, маалыматы бар клеткаларды гана калтыруу.

Метод 1. Орой жана тез

  1. Баштапкы диапазонду тандоо
  2. Баскычты басыңыз F5, кийинки баскыч Бөлүп (Атайын). Ачылган терезеде тандаңыз Бош клеткалар(Боштуктар) жана чыкылдатуу OK.

    Аралыктан бош уячаларды алып салуу

    Диапазондогу бардык бош уячалар тандалды.

  3. Тандалган уячаларды жок кылуу үчүн менюда буйрук беребиз: оң баскычты басыңыз- Клеткаларды жок кылуу (Уячаларды жок кылуу) өйдө жылыш менен.

Метод 2: Массив формуласы

Жөнөкөйлөтүү үчүн, келгиле, иштөө диапазонубузду колдонуп атайлы Аты менеджер (Аты-жөнү менеджери) табулатура формула (Формулалар) же, Excel 2003 жана андан улуураак, меню Кыстаруу - Аты - дайындоо (Киргизүү — Аты — Аныктоо)

 

B3:B10 диапазонун атаңыз HaveEmpty, диапазон D3:D10 – NoneEmpty. Диапазондор бирдей өлчөмдө болушу керек жана бири-бирине салыштырмалуу каалаган жерде жайгаштырылышы мүмкүн.

Эми экинчи диапазондун биринчи уячасын (D3) тандап, ага бул коркунучтуу формуланы киргизиңиз:

=ЭГЕР(КАТ() -КЫР(Жок)+1>NOTROWS(ОобаБош)-COUNTBLANK(ОобаБош);””;КЫЙЫР(ДАРЕК(ЭҢ ТӨМӨН((ЭГГЕР(Бош<>“",САП(Бош);КАТ() + КАТТАР(Бош бар))); LINE()-КАТ(Бош жок)+1); КАЛОНА(Бош бар); 4)))

Англисче версиясында мындай болот:

=ЭГЕР(КАТ()-КАТ(Бош)+1>КАТТАР(Бош)-COUNTBLANK(Бош),””,КЫЙЫР(ДАРЕК(КИЧИ((ЭГГЕР(Бош<>“",САП(Бош),КАТ() +КАТЫРЛАР(Бош бар))),КАТЫР()-КАТ(Бош Жок)+1),КАЛОНА(Бош бар),4)))

Мындан тышкары, ал массив формуласы катары киргизилиши керек, башкача айтканда чаптагандан кийин басыңыз кирүү (адаттагыдай) жана Ctrl+Shift+Enter. Эми формуланы автотолтуруунун жардамы менен көчүрүүгө болот (уячанын ылдыйкы оң бурчундагы кара крестти сүйрөңүз) – жана биз баштапкы диапазону алабыз, бирок бош уячаларсыз:

 

Метод 3. VBAдагы ыңгайлаштырылган функция

Эгерде сиз диапазондордон бош уячаларды алып салуу процедурасын көп кайталап турууга туура келет деген шектенүү пайда болсо, анда стандарттуу топтомго бош уячаларды алып салуу боюнча өзүңүздүн функцияңызды бир жолу кошуп, андан кийинки бардык учурларда колдонгонуңуз жакшы.

Бул үчүн, Visual Basic редакторун ачыңыз (ALT + F11), жаңы бош модулду салыңыз (меню Кыстаруу – модуль) жана бул функциянын текстин ошол жерге көчүрүңүз:

Функция NoBlanks(DataRange катары Диапазон) Variant катары () Dim N Катар Узун Dim N2 Узун Dim Rng Диапазон сыяктуу Dim MaxCells Катар Узун Dim Натыйжа() Вариант катары Dim R Катар Узун Dim C Катар Узун MaxCells = Application.WorksheetFunction.Max( _ Application.Caller.Cells.Count, DataRange.Cells.Count) ReDim натыйжасы(1ден MaxCellsке, 1ден 1ге чейин) DataRange.Cells ичиндеги ар бир Rng үчүн If Rng.Value <> vbNullString Анда N = N + 1 Натыйжа(N, 1) ) = Rng.Value End If Next Rng For N2 = N + 1 For MaxCells Result(N2, 1) = vbNullString Кийинки N2 If Application.Caller.Rows.Count = 1 Анда NoBlanks = Application.Transpose(Result) Else NoBlanks = Жыйынтык End If End функциясы  

Файлды сактап, кайра Visual Basic редакторунан Excelге которулууну унутпаңыз. Биздин мисалда бул функцияны колдонуу үчүн:

  1. Бош уячалардын жетиштүү диапазонун тандаңыз, мисалы, F3:F10.
  2. Менюга өтүңүз Кыстаруу – Функция (Кыстаруу — Функция)же баскычты басыңыз Функцияны киргизүү (Функцияны киргизүү) табулатура формула (Формулалар) Excelдин жаңы версияларында. категориясында Колдонуучу аныкталган (Колдонуучу аныктаган) биздин функцияны тандаңыз NoBlanks.
  3. Функциянын аргументи катары боштуктар менен булак диапазонун көрсөтүңүз (B3:B10) жана басыңыз Ctrl+Shift+Enterфункцияны массив формуласы катары киргизүү үчүн.

:

  • Жөнөкөй макрос менен таблицадагы бардык бош саптарды жок кылуу
  • PLEX кошумчасын колдонуу менен иш барагындагы бардык бош саптарды дароо алып салуу
  • Бардык бош уячаларды тез толтуруңуз
  • Макрос деген эмне, VBAга макрокодду кайда киргизүү керек

 

Таштап Жооп