آموزش مرتب سازی شیت های اکسل بر اساس حروف الفبا
اگر معمولاً با کاربرگها یا Worksheet های زیادی سر و کار دارید، شاید پیدا کردن یک Worksheet خاص از بین این همه زبانه کار مشکلی باشد. اما اگر کاربرگهایتان را بر اساس حروف الفبا مرتب کنید، پیدا کردن چیزی که به دنبال آن هستید خیلی راحتتر میشود.
مضاف بر امکان دستهبندی زبانههای کاربرگ بر اساس رنگهای مختلف، تا زمانی که آنها را به طور دستی نامگذاری کرده باشید، امکان مرتبسازی بر اساس حروف الفبا یا مرتب سازی عددی هم وجود دارد. متاسفانه مرتبسازی بر اساس حروف الفبا به طور داخلی در اکسل تعبیه نشده است، ولی با افزودن یک ماکرو میتوانید زبانههایتان را به ترتیب صعودی یا نزولی مرتب نمایید. با ما در ادامهی مطلب همراه باشید تا نحوهی افزودن این ماکرو و استفاده از این روش با به شما بگوییم.
برای شروع، به منظور باز کردن ویرایشگر Microsoft Visual Basic for Applications (VBA) کلیدهای ترکیبی Alt+F11 را فشار دهید. سپس به مسیر Insert > Module بروید.
ماکروی زیر را که در واقع از وبسایت پشتیبانی مایکروسافت است کپی کرده و در پنجرهی ماژولی که ظاهر میشود پیست کنید.
Sub Sort_Active_Book()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
‘
‘ Prompt the user as which direction they wish to
‘ sort the worksheets.
‘
iAnswer = MsgBox(“Sort Sheets in Ascending Order?” & Chr(10) _
& “Clicking No will sort in Descending Order”, _
vbYesNoCancel + vbQuestion + vbDefaultButton1, “Sort Worksheets”)
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count – 1
‘
‘ If the answer is Yes, then sort in ascending order.
‘
If iAnswer = vbYes Then
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
‘
‘ If the answer is No, then sort in descending order.
‘
ElseIf iAnswer = vbNo Then
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
End If
Next j
Next i
End Sub
ویرایشگر VBA به طور خودکار هر ماژول را با افزودن عددی به انتهای آن نظیر Module1، Module2 و به همین صورت، نامگذاری میکند. اگر قصد دارید ماکروهای دیگری هم به کاربرگتان اضافه کنید، بهتر است نام پیشفرض ماژولها را تغییر دهید تا به راحتی بتوانید آنها را از یکدیگر تشخیص دهید.
برای تغییر نام ماژول، از پنل سمت چپ، در بخش Properties بر روی متن جلوی گزینهی Name کلیک کنید.
یک نام برای ماژول بنویسید و اینتر بزنید. به یاد داشته باشید که در نام ماژولها نمیتوانید از نویسهی فاصله (Space) استفاده کنید.
اکنون نام ماژول از جعبهی Project که در سمت راست صفحه دیده میشود تغییر میکند.
با رفتن به منوی File > Close، ویرایشگر VBA را بسته و به خود اکسل برگردید.
اکنون به منظور مرتب سازی زبانهها باید ماکرو را اجرا کنیم. برای دسترسی به لیست ماکروها کلیدهای Alt+F8 را فشار دهید. ماکروی موردنظر خود را از لیست انتخاب نموده و بر روی دکمهی Run کلیک کنید.
با نمایش پنجرهی زیر از شما پرسیده میشود که میخواهید زبانهها را به ترتیب صعودی مرتب کنید یا نه. اگر گزینهی No را انتخاب کنید، ترتیب نزولی خواهد شد. ما ترتیب صعودی را ترجیح میدهیم، پس بر روی Yes کلیک میکنیم.
زبانههای کاربرگها اکنون به بر اساس حروف الفبا مرتب شده است.
این ماکرو حالا بخشی از کاربرگ شماست. اگر در هنگام ذخیره کردن فایل با پیام زیر روبرو شدید بدانید که دلیل این اتفاق این است که شما فایل خود را با پسوند .xlsx ذخیره کردهاید، در حالی که این پسوند (یا به طور دقیقتر این قالب اکسل) شامل ماکروها نمیشود. اگر میخواهید ماکروها را در کاربرگ خود ذخیره کنید تا دوباره بتوانید آنها را اجرا نمایید، باید فایل خود را با پسوند .xlsm ذخیره کنید. برای انجام این کار گزینهی No را انتخاب کنید.
با ظاهر شدن پنجرهی Save As، به محل موردنظر خود رفته و از لیست کشویی Save as type گزینهی Excel Macro-Enabled Workbook (*.xlsm) را انتخاب نمایید.
حالا بر روی Save کلیک کنید.
اگر فایل کاربرگ خود را با قالبی که از ماکروها پشتیبانی میکند، یعنی .xlsm ذخیره نکنید، ماکروی شما از فایل پاک میشود.
منبع: howtogeek