როგორ წაშალოთ ცარიელი რიგები Excel-ში VBA-ით, ფორმულებით და Power Query-ით

  • გააზიარეთ ეს
Michael Brown

Სარჩევი

ეს ინსტრუქცია გასწავლით რამდენიმე მარტივ ხრიკს Excel-ში რამდენიმე ცარიელი მწკრივის უსაფრთხოდ წაშლის მიზნით, ერთი ცოტა ინფორმაციის დაკარგვის გარეშე .

ცარიელი რიგები Excel-ში არის პრობლემა, რომელსაც ჩვენ ყველა ვაწყდებით. დროდადრო, განსაკუთრებით მაშინ, როდესაც აერთიანებს მონაცემებს სხვადასხვა წყაროდან ან ინფორმაციის იმპორტს სხვაგან. ცარიელ ხაზებს შეუძლია ბევრი ავარია გამოიწვიოს თქვენს სამუშაო ფურცლებს სხვადასხვა დონეზე და მათი ხელით წაშლა შეიძლება იყოს შრომატევადი და შეცდომებისადმი მიდრეკილი პროცესი. ამ სტატიაში თქვენ შეისწავლით რამდენიმე მარტივ და საიმედო მეთოდს სამუშაო ფურცლების ბლანკების მოსაშორებლად.

    როგორ არ ამოიღოთ ცარიელი ხაზები Excel-ში

    არსებობს რამდენიმე Excel-ში ცარიელი ხაზების წაშლის სხვადასხვა გზა, მაგრამ გასაკვირია, რომ ბევრი ონლაინ რესურსი ყველაზე საშიშია, კერძოდ Find & აირჩიეთ > სპეციალურზე გადასვლა > ბლანკები .

    რისი ბრალია ეს ტექნიკა? ის ირჩევს ყველა ცარიელ ადგილს დიაპაზონში და, შესაბამისად, თქვენ წაშლით ყველა მწკრივს, რომელიც შეიცავს ერთ ცარიელ უჯრედს.

    ქვემოთ მოცემული სურათი გვიჩვენებს ორიგინალურ ცხრილს მარცხნივ და შედეგად მიღებული ცხრილი მარჯვნივ. და შედეგად ცხრილში, ყველა არასრული მწკრივი გაქრა, მე-10 მწკრივიც კი, სადაც მხოლოდ D სვეტის თარიღი აკლდა:

    ბოლო ხაზი: თუ არ გსურთ თქვენი მონაცემების არევა, არასოდეს წაშალოთ ცარიელი რიგები ცარიელი უჯრედების არჩევით. ამის ნაცვლად, გამოიყენეთ ერთ-ერთი განხილული მიდგომარამ უფრო რთული, ვიდრე საჭიროა. ასე რომ, ჩვენ გადავდგით ნაბიჯი და შევქმენით ორი დაწკაპუნებით მარშრუტი Excel-ში ცარიელი რიგების წასაშლელად.

    თქვენს ლენტზე დამატებული Ultimate Suite, აი, როგორ შეგიძლიათ წაშალოთ ყველა ცარიელი რიგები სამუშაო ფურცელში:

    1. ჩანართზე Ablebits Tools , Transform ჯგუფში დააწკაპუნეთ Blanks წაშლა > ცარიელი რიგები :
    2. დამატება გაცნობებთ, რომ ყველა ცარიელი მწკრივი წაიშლება აქტიური სამუშაო ფურცლიდან და ითხოვს დადასტურებას. დააწკაპუნეთ OK და ერთ მომენტში, ყველა ცარიელი მწკრივი წაიშლება.

    როგორც ნაჩვენებია ქვემოთ მოცემულ ეკრანის სურათზე, ჩვენ წავშალეთ მხოლოდ აბსოლუტურად ცარიელი ხაზები რომლებსაც არ აქვთ ერთი უჯრედი მონაცემებით:

    საპოვნელად მეტი გასაოცარი ფუნქციები, რომლებიც შედის ჩვენი Ultimate Suite for Excel-ისთვის, შეგიძლიათ ჩამოტვირთოთ საცდელი ვერსია.

    მადლობას გიხდით წაკითხვისთვის და იმედი მაქვს, რომ მომავალ კვირას გნახავთ ჩვენს ბლოგზე!

    ქვემოთ.

    როგორ ამოიღოთ ცარიელი რიგები Excel-ში VBA-ით

    Excel VBA-ს შეუძლია ბევრი რამის გამოსწორება, მათ შორის მრავალი ცარიელი მწკრივის ჩათვლით. ამ მიდგომის საუკეთესო რამ არის ის, რომ არ საჭიროებს რაიმე პროგრამირების უნარს. უბრალოდ, აიღეთ ერთ-ერთი ქვემოთ მოცემული კოდი და გაუშვით თქვენს Excel-ში (ინსტრუქციები აქ არის).

    მაკრო 1. წაშალეთ ცარიელი ხაზები არჩეულ დიაპაზონში

    ეს VBA კოდი ჩუმად წაშლის ყველა ცარიელს რიგები არჩეულ დიაპაზონში, მომხმარებლისთვის რაიმე შეტყობინების ან დიალოგური ფანჯრის ჩვენების გარეშე.

    წინა ტექნიკისგან განსხვავებით, მაკრო წაშლის ხაზს, თუ მთელი მწკრივი ცარიელია . იგი ეყრდნობა სამუშაო ფურცლის ფუნქციას CountA, რათა მიიღოს არა ცარიელი უჯრედების რაოდენობა თითოეულ სტრიქონში და შემდეგ წაშლის სტრიქონებს ნულოვანი რაოდენობის მიხედვით.

    Public Sub DeleteBlankRows() Dim SourceRange როგორც Range Dim EntireRow As Range Set SourceRange = აპლიკაცია. Selection If Not (SourceRange Is Nothing ) then Application.ScreenUpdating = False For I = SourceRange.Rows.Count 1 საფეხურზე -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountAw) 0 შემდეგ EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    იმისთვის, რომ მომხმარებელს მიეცეს შესაძლებლობა აირჩიოს სამიზნე დიაპაზონი მაკროს გაშვების შემდეგ , გამოიყენეთ ეს კოდი:

    საჯარო Sub RemoveBlankLines() Dim SourceRange როგორც Range Dim EntireRow As Range On შეცდომა Resume შემდეგი Set SourceRange = Application.InputBox( _"აირჩიეთ დიაპაზონი:" , "წაშალე ცარიელი რიგები" , _ Application.Selection.Address, ჩაწერეთ :=8) თუ არა (SourceRange Is Nothing) მაშინ Application.ScreenUpdating = False For I = SourceRange.Rows.Count 1 ნაბიჯი - 1 დააყენეთ EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 შემდეგ EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    გამოშვებისას აჩვენებს მაკროას შემდეგ შეყვანის ველში, ირჩევთ სამიზნე დიაპაზონს და დააწკაპუნეთ OK:

    მომენტში, ყველა ცარიელი ხაზი არჩეულ დიაპაზონში აღმოიფხვრება და დარჩენილი ხაზი გადაინაცვლებს ზემოთ:

    მაკრო 2. წაშალეთ ყველა ცარიელი მწკრივი Excel-ში

    აქტიური ფურცლის ყველა ცარიელი მწკრივის წასაშლელად , განსაზღვრეთ გამოყენებული დიაპაზონის ბოლო მწკრივი (ანუ მწკრივი, რომელიც შეიცავს ბოლო უჯრედი მონაცემებით), და შემდეგ გადადით ზემოთ და წაშალეთ ხაზები, რომლებზეც CountA აბრუნებს ნულს:

    Sub DeleteAllEmptyRows() Dim LastRowIndex როგორც მთელი რიცხვი Dim RowIndex როგორც მთელი რიცხვი Dim UsedRng როგორც დიაპაზონი Set UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False For RowIndex = LastRowIndex To 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0 RowIndex). თუ Next RowIndex Application.ScreenUpdating = True End Sub

    Macro 3. წაშალეთ მწკრივი, თუ უჯრედი ცარიელია

    ამ მაკროით, შეგიძლიათ წაშალოთ მთელი რიგი, თუ უჯრედი მითითებულიასვეტი ცარიელია.

    შემდეგი კოდი ამოწმებს A სვეტს ცარიელი ადგილებისთვის. სხვა სვეტზე დაფუძნებული რიგების წასაშლელად, შეცვალეთ "A" შესაბამისი ასოთ.

    Sub DeleteRowIfCellBlank() შეცდომის შემთხვევაში განაახლეთ შემდეგი სვეტები("A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    როგორც ფაქტიურად, მაკრო იყენებს გადადით სპეციალურზე > ბლანკები ფუნქციას და შეგიძლიათ იგივე შედეგის მიღწევა ამ ნაბიჯების ხელით შესრულებით.

    შენიშვნა. მაკრო წაშლის ცარიელ სტრიქონებს მთელ ფურცელში , ამიტომ გთხოვთ იყოთ ძალიან ფრთხილად მისი გამოყენებისას. სიფრთხილის მიზნით, შეიძლება გონივრული იყოს სამუშაო ფურცლის სარეზერვო ასლის შექმნა ამ მაკროს გაშვებამდე.

    როგორ ამოიღოთ ცარიელი ხაზები Excel-ში VBA-ით

    წაშალოთ ცარიელი რიგები Excel-ში მაკროს გამოყენებით, თქვენ შეგიძლიათ ან ჩასვათ VBA კოდი თქვენს სამუშაო წიგნში, ან გაუშვათ მაკრო ჩვენი ნიმუშის სამუშაო წიგნიდან.

    დაამატეთ მაკრო თქვენს სამუშაო წიგნში

    მაკრო თქვენს სამუშაო წიგნში ჩასასმელად, შეასრულეთ შემდეგი ნაბიჯები:

    1. გახსენით სამუშაო ფურცელი, სადაც გსურთ წაშალოთ ცარიელი რიგები.
    2. დააჭირეთ Alt + F11 Visual Basic რედაქტორის გასახსნელად.
    3. მარცხენა პანელზე დააწკაპუნეთ მარჯვენა ღილაკით. This Workbook და შემდეგ დააწკაპუნეთ Insert > Module .
    4. ჩასვით კოდი კოდის ფანჯარაში.
    5. დააჭირეთ F5 მაკროს გასაშვებად.

    დაწვრილებითი ნაბიჯ-ნაბიჯ ინსტრუქციებისთვის იხილეთ როგორ ჩასვათ და გამოიყენოთ VBA Excel-ში.

    გაუშვით მაკრო ჩვენი ნიმუშის სამუშაო წიგნიდან

    ჩამოტვირთეთ ჩვენი ნიმუშისამუშაო წიგნი მაკროებით ცარიელი რიგების წასაშლელად და იქიდან გაუშვით ერთ-ერთი შემდეგი მაკრო:

    DeleteBlankRows - წაშლის ცარიელ რიგებს ამჟამად არჩეულ დიაპაზონში.

    RemoveBlankLines - წაშლის ცარიელ მწკრივებს და გადაინაცვლებს დიაპაზონში, რომელსაც აირჩევთ მაკროს გაშვების შემდეგ.

    DeleteAllEmptyRows - წაშლის ყველა ცარიელ ხაზს აქტიურ ფურცელზე.

    DeleteRowIfCellBlank - შლის რიგს, თუ უჯრედი კონკრეტულ სვეტში ცარიელია.

    მაკროს გასაშვებად თქვენს Excel-ში, გააკეთეთ შემდეგი:

    1. გახსენით ჩამოტვირთეთ სამუშაო წიგნი და მოთხოვნის შემთხვევაში ჩართეთ მაკროები.
    2. გახსენით თქვენი საკუთარი სამუშაო წიგნი და გადადით თქვენთვის საინტერესო სამუშაო ფურცელზე.
    3. თქვენს სამუშაო ფურცელში დააჭირეთ Alt + F8, აირჩიეთ მაკრო და დააწკაპუნეთ გაშვება .

    ფორმულა Excel-ში ცარიელი რიგების წასაშლელად

    იმ შემთხვევაში, თუ გსურთ ნახოთ რას წაშლით, გამოიყენეთ შემდეგი ფორმულა ცარიელი ხაზების დასადგენად:

    =IF(COUNTA(A2:D2)=0, "Blank", "Not blank")

    სადაც A2 არის პირველი და D2 არის ბოლო გამოყენებული უჯრედი მონაცემთა პირველი მწკრივის.

    შეიყვანეთ ეს ფორმულა a E2-ში ან მე-2 მწკრივის ნებისმიერ სხვა ცარიელ სვეტში და გადაათრიეთ შევსების სახელური ფორმულის დასაკოპირებლად.

    შედეგად, თქვენ გექნებათ "ცარიელი" ცარიელ მწკრივებში და "არა ცარიელი" რიგებში. რომელიც შეიცავს მინიმუმ ერთ უჯრედს მონაცემებით:

    ფორმულის ლოგიკა აშკარაა: თქვენ ითვლით არაცარიელ უჯრედებს COUNTA ფუნქციით და იყენებთ IF განცხადებას, რომ დააბრუნოთ "ცარიელი" ნულოვანი რაოდენობისთვის, "არა ცარიელი" წინააღმდეგ შემთხვევაში. .

    შიფაქტობრივად, შეგიძლიათ კარგად გააკეთოთ IF:

    =COUNTA(A2:D2)=0

    ამ შემთხვევაში, ფორმულა დააბრუნებს TRUE-ს ცარიელი ხაზებისთვის და FALSE არაცარიელი ხაზებისთვის.

    ფორმულა ადგილზე, განახორციელეთ ეს ნაბიჯები ცარიელი ხაზების წასაშლელად:

    1. აირჩიეთ ნებისმიერი უჯრედი სათაურის მწკრივში და დააწკაპუნეთ დახარისხება & amp; ფილტრი > ფილტრი მთავარი ჩანართზე, ფორმატებში ეს დაამატებს ფილტრაციის ჩამოსაშლელ ისრებს სათაურის ყველა უჯრედს.
    2. დააწკაპუნეთ ისარს ფორმულის სვეტის სათაურში, მოხსენით მონიშვნა (აირჩიეთ ყველა), აირჩიეთ ცარიელი და დააწკაპუნეთ OK :
    3. აირჩიეთ ყველა გაფილტრული მწკრივი . ამისათვის დააწკაპუნეთ პირველი გაფილტრული მწკრივის პირველ უჯრედზე და დააჭირეთ Ctrl + Shift + End, რათა არჩევანი გააფართოვოთ ბოლო გაფილტრული მწკრივის ბოლო უჯრედამდე.
    4. დააწკაპუნეთ მაუსის მარჯვენა ღილაკით, აირჩიეთ წაშალეთ მწკრივი კონტექსტური მენიუდან და შემდეგ დაადასტურეთ, რომ ნამდვილად გსურთ წაშალოთ მთელი რიგები:
    5. წაშალეთ ფილტრი Ctrl + Shift + L დაჭერით. ან დააწკაპუნეთ მთავარი ჩანართზე > დახარისხება & ფილტრი > ფილტრი .
    6. წაშალეთ სვეტი ფორმულით, რადგან ის აღარ გჭირდებათ.

    ესე იგი! შედეგად, ჩვენ გვაქვს სუფთა ცხრილი ცარიელი ხაზების გარეშე, მაგრამ ყველა ინფორმაცია დაცულია:

    რჩევა. ცარიელი ხაზების წაშლის ნაცვლად, შეგიძლიათ დააკოპიროთ არა ცარიელი რიგები სხვაგან. ამის გასაკეთებლად, გაფილტრეთ "არა ცარიელი" რიგები, აირჩიეთ ისინი და დააჭირეთ Ctrl + C კოპირებისთვის. შემდეგ გადართეთსხვა ფურცელი, აირჩიეთ დანიშნულების დიაპაზონის ზედა მარცხენა უჯრედი და დააჭირეთ Ctrl + V ჩასმა.

    როგორ ამოიღოთ ცარიელი ხაზები Excel-ში Power Query-ით

    Excel 2016-ში და Excel 2019-ში, არსებობს ცარიელი რიგების წაშლის კიდევ ერთი გზა - Power Query ფუნქციის გამოყენებით. Excel 2010-სა და Excel 2013-ში მისი ჩამოტვირთვა შესაძლებელია როგორც დანამატი.

    მნიშვნელოვანი შენიშვნა! ეს მეთოდი მუშაობს შემდეგი სიფრთხილით: Power Query გარდაქმნის წყაროს მონაცემებს Excel ცხრილად და ცვლის ფორმატირებას, როგორიცაა შევსების ფერი, საზღვრები და ზოგიერთი რიცხვის ფორმატი. თუ თქვენი ორიგინალური მონაცემების ფორმატირება მნიშვნელოვანია თქვენთვის, მაშინ უმჯობესია აირჩიოთ სხვა გზა Excel-ში ცარიელი რიგების მოსაშორებლად.

    1. აირჩიეთ დიაპაზონი, სადაც გსურთ წაშალოთ ცარიელი ხაზები.
    2. გადადით მონაცემები ჩანართზე > მიიღეთ & შეცვალეთ ჯგუფი და დააწკაპუნეთ ცხრილიდან/დიაპაზონიდან . ეს ჩატვირთავს თქვენს ცხრილს Power Query Editor-ში.
    3. Power Query Editor-ის მთავარი ჩანართზე დააწკაპუნეთ წაშლა რიგები > წაშლა ცარიელი რიგები .
    4. დააწკაპუნეთ დახურვაზე & amp; Load ეს ჩატვირთავს მიღებულ ცხრილს ახალ სამუშაო ფურცელში და დახურავს შეკითხვის რედაქტორს.

    ამ მანიპულაციების შედეგად მივიღე შემდეგი ცხრილი ცარიელი ხაზების გარეშე, მაგრამ რამდენიმე საზიზღარი ცვლილებით - ვალუტის ფორმატი დაკარგულია და თარიღები ნაჩვენებია ნაგულისხმევ ფორმატში მორგებულის ნაცვლად:

    როგორ წავშალოთ რიგები თუგარკვეული სვეტის უჯრედი ცარიელია

    ამ გაკვეთილის დასაწყისში, ჩვენ გაგაფრთხილეთ, არ წაშალოთ ცარიელი ხაზები ბლანკების არჩევით. თუმცა, ეს მეთოდი გამოგადგებათ, თუ გსურთ წაშალოთ მწკრივები, რომლებიც ეფუძნება ბლანკებს კონკრეტულ სვეტში .

    მაგალითად, მოდით წავშალოთ ყველა ის მწკრივი, სადაც A სვეტის უჯრედი ცარიელია. :

    1. აირჩიეთ გასაღების სვეტი, სვეტი A ჩვენს შემთხვევაში.
    2. მთავარი ჩანართზე დააწკაპუნეთ ძებნა & amp; აირჩიეთ > სპეციალურზე გადასვლა . ან დააჭირეთ F5 და დააჭირეთ ღილაკს სპეციალური… .
    3. სპეციალურზე გადასვლა დიალოგში აირჩიეთ ბლანკები და დააწკაპუნეთ OK . ეს შეარჩევს ცარიელ უჯრედებს გამოყენებული დიაპაზონში A სვეტში.
    4. დააწკაპუნეთ მარჯვენა ღილაკით ნებისმიერ არჩეულ უჯრედზე და აირჩიეთ წაშლა... კონტექსტური მენიუდან.
    5. დიალოგურ ფანჯარაში წაშლა აირჩიეთ მთელი მწკრივი და დააწკაპუნეთ OK.

    შესრულებულია! სტრიქონები, რომლებსაც არ აქვთ მნიშვნელობა A სვეტში, აღარ არის:

    იგივე შედეგის მიღწევა შესაძლებელია საკვანძო სვეტის ბლანკების გაფილტვრით.

    როგორ ამოიღოთ დამატებითი ხაზები მონაცემების ქვემოთ

    ზოგჯერ, რიგები, რომლებიც სრულიად ცარიელი ჩანს, შეიძლება რეალურად შეიცავდეს ზოგიერთ ფორმატს ან დაუბეჭდავ სიმბოლოებს. იმისათვის, რომ შეამოწმოთ, არის თუ არა ბოლო უჯრედი მონაცემებით თქვენს სამუშაო ფურცელში ბოლო გამოყენებული უჯრედი, დააჭირეთ Ctrl + End. თუ ამან მიგიყვანათ თქვენი მონაცემების ქვემოთ ვიზუალურად ცარიელ მწკრივში, Excel-ის თვალსაზრისით, ეს მწკრივი არ არის ცარიელი. ასეთი რიგების მოსაშორებლად, გააკეთეთშემდეგი:

    1. დააწკაპუნეთ თქვენი მონაცემების ქვემოთ პირველი ცარიელი მწკრივის სათაურზე მის ასარჩევად.
    2. დააჭირეთ Ctrl + Shift + End . ეს შეარჩევს ყველა სტრიქონს, რომელიც შეიცავს რაიმე ფორმატს, ინტერვალს და არადაბეჭდილ სიმბოლოებს.
    3. დააწკაპუნეთ მაუსის მარჯვენა ღილაკით და აირჩიეთ წაშლა... > მთელი მწკრივი.

    თუ თქვენ გაქვთ მონაცემთა შედარებით მცირე ნაკრები, შეგიძლიათ მოიცილოთ ყველა ცარიელი ხაზი თქვენი მონაცემების ქვემოთ, მაგ. გადახვევის გასაადვილებლად. თუმცა, Excel-ში გამოუყენებელი რიგების წაშლის გზა არ არსებობს, არაფერი შეგიშლით ხელს დამალოთ მათ. აი, როგორ:

    1. აირჩიეთ მწკრივი ბოლო მწკრივის ქვემოთ მონაცემებით მის სათაურზე დაწკაპუნებით.
    2. დააჭირეთ Ctrl + Shift + ქვემოთ ისარი, რომ გააფართოვოთ არჩევანი ფურცლის ბოლო მწკრივზე. .
    3. დააჭირეთ Ctrl + 9 არჩეული რიგების დასამალად. ან დააწკაპუნეთ არჩევანზე მარჯვენა ღილაკით და შემდეგ დააწკაპუნეთ დამალვა .

    მწკრივების დამალვის მიზნით დააჭირეთ Ctrl + A მთელი ფურცლის ასარჩევად და შემდეგ დააჭირეთ Ctrl + Shift + 9 რათა ყველა ხაზი კვლავ ხილული გახდეს.

    მსგავსი ფორმით, თქვენ შეგიძლიათ დამალოთ გამოუყენებელი ცარიელი სვეტები თქვენი მონაცემების მარჯვნივ. დეტალური ნაბიჯებისთვის იხილეთ გამოუყენებელი მწკრივების დამალვა Excel-ში ისე, რომ მხოლოდ სამუშაო არე იყოს ხილული.

    Excel-ში ცარიელი რიგების ამოღების უსწრაფესი გზა

    წინა მაგალითების წაკითხვისას არა გგონიათ, რომ თხილის გასატეხად ჩიპს ვიყენებდით? აქ, Abblebits-ში, ჩვენ გვირჩევნია არა

    მაიკლ ბრაუნი არის ტექნოლოგიის ერთგული ენთუზიასტი, რომელსაც აქვს გატაცება პროგრამული ინსტრუმენტების გამოყენებით რთული პროცესების გამარტივებისთვის. ტექნოლოგიურ ინდუსტრიაში ათწლეულზე მეტი გამოცდილებით, მან დახვეწა თავისი უნარები Microsoft Excel-სა და Outlook-ში, ასევე Google Sheets-სა და Docs-ში. მაიკლის ბლოგი ეძღვნება თავისი ცოდნისა და გამოცდილების სხვებს გაზიარებას, ადვილად მისაწვდომ რჩევებსა და გაკვეთილებს პროდუქტიულობისა და ეფექტურობის გასაუმჯობესებლად. მიუხედავად იმისა, გამოცდილი პროფესიონალი ხართ თუ დამწყები, მაიკლის ბლოგი გთავაზობთ ღირებულ შეხედულებებსა და პრაქტიკულ რჩევებს ამ აუცილებელი პროგრამული ხელსაწყოებიდან მაქსიმალური სარგებლობის მისაღებად.