فهرست مطالب
پیاده سازی VBA macro موثرترین، سریع ترین و ایمن ترین روش برای اجرای هر عملیاتی در اکسل است. در این مقاله، نحوه مرتب کردن جدول در اکسل با VBA را به شما نشان خواهیم داد.
دانلود کتاب کار
میتوانید کتاب تمرین رایگان Excel را از اینجا دانلود کنید.
مرتبسازی جدول با VBA.xlsm
چیزهایی که قبل از پیادهسازی VBA باید بدانید به مرتب سازی جدول در اکسل
بعضی از پارامترها وجود دارد که هنگام کار با روش Sort VBA باید اغلب از آنها استفاده کنید. بنابراین در اینجا برخی از پارامترها را مورد بحث قرار خواهیم داد تا هنگام نوشتن کد، شما را آشنا کنیم. نوع داده شرح کلید اختیاری نوع محدوده یا ستونی را مشخص می کند که مقادیر آن باید مرتب شوند. Order اختیاری XlSortOrder ترتیب انجام مرتب سازی را مشخص می کند.
- xlAscending = برای مرتب سازی به ترتیب صعودی.
- xlنزولی = برای مرتب سازی به ترتیب نزولی.
- xlNo = هنگامی که ستون هیچ عنوانی ندارد. مقدار پیشفرض.
- xlYes = وقتی ستونها سرصفحه دارند.
- xlGuess = اجازه دادن به Excelهدرها را تعیین کنید.
4 روش در پیاده سازی VBA برای مرتب سازی جدول در اکسل
این بخش با در نظر گرفتن مقدار، رنگ ها، نمادها و چند ستون با VBA کد VBA را به شما نشان می دهد که چگونه جدول اکسل را مرتب کنید.
1. جاسازی VBA برای مرتب کردن جدول بر اساس مقدار در اکسل
با توجه به مثال زیر، ما این جدول را بر اساس مقادیر موجود در Mark <مرتب می کنیم. 2> ستون به ترتیب نزولی.
مراحل:
- Alt + F11 را فشار دهید صفحه کلید خود یا به برگه برنامهنویس -> Visual Basic برای باز کردن Visual Basic Editor .
- در پنجره کد پاپ آپ، از نوار منو ، روی درج -> Module .
- کد زیر را کپی کرده و در پنجره کد قرار دهید.
2180
کد شما اکنون آماده اجرا است.
در اینجا،
- SortTBL → نام جدول را مشخص کنید.
- SortTBL[Marks] -> نام ستون جدول را برای مرتب کردن مشخص کرد.
- Key1:=iColumn → محدوده ستون را مشخص کرد تا کد بداند کدام ستون در جدول باید مرتب شود.
- Order1:=xlنزولی → ترتیب را به صورت xlنزولی برای مرتب کردن ستون به ترتیب نزولی مشخص کرد. اگر می خواهید ستون را به ترتیب صعودی مرتب کنید، به جای آن xlAscending را بنویسید.
- Header:= xlYes → همانطور که ستون این جدول دارای یکسربرگ بنابراین ما آن را با گزینه xlYes مشخص کردیم.
- F5 را در صفحه کلید خود یا از نوار منو Run -> Sub/UserForm را اجرا کنید. همچنین میتوانید روی نماد کوچک Play در نوار منوی فرعی کلیک کنید تا ماکرو اجرا شود.
میبینید که ستون در جدول شما اکنون به ترتیب نزولی مرتب شده است .
بیشتر بخوانید: نحوه مرتب سازی داده ها بر اساس مقدار در اکسل (5 روش آسان) )
2. ماکرو VBA را در جدول مرتبسازی برای چندین ستون قرار دهید
همچنین میتوانید یک جدول را برای چندین ستون در اکسل با VBA ماکرو مرتب کنید.
از جدول فوق، ستون های Name و Department را به ترتیب صعودی مرتب می کنیم. .
مراحل:
- به همان روش قبلی، Visual Basic Editor را از برگه Developer باز کنید و درج یک ماژول در پنجره کد.
- در پنجره کد، کد زیر را کپی کرده و آن را جایگذاری کنید.
1758
شما کد اکنون آماده اجرا است.
در اینجا،
- TableValue → نام جدول را مشخص کنید.
- TableValue[Name] -> نام ستون اول جدول را برای مرتب سازی مشخص کرد.
- TableValue[Department] -> نام ستون دوم جدول را برای مرتب کردن مشخص کرد.
- Key1:=iColumn1 → محدوده ستون را مشخص کرد تا به کد اطلاع داده شود که ستون اول جدول باید باشدمرتب شده است.
- Key1:=iColumn2 → محدوده ستون را مشخص کرد تا کد بداند ستون دوم جدول باید مرتب شود.
- Order1: =xlAscending → ترتیب را به صورت xlAscending برای مرتب کردن ستون به ترتیب نزولی مشخص کرد. اگر می خواهید ستون را به ترتیب نزولی مرتب کنید، به جای آن xlDescending را بنویسید.
- Header:= xlYes → از آنجایی که ستون های این جدول دارای سرفصل هستند، ما آن را مشخص کردیم. با گزینه xlYes .
- این کد را اجرا کنید و هر دوی <1 را دریافت خواهید کرد>ستون های جدول به ترتیب صعودی مرتب شده اند.
بیشتر بخوانید: نحوه مرتب سازی خودکار چندین ستون در Excel (3 روش)
خواندنی مشابه
- چگونه لیست منحصر به فرد را در اکسل مرتب کنیم (10 روش مفید)
- مرتب کردن آرایه با Excel VBA (هم به ترتیب صعودی و هم نزولی)
- نحوه مرتب سازی و فیلتر کردن داده ها در اکسل (یک دستورالعمل کامل)
- مرتبسازی خودکار اکسل هنگام تغییر دادهها (9 مثال)
- مرتبسازی تصادفی در اکسل (فرمولها + VBA)
3. ماکرو را برای مرتبسازی جدول بر اساس رنگ سلول در اکسل پیادهسازی کنید
همچنین میتوانید یک جدول را بر اساس رنگ سلول موجود در آن مرتب کنید.
به عنوان مثال جدول فوق، به شما نشان خواهیم داد که چگونه آن را بر اساس رنگ هایی که این جدول دارد مرتب کنید.
مراحل:
- همانطور که قبلا نشان داده شد، Visual Basic را باز کنیدویرایشگر از برگه Developer و Insert a Module در پنجره کد.
- در پنجره کد، کد زیر را کپی کنید. و آن را جایگذاری کنید.
1885
کد شما اکنون آماده اجرا است.
در اینجا کدهای RGB ارائه شده است. ، می توانید آن یا هر کد RGB دیگری را که می خواهید با دنبال کردن گیف زیر پیدا کنید.
- فقط روی سلول رنگی کلیک کنید.
- در برگه صفحه اصلی ، روی پیکان کنار Fill Color کلیک کنید و سپس More Colors را انتخاب کنید. کدهای RGB را در برگه Custom در کادر ظاهر شده Colors مشاهده خواهید کرد.
- این کد را اجرا کنید و جدول شما بر اساس رنگ ها مرتب می شود .
بیشتر بخوانید: نحوه مرتب سازی بر اساس رنگ در اکسل (4 معیار)
4. VBA را برای مرتب کردن جدول اکسل بر اساس نماد اعمال کنید
فرض کنید جدول مجموعه داده دارای نمادهایی برای خوانایی بهتر است. می توانید جدول را بر اساس نمادها در اکسل با VBA ماکرو مرتب کنید.
به مجموعه داده فوق نگاه کنید. در اینجا جدول دارای نمادهایی در کنار مقادیر عددی در ستونهای Marks است تا بتوانیم بفهمیم کدام دانشآموز نتایج خوب، بد یا متوسط دارد.
توجه داشته باشید که اگر شما نمی دانید چگونه می توانید یک نماد را در داخل یک سلول قرار دهید، می توانید این کار را به سادگی با ویژگی قالب بندی شرطی در اکسل انجام دهید.
- انتخاب کل محدوده یاستون.
- رفتن به قالب بندی شرطی -> مجموعه نمادها . سپس هر مجموعه نمادی را که می خواهید از گزینه انتخاب کنید.
مراحل مرتب کردن جدول بر اساس نمادها در زیر آورده شده است.
مراحل:
- باز کردن Visual Basic Editor از برگه Developer و Insert a Module در پنجره کد.
- در پنجره کد، کد زیر را کپی کرده و آن را جایگذاری کنید.
7571
کد شما اکنون آماده اجرا است.
اینجا،
- xl5Arrows -> ما مجموعه 5 فلش را از گزینه قالب بندی شرطی انتخاب کردیم.
- مورد (1) -> نوع اولین نماد پیکان را مشخص کرد.
- مورد (2) -> نوع دوم نماد پیکان را مشخص کرد.
- مورد (3) -> نوع سومین نماد پیکان را مشخص کرد.
- مورد (4) -> نوع چهارمین نماد پیکان را مشخص کرد.
- مورد (5) -> پنجمین نوع نماد پیکان را مشخص کنید.
- این کد را اجرا کنید و جدول بر اساس نمادها مرتب شده است .
بیشتر بخوانید: نحوه مرتب سازی خودکار جدول در اکسل (5 روش)
نتیجه گیری
این مقاله به شما نشان داد که چگونه می توانید جدول را در اکسل VBA مرتب کنید. امیدوارم این مقاله برای شما بسیار مفید بوده باشد. در صورت داشتن هرگونه سوال در مورد موضوع، می توانید بپرسید.