نمونه کد های excel vba-حذف ستون های خالی در اکسل

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

حذف ستون خالی در اکسل

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

بعد از این آموزش فرا خواهید گرفت چطور جدول بالا را به جدول زیر تبدیل کنید.

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

پیش از شروع آموزش چند تذکر را یادآوری می کنیم:

[cf-restrict]

1)این یک نمونه کد می باشد و شاید نیاز شما را پاسخگو نباشد.

2)قبل از اعمال این کد بر روی فایل خود، حتما و حتما از فایل خود یک کپی تهیه کنید چرا که بعد از اعمال کلیه کدهای VBA فایل شما قابل بازیابی نمی باشد.

3)این کد ها را بر روی یک فایل کپی اجرا کنید و به هیچ عنوان بر روی فایل اصلی اجرا نکنید.

4)فایل کپی را حتما به صورت Excel macro-enabled workbook ذخیره کنید.

برای استفاده از این کد یک سری پیش فرض هایی را بیان می نماییم:

1)محدوده جدول خود را انتخاب کرده و نام آن را MyRange می گذاریم.مانند تصویر زیر:

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

2)در ستون خالی هیچ سلولی پر نمی باشد.(یعنی در ستون های خالی هیچ سلول پری نداریم)مانند تصویر بالا.

اکنون وارد محیط ویرایشگر vba شوید.(Alt+F11)مانند تصویر زیر بر روی Module کلیک کنید.

تابع تبدیل اعداد به حروف به انگلیسی

اکنون کد های زیر را مانند تصویر زیر در Module1 کپی کنید.

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

Sub DeleteBlankColumns()
'Step1:  Declare your variables.
    Dim MyRange As Range
    Dim iCounter As Long
'Step 2:  Define the target Range.
    Set MyRange = ActiveSheet.UsedRange
    
'Step 3:  Start reverse looping through the range.
    For iCounter = MyRange.Columns.Count To 1 Step -1
    
'Step 4: If entire column is empty then delete it.
       If Application.CountA(Columns(iCounter).EntireColumn) = 0 Then
       Columns(iCounter).Delete
       End If
'Step 5: Increment the counter down
    Next iCounter
End Sub

اکنون این ماژول را از تب  Developer و کلیک بر روی Macros اجرا کنید.نتیجه مانند تصویر زیر خواهد بود.

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

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

[/cf-restrict]

 

ارسال یک پاسخ

لطفا دیدگاه خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید