VBA برای مرتب سازی ستون در اکسل (4 روش)

  • این را به اشتراک بگذارید
Hugh West

برای مرتب سازی در اکسل با VBA ، باید از روش Range.Sort استفاده کنید. در این مقاله، نحوه مرتب کردن ستون در اکسل را با روش Range.Sort VBA به شما نشان خواهیم داد.

دانلود Workbook

می توانید کتاب تمرین رایگان Excel را از اینجا دانلود کنید.

مرتب سازی ستون با VBA.xlsm

روش

Range.Sort در اکسل VBA

Range.Sort روش در VBA محدوده ای از مقادیر را در اکسل مرتب می کند. در اینجا Range یک متغیر شی است که محدوده سلول هایی را که می خواهیم به ترتیب صعودی یا نزولی مرتب کنیم را مشخص می کند.

در زیر پارامترهایی وجود دارد که باید بدانید. در مورد هنگام کار با این روش.

پارامتر ضروری/ اختیاری نوع داده توضیح
Key اختیاری Variant محدوده یا ستونی را مشخص می کند که مقادیر آن باید مرتب شوند.
سفارش اختیاری XlSortOrder ترتیب انجام مرتب سازی را مشخص می کند.
  • xlAscending = برای مرتب سازی به ترتیب صعودی.
  • xlنزولی = برای مرتب سازی به ترتیب نزولی.
Header اختیاری XlYesNoGuess مشخص می کند که آیا ردیف اول شامل سرصفحه است یا خیر .
  • xlNo = هنگامی که ستون هیچ عنوانی ندارد. مقدار پیش‌فرض.
  • xlYes = وقتیستون ها دارای هدر هستند.
  • xlGuess = برای اینکه اکسل هدرها را تعیین کند.

4 روش در پیاده‌سازی VBA برای مرتب‌سازی ستون در اکسل

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

1. VBA را برای مرتب کردن یک ستون بدون سرصفحه در اکسل جاسازی کنید

اگر می خواهید یک ستون را در کاربرگ اکسل خود با کد VBA مرتب کنید، سپس از مراحل زیر.

این ستون ماست که با کد VBA مرتب می کنیم.

مراحل:

  • Alt + F11 را روی صفحه کلید خود فشار دهید یا به برگه Developer -> Visual Basic برای باز کردن Visual Basic Editor .

  • در پنجره کد پاپ آپ، از نوار منو ، روی درج -> Module .

  • کد زیر را کپی کرده و در پنجره کد قرار دهید.
9545

کد شما اکنون آماده اجرا است.

اینجا،

  • Key1:=Range("B5") → مشخص شده B5 برای اینکه کد بداند کدام ستون را باید مرتب کند.
  • Order1:=xlAscending → ترتیب را به صورت xlAscending برای مرتب کردن ستون به ترتیب صعودی مشخص کرد. اگر می خواهید ستون را به ترتیب نزولی مرتب کنید، به جای آن xlDescending را بنویسید.
  • Header:= xlNo →از آنجایی که ستون ما هدر ندارد، آن را با گزینه xlNo مشخص کردیم.

  • Press F5 در صفحه کلید خود یا از نوار منو Run -> Sub/UserForm را اجرا کنید. همچنین می‌توانید روی نماد کوچک Play در نوار منوی فرعی کلیک کنید تا ماکرو اجرا شود.

می‌بینید که شما ستون اکنون به ترتیب صعودی مرتب شده است .

توجه کنید که در اینجا ما محدوده داده را به صورت دستی به صورت Range("B5:B15" تعریف کرده ایم. ) .

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

2137

توجه کنید که در عوض برای تعریف محدوده به صورت دستی توسط Range("B5:B15") ، نوشته ایم Range( "B5", Range("B5"). End(xlDown)) .

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

بیشتر بخوانید: VBA برای مرتب‌سازی جدول در اکسل (4 روش)

2. ماکرو VBA را برای مرتب کردن یک ستون با سربرگ درج کنید

در بخش قبل، مجموعه داده ای از یک ستون بدون سرصفحه داشتیم، اما اکنون a داریم. ستون با هدر .

این بار یاد می گیریم که چگونه آن را با ماکرو VBA مرتب کنیم.

مراحل:

  • به همان روش قبلی، Visual Basic Editor را باز کنیداز تب Developer و Insert a Module در پنجره کد.
  • در پنجره کد، کد زیر را کپی کرده و آن را جایگذاری کنید.
7353

کد شما اکنون آماده اجرا است.

اینجا،

  • Key1:=Range(“ B5") B5 مشخص شد تا کد بداند کدام ستون را باید مرتب کند.
  • Order1:=xlنزولی → این بار ستون را در مرتب سازی می کنیم. ترتیب نزولی ترتیب را به صورت xlنزولی مشخص کرد.
  • Header:= xlYes → از آنجایی که ستون ما این بار سرصفحه دارد، بنابراین آن را با xlYes مشخص کردیم گزینه.

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

بیشتر بخوانید: چگونه لیست باکس را با VBA در اکسل مرتب کنیم (راهنمای کامل)

مطالب مشابه:

  • نحوه مرتب سازی آدرس IP در اکسل (6 روش)
  • [حل شد!] مرتب سازی اکسل کار نمی کند (2 راه حل)
  • نحوه اضافه کردن دکمه مرتب سازی در اکسل (7 روش)
  • مرتب سازی رنگ e استفاده از VBA در اکسل (6 مثال)
  • نحوه مرتب سازی بر اساس نام در اکسل (3 مثال)

3. ماکرو VBA برای مرتب‌سازی چندین ستون با یا بدون سربرگ

همچنین می‌توانید ستون‌های متعدد در مجموعه داده خود را با کد VBA مرتب کنید.

مراحل:

  • همانطور که قبلا نشان داده شد، Visual Basic Editor را از برگه Developer باز کنید و Insert یک ماژول در پنجره کد.
  • در پنجره کد، کد زیر را کپی کرده و آن را جایگذاری کنید.
2482

کد شما اکنون آماده اجرا است.

در اینجا،

.SortFields.Add Key:=Range("B4")، Order:=xlAscending

.SortFields.Add Key:=Range("C4" ”)، Order:=xlAscending

با این دو خط، Cell B4 و C4 را برای مرتب سازی دو ستون مرتبط با آنها به ترتیب صعودی .

از آنجایی که ما در مجموعه داده خود هدر داریم، Header = xlYes را مشخص کردیم، در غیر این صورت Header = را می نوشتیم. xlNo در داخل کد.

  • این کد را اجرا کنید و ستون های را با هدر که به ترتیب صعودی مرتب شده اند دریافت خواهید کرد. .

4. ماکرو برای مرتب‌سازی داده‌ها با دوبار کلیک کردن روی هدر در اکسل

اگر می‌خواهید به راحتی داده‌ها را فقط با دوبار کلیک کردن روی هدر مرتب کنید، می‌توانید این کار را با <انجام دهید. 1>VBA کد.

مراحل:

  • راست کلیک کنید در برگه برگه .
  • از لیست گزینه های ظاهر شده، روی View Code کلیک کنید.
  • پنجره کد ظاهر می شود، کد زیر را کپی کرده و در آنجا قرار دهید.
9644
  • ذخیره کد.

  • اکنون به کاربرگ مورد علاقه برگردید و اگر روی سرصفحه ها دوبار کلیک کنید خواهید دید که ستون ها در حال سازماندهی مجدد هستند.

بیشتر بخوانید: نحوه مرتب سازی و فیلتر کردن داده ها در اکسل (راهنمای کامل)

چیزهایی که باید به خاطر بسپارید

  • شما می توانید یک محدوده با نام ایجاد کنید و زمانی که محدوده ای از مراجع سلولی را در داخل ارسال می کنید از آن استفاده کنید. روش مرتب سازی . به عنوان مثال، اگر می خواهید محدوده A1:A10 را مرتب کنید، به جای اینکه هر بار آن را در داخل کد ارسال کنید، می توانید یک محدوده نامگذاری شده از آن ایجاد کنید، مانند " SortRange " و از آن با روش Range.Sort مانند Range("SortRange") استفاده کنید.
  • اگر مطمئن نیستید که مجموعه داده شما دارای هدر است یا خیر. یا خیر، می توانید به سیستم اجازه دهید با استفاده از پارامتر xlGuess آن را تعیین کند.

نتیجه گیری

این مقاله به شما نشان داد که چگونه ستون را در اکسل VBA مرتب کنید. امیدوارم این مقاله برای شما بسیار مفید بوده باشد. در صورت داشتن هرگونه سوال در مورد موضوع، می توانید بپرسید.

هیو وست یک مربی و تحلیلگر اکسل بسیار با تجربه با بیش از 10 سال تجربه در این صنعت است. وی دارای مدرک لیسانس در رشته حسابداری و امور مالی و مدرک کارشناسی ارشد در رشته مدیریت بازرگانی است. هیو علاقه زیادی به تدریس دارد و یک رویکرد آموزشی منحصر به فرد ایجاد کرده است که به راحتی قابل پیگیری و درک است. دانش تخصصی او از اکسل به هزاران دانش آموز و متخصص در سراسر جهان کمک کرده تا مهارت های خود را بهبود بخشند و در حرفه خود برتری پیدا کنند. هیو از طریق وبلاگ خود دانش خود را با جهان به اشتراک می گذارد و آموزش های رایگان اکسل و آموزش آنلاین ارائه می دهد تا به افراد و مشاغل کمک کند تا به پتانسیل کامل خود دست یابند.