نحوه حذف ردیف های خالی در اکسل با VBA، فرمول ها و Power Query

  • این را به اشتراک بگذارید
Michael Brown

این آموزش چند ترفند ساده را به شما می آموزد تا چندین ردیف خالی در اکسل را به صورت ایمن و بدون از دست دادن یک بیت اطلاعات حذف کنید .

ردیف های خالی در اکسل مشکلی است که همه ما با آن روبرو هستیم. هر چند وقت یکبار، به خصوص هنگام ترکیب داده ها از منابع مختلف یا وارد کردن اطلاعات از جایی دیگر. خطوط خالی می تواند باعث خرابی زیادی برای کاربرگ های شما در سطوح مختلف شود و حذف دستی آنها می تواند فرآیندی زمان بر و مستعد خطا باشد. در این مقاله، چند روش ساده و قابل اعتماد برای حذف صفحات خالی در کاربرگ های خود را خواهید آموخت.

    چگونه خطوط خالی را در اکسل حذف نکنید

    چندتا وجود دارد راه های مختلف برای حذف خطوط خالی در اکسل، اما به طور شگفت انگیزی بسیاری از منابع آنلاین به خطرناک ترین آنها، یعنی Find & > رفتن به ویژه > جای خالی را انتخاب کنید.

    چه اشکالی در این تکنیک وجود دارد؟ همه خالی‌ها را در یک محدوده انتخاب می‌کند، و در نتیجه تمام ردیف‌هایی را که حاوی یک سلول خالی هستند حذف می‌کنید.

    تصویر زیر جدول اصلی را در سمت چپ نشان می‌دهد و جدول به دست آمده در سمت راست و در جدول به دست آمده، تمام سطرهای ناقص حذف شده اند، حتی ردیف 10 که فقط تاریخ ستون D را از دست داده است:

    خط آخر: اگر نمی خواهید داده های خود را به هم بزنید، هرگز خالی را حذف نکنید. ردیف ها با انتخاب سلول های خالی. در عوض، از یکی از رویکردهای مورد بررسی بیشتر استفاده کنیدهمه چیز را پیچیده تر از آنچه که باید باشد. بنابراین، ما یک قدم فراتر رفتیم و یک مسیر با دو کلیک برای حذف ردیف‌های خالی در اکسل ایجاد کردیم.

    با اضافه شدن Ultimate Suite به نوار شما، در اینجا نحوه حذف همه ردیف‌های خالی آمده است. در یک کاربرگ:

    1. در برگه ابزارهای Ablebits ، در گروه Transform ، روی Delete Blanks > کلیک کنید سطرهای خالی :
    2. افزونه به شما اطلاع می‌دهد که همه ردیف‌های خالی از کاربرگ فعال حذف می‌شوند و درخواست تأیید می‌کنند. روی OK کلیک کنید و در یک لحظه تمام ردیف های خالی حذف خواهند شد.

    همانطور که در تصویر زیر نشان داده شده است، ما فقط خطوط کاملاً خالی را حذف کرده ایم که یک سلول واحد با داده ندارند:

    برای پیدا کردن با ویژگی‌های عالی‌تر همراه با Ultimate Suite برای Excel، می‌توانید نسخه آزمایشی آن را دانلود کنید.

    از شما برای خواندن تشکر می‌کنم و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!

    در زیر.

    نحوه حذف ردیف های خالی در اکسل با VBA

    Excel VBA می تواند بسیاری از موارد، از جمله چندین ردیف خالی را برطرف کند. بهترین چیز در مورد این روش این است که به هیچ مهارت برنامه نویسی نیاز ندارد. به سادگی، یکی از کدهای زیر را بردارید و آن را در اکسل خود اجرا کنید (دستورالعمل ها اینجا هستند).

    ماکرو 1. حذف خطوط خالی در محدوده انتخاب شده

    این کد VBA بی صدا همه موارد خالی را حذف می کند. ردیف‌هایی در محدوده انتخاب‌شده، بدون نمایش هیچ پیام یا کادر محاوره‌ای به کاربر.

    برخلاف تکنیک قبلی، اگر کل ردیف خالی باشد، ماکرو یک خط را حذف می‌کند. برای بدست آوردن تعداد سلول های غیر خالی در هر خط به تابع صفحه کار CountA متکی است و سپس ردیف هایی را با تعداد صفر حذف می کند.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application. انتخاب اگر نه (SourceRange چیزی نیست) سپس Application.ScreenUpdating = False For I = SourceRange.Rows.Count to 1 Step -1 EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountAw) 0 سپس EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    برای اینکه کاربر فرصتی را برای انتخاب محدوده هدف پس از اجرای ماکرو ، از این کد استفاده کنید:

    Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow as Range On Error Resume بعدی تنظیم SourceRange = Application.InputBox( _"انتخاب یک محدوده:"، "حذف ردیف های خالی"، _ Application.Selection.Address، نوع:=8) اگر نه (SourceRange چیزی نیست) سپس Application.ScreenUpdating = False For I = SourceRange.Rows.Count to 1 Step - 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. تمام سطرهای خالی در اکسل را حذف کنید

    برای حذف همه سطرهای خالی در صفحه فعال ، آخرین سطر محدوده استفاده شده را تعیین کنید (یعنی ردیف حاوی آخرین سلول با داده)، و سپس به سمت بالا بروید و خطوطی را که CountA برای آنها صفر برمی گرداند حذف کنید:

    Sub DeleteAllEmptyRows() تیره LastRowIndex به عنوان عدد صحیح Dim RowIndex به عنوان عدد صحیح Dim UsedRng به عنوان محدوده مجموعه UsedRng = Activ eSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False برای RowIndex = LastRowIndex به 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0RowIndex. اگر Next RowIndex Application.ScreenUpdating = True End Sub

    Macro 3. اگر سلول خالی است ردیف را حذف کنید

    با این ماکرو، اگر سلولی در محدوده مشخص شده باشد، می توانید یک ردیف کامل را حذف کنید.ستون خالی است.

    کد زیر ستون A را برای خالی بررسی می کند. برای حذف ردیف‌های مبتنی بر ستون دیگر، "A" را با یک حرف مناسب جایگزین کنید.

    Sub DeleteRowIfCellBlank() در خطای Resume Next Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As a در واقع، ماکرو از ویژگی Go To Special > Blanks استفاده می کند، و شما می توانید با انجام دستی این مراحل به همان نتیجه برسید.

    توجه داشته باشید. ماکرو ردیف‌های خالی کل برگ را حذف می‌کند، بنابراین لطفاً هنگام استفاده از آن بسیار مراقب باشید. به عنوان یک اقدام احتیاطی، ممکن است عاقلانه باشد که قبل از اجرای این ماکرو از کاربرگ پشتیبان تهیه کنید.

    نحوه حذف خطوط خالی در اکسل با VBA

    برای حذف ردیف های خالی در اکسل با استفاده از ماکرو، شما می‌توانید کد VBA را در کتاب کار خود وارد کنید یا یک ماکرو را از کتاب نمونه ما اجرا کنید.

    یک ماکرو به کتاب کار خود اضافه کنید

    برای درج یک ماکرو در کتاب کار خود، این مراحل را انجام دهید:

    1. کاربرگ را که می‌خواهید ردیف‌های خالی را حذف کنید باز کنید.
    2. Alt + F11 را فشار دهید تا ویرایشگر ویژوال بیسیک باز شود.
    3. در قسمت سمت چپ، کلیک راست کنید. This Workbook ، و سپس روی Insert > Module کلیک کنید.
    4. کد را در پنجره Code جایگذاری کنید.
    5. F5 را فشار دهید. برای اجرای ماکرو.

    برای جزئیات دستورالعمل های گام به گام، لطفاً به نحوه درج و استفاده از VBA در اکسل مراجعه کنید.

    یک ماکرو را از نمونه کار ما اجرا کنید

    نمونه ما را دانلود کنیدکتاب کار با ماکروها برای حذف ردیف‌های خالی و اجرای یکی از ماکروهای زیر از آنجا:

    DeleteBlankRows - ردیف‌های خالی را در محدوده انتخابی فعلی حذف می‌کند.

    RemoveBlankLines - ردیف‌های خالی را حذف می‌کند و در محدوده‌ای که پس از اجرای ماکرو انتخاب می‌کنید به سمت بالا جابه‌جا می‌شود.

    DeleteAllEmptyRows - همه خطوط خالی صفحه فعال را حذف می‌کند.

    DeleteRowIfCellBlank - اگر سلولی در یک ستون خاص خالی باشد، یک ردیف را حذف می کند.

    برای اجرای ماکرو در اکسل، موارد زیر را انجام دهید:

    1. باز کنید کتاب کار را دانلود کرده و در صورت درخواست ماکروها را فعال کنید.
    2. کتاب کار خود را باز کنید و به کاربرگ مورد علاقه خود بروید.
    3. در کاربرگ خود، Alt + F8 را فشار دهید، ماکرو را انتخاب کنید و <8 را کلیک کنید>Run .

    فرمول حذف ردیف های خالی در اکسل

    در صورتی که می خواهید ببینید چه چیزی را حذف می کنید، از فرمول زیر برای شناسایی خطوط خالی استفاده کنید:

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

    که در آن A2 اولین و D2 آخرین سلول استفاده شده از اولین ردیف داده است.

    این فرمول را وارد کنید a در E2 یا هر ستون خالی دیگری در ردیف 2، و دستگیره پر را بکشید تا فرمول را به پایین کپی کنید.

    در نتیجه، در سطرهای خالی "Blank" و در سطرها "Not Blank" خواهید داشت. که حاوی حداقل یک سلول با داده است:

    منطق فرمول واضح است: شما سلول های غیر خالی را با تابع COUNTA می شمارید و از دستور IF برای برگرداندن "Blank" برای تعداد صفر، "Not Blank" استفاده می کنید. .

    دردر واقع، می‌توانید بدون IF:

    =COUNTA(A2:D2)=0

    در این صورت، فرمول برای خطوط خالی TRUE و برای خطوط غیرخالی FALSE برمی‌گرداند.

    با این مراحل را برای حذف خطوط خالی انجام دهید:

    1. هر سلولی را در ردیف سرصفحه انتخاب کنید و روی Sort & Filter > Filter در برگه Home ، در Formats این فلش های کشویی فیلترینگ را به تمام سلول های سرصفحه اضافه می کند.
    2. روی پیکان در سرصفحه ستون فرمول کلیک کنید، علامت (انتخاب همه) را بردارید، Blank را انتخاب کنید و OK را کلیک کنید:
    3. همه ردیف‌های فیلتر شده را انتخاب کنید . برای این کار، روی اولین سلول از اولین ردیف فیلتر شده کلیک کنید و Ctrl + Shift + End را فشار دهید تا انتخاب به آخرین سلول آخرین ردیف فیلتر شده گسترش یابد.
    4. روی انتخاب کلیک راست کنید، را انتخاب کنید. ردیف را از منوی زمینه حذف کنید، و سپس تأیید کنید که واقعاً می‌خواهید کل ردیف‌ها را حذف کنید:
    5. فیلتر را با فشار دادن Ctrl + Shift + L حذف کنید. یا روی برگه صفحه اصلی > مرتب سازی و amp; فیلتر > فیلتر .
    6. ستون را با فرمول حذف کنید زیرا دیگر به آن نیاز ندارید.

    همین! در نتیجه، ما یک جدول تمیز بدون خطوط خالی داریم، اما تمام اطلاعات حفظ شده است:

    نکته. به جای حذف خطوط خالی، می‌توانید ردیف‌های غیرخالی را در جای دیگری کپی کنید. برای انجام این کار، ردیف‌های «خالی نیست» را فیلتر کنید، آنها را انتخاب کنید و برای کپی کردن، Ctrl + C را فشار دهید. سپس بهبرگه دیگری، سلول سمت چپ بالای محدوده مقصد را انتخاب کنید و Ctrl + V را برای چسباندن فشار دهید.

    نحوه حذف خطوط خالی در اکسل با Power Query

    در Excel 2016 و Excel 2019، یک راه دیگر برای حذف ردیف های خالی وجود دارد - با استفاده از ویژگی Power Query. در اکسل 2010 و اکسل 2013 می توان آن را به عنوان یک افزونه دانلود کرد.

    نکته مهم! این روش با اخطار زیر کار می کند: Power Query داده های منبع را به یک جدول اکسل تبدیل می کند و قالب بندی مانند رنگ پر کردن، حاشیه ها و برخی از فرمت های اعداد را تغییر می دهد. اگر قالب بندی داده های اصلی شما برای شما مهم است، بهتر است راه دیگری را برای حذف ردیف های خالی در اکسل انتخاب کنید.

    1. محدوده ای را که می خواهید خطوط خالی را حذف کنید انتخاب کنید.
    2. به برگه داده بروید > دریافت & گروه را تبدیل کنید و روی از جدول/محدوده کلیک کنید. با این کار جدول شما در Power Query Editor بارگیری می شود.
    3. در برگه صفحه اصلی ویرایشگر Power Query، روی Remove Rows > Remove Blank Rows کلیک کنید.
    4. روی Close & Load این جدول به دست آمده را در یک کاربرگ جدید بارگذاری می کند و ویرایشگر Query را می بندد.

    در نتیجه این دستکاری ها، جدول زیر را بدون خطوط خالی، اما با چند تغییر بد به دست آوردم - قالب ارز از بین رفته و تاریخ ها در قالب پیش فرض نمایش داده می شوند. به جای سفارشی:

    چگونه ردیف ها را حذف کنیم اگرسلول در یک ستون خاص خالی است

    در ابتدای این آموزش، ما به شما در مورد حذف خطوط خالی با انتخاب نقاط خالی هشدار دادیم. با این حال، اگر می‌خواهید ردیف‌هایی را بر اساس جاهای خالی در یک ستون خاص حذف کنید، این روش مفید است.

    به عنوان مثال، بیایید تمام ردیف‌هایی را که یک سلول در ستون A خالی است حذف کنیم. :

    1. ستون کلید، ستون A را در مورد ما انتخاب کنید.
    2. در برگه Home ، روی Find & > رفتن به ویژه را انتخاب کنید. یا F5 را فشار دهید و روی دکمه Special… کلیک کنید.
    3. در گفتگوی رفتن به ویژه ، Blanks را انتخاب کنید و روی OK کلیک کنید. با این کار سلول های خالی در محدوده استفاده شده در ستون A انتخاب می شود.
    4. روی هر سلول انتخاب شده کلیک راست کرده و Delete… را از منوی زمینه انتخاب کنید.
    5. در کادر گفتگوی Delete ، Entire row را انتخاب کرده و روی OK کلیک کنید.

    تمام شد! سطرهایی که در ستون A مقداری ندارند، دیگر وجود ندارند:

    همان نتیجه را می توان با فیلتر کردن نقاط خالی در ستون کلید به دست آورد.

    چگونه خطوط اضافی زیر داده را حذف کنیم

    گاهی اوقات، ردیف هایی که کاملاً خالی به نظر می رسند ممکن است در واقع حاوی برخی قالب ها یا نویسه های غیر قابل چاپ باشند. برای بررسی اینکه آیا آخرین سلول حاوی داده واقعاً آخرین سلول استفاده شده در کاربرگ شما است، Ctrl + End را فشار دهید. اگر این شما را به یک ردیف خالی بصری در زیر داده های خود برده است، از نظر اکسل، آن ردیف خالی نیست. برای حذف چنین ردیف هایی، این کار را انجام دهیدزیر:

    1. برای انتخاب روی سرصفحه اولین ردیف خالی زیر داده های خود کلیک کنید.
    2. Ctrl + Shift + End را فشار دهید. با این کار تمام خطوطی که حاوی هر چیزی از جمله قالب‌ها، فاصله‌ها و کاراکترهای غیرچاپی هستند انتخاب می‌شود.
    3. روی انتخاب شده کلیک راست کرده و Delete… > Entire row را انتخاب کنید.

    اگر مجموعه داده نسبتاً کوچکی دارید، ممکن است بخواهید از شر تمام خطوط خالی زیر داده های خود خلاص شوید، به عنوان مثال. تا اسکرول راحت تر شود اگرچه هیچ راهی برای حذف ردیف‌های استفاده نشده در اکسل وجود ندارد، اما چیزی وجود ندارد که شما را از پنهان کردن آنها باز دارد. به این صورت است:

    1. ردیف زیر آخرین ردیف با داده را با کلیک کردن روی سرصفحه آن انتخاب کنید.
    2. Ctrl + Shift + فلش رو به پایین را فشار دهید تا انتخاب به آخرین ردیف برگه گسترش یابد. .
    3. Ctrl + 9 را فشار دهید تا ردیف های انتخاب شده پنهان شود. یا روی انتخابی کلیک راست کرده و سپس Hide را کلیک کنید.

    برای پنهان کردن سطرها ، Ctrl + A را فشار دهید تا کل صفحه انتخاب شود و سپس Ctrl + Shift + 9 را فشار دهید تا همه خطوط دوباره قابل مشاهده شوند.

    به روشی مشابه، می توانید ستون های خالی استفاده نشده را در سمت راست داده های خود پنهان کنید. برای جزئیات بیشتر، لطفاً به پنهان کردن ردیف های استفاده نشده در اکسل رجوع کنید تا فقط ناحیه کاری قابل مشاهده باشد.

    سریع ترین راه برای حذف ردیف های خالی در اکسل

    هنگام خواندن نمونه های قبلی، اینطور نیست احساس می کنید از یک پتک برای شکستن مهره استفاده می کنیم؟ در اینجا، در Abblebits، ما ترجیح می دهیم این کار را نکنیم

    مایکل براون یک علاقه‌مند به فناوری است که علاقه زیادی به ساده‌سازی فرآیندهای پیچیده با استفاده از ابزارهای نرم‌افزاری دارد. او با بیش از یک دهه تجربه در صنعت فناوری، مهارت های خود را در Microsoft Excel و Outlook و همچنین Google Sheets و Docs تقویت کرده است. وبلاگ مایکل اختصاص داده شده است تا دانش و تخصص خود را با دیگران به اشتراک بگذارد و نکات و آموزش هایی را برای بهبود بهره وری و کارایی ارائه دهد. چه یک حرفه ای با تجربه باشید و چه مبتدی، وبلاگ مایکل، بینش های ارزشمند و توصیه های عملی را برای استفاده حداکثری از این ابزارهای نرم افزاری ضروری ارائه می دهد.