Мужаас хоосон нүднүүдийг устгаж байна

Асуудлын томъёолол

Бидэнд хоосон нүднүүдийг агуулсан өгөгдөл бүхий нүднүүдийн хүрээ байна:

 

Даалгавар бол хоосон нүднүүдийг арилгах бөгөөд зөвхөн мэдээлэл бүхий нүднүүдийг үлдээх явдал юм.

Арга 1. Барзгар, хурдан

  1. Анхны хүрээг сонгох
  2. Товчлуурыг дарна уу F5, дараагийн товчлуур Тодруул (Онцгой). Нээгдсэн цонхон дээр сонгоно уу Хоосон эсүүд(хоосон) болон дарна уу OK.

    Мужаас хоосон нүднүүдийг устгаж байна

    Муж дахь бүх хоосон нүдийг сонгосон.

  3. Сонгосон нүднүүдийг устгах цэсэнд бид команд өгдөг: хулганы баруун товчийг дарна уу- Нүдийг устгах (нүдүүдийг устгах) дээш шилжилттэй.

Арга 2: Массивын томъёо

Хялбаршуулахын тулд ажлын хүрээг ашиглан нэрлэцгээе Нэрийн менежер (Нэр менежер) таб томъёо (томъёо) эсвэл Excel 2003 болон түүнээс дээш хувилбарт цэс Оруулах - Нэр - оноох (Оруулах - Нэр - Тодорхойлох)

 

B3:B10 мужийг нэрлэ Хоосон байна, муж D3:D10 – Ямар ч хоосон. Хүрээ нь яг ижил хэмжээтэй байх ёстой бөгөөд өөр хоорондоо харьцангуй хаана ч байрлаж болно.

Одоо хоёр дахь мужын эхний нүдийг (D3) сонгоод энэ аймшигтай томъёог оруулна уу:

=ХЭРВЭ(МӨГӨЛ() -МӨР(ҮгүйХоосон)+1>NOTROWS(ТиймХоосон)-COUNTBLANK(ТиймХоосон);””;ШУУД (ХАЯГ(ХАМГИЙН ДОО((ХЭРЭВ(Хоосон<>“",МӨР(Хоосон);ROW()) + ROWS(Хоосон байна))); LINE()-ROW(Хоосон байхгүй)+1); COLUMN(Хоосон байна); 4)))

Англи хувилбарт дараах байдалтай байна.

=ХЭРЭВ(ROW()-МӨР(Үгүй)+1>МӨР(Хоосон)-ТООЛОГОО(Хоосон),””,ШУУД (ХАЯГ(ЖИЖИГ((ХЭРЭВ(Хоосон<>“",МӨР(Хоосон),МӨР()) +ROWS(Хоосон байна))),ROW()-ROW(Үгүй)+1), БАГАНА(Хоосон байна),4)))

Түүнээс гадна үүнийг массивын томьёо болгон оруулах ёстой, өөрөөр хэлбэл буулгасны дараа дарна уу оруулна уу (ердийнх шиг) ба Ctrl + Shift + Enter. Одоо томьёог автоматаар бөглөх (нүдний баруун доод буланд байгаа хар загалмайг чир) ашиглан хуулж болно - бид анхны мужийг авах болно, гэхдээ хоосон нүдгүй:

 

Арга 3. VBA дахь захиалгат функц

Хэрэв та хоосон нүднүүдийг мужаас арилгах процедурыг байнга давтах шаардлагатай гэж сэжиглэж байгаа бол хоосон нүдийг арилгах өөрийн функцийг стандарт багцад нэг удаа нэмж, дараагийн бүх тохиолдолд ашиглах нь дээр.

Үүнийг хийхийн тулд Visual Basic редакторыг нээнэ үү (ALT + F11), шинэ хоосон модуль оруулах (цэс Оруулах - Модуль) мөн энэ функцын текстийг тэнд хуулна уу:

Функц NoBlanks(DataRange зэрэг) Хувилбараар() Dim N шиг урт бүдэг N2 урт бүдэг Rng муж шиг Dim MaxCells шиг урт бүдэг Үр дүн() хувилбараар Dim R шиг урт бүдэг C урт MaxCells = Application.WorksheetFunction.Max( _) Application.Caller.Cells.Count, DataRange.Cells.Count) ReDim Үр дүн(1-ээс MaxCells, 1-ээс 1) DataRange.Cells-ийн Rng бүрийн хувьд Rng.Value <> vbNullString Дараа нь N = N + 1 Үр дүн(N, 1) ) = Rng.Value End If Next Rng For N2 = N + 1 to MaxCells Result(N2, 1) = vbNullString Дараагийн N2 Хэрэв Application.Caller.Rows.Count = 1 Дараа нь NoBlanks = Application.Transpose(Үр дүн) Үгүй NoBlanks = Үр дүн End If End функц  

Файлыг хадгалж, Visual Basic Editor-оос Excel рүү буцахаа бүү мартаарай. Энэ функцийг манай жишээн дээр ашиглахын тулд:

  1. Хангалттай хоосон нүднүүдийг сонгоно уу, жишээ нь F3:F10.
  2. Цэс рүү очно уу Оруулах - Функц (Оруулах - Функц)эсвэл товчлуур дээр дарна уу Функц оруулах (Оруулах функц) таб томъёо (томъёо) Excel-ийн шинэ хувилбаруудад. Ангилалд Хэрэглэгчийн тодорхойлсон (Хэрэглэгчийн тодорхойлсон) манай функцийг сонгоно уу Хоосон зай байхгүй.
  3. Функцийн аргумент болгон хоосон зайтай эхийн мужийг (B3:B10) зааж өгөөд дарна уу Ctrl + Shift + Enterфункцийг массив томьёо болгон оруулах.

:

  • Энгийн макро ашиглан хүснэгтийн бүх хоосон мөрүүдийг нэг дор устгана
  • PLEX нэмэлтийг ашиглан ажлын хуудасны бүх хоосон мөрийг нэг дор устгаж байна
  • Бүх хоосон нүдийг хурдан бөглөнө үү
  • Макро гэж юу вэ, VBA-д макро кодыг хаана оруулах вэ

 

хариу үлдээх