10 کد رایگان ماکرو در اکسل برای سریع‌تر کردن کارهای شما در اکسل

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

عناوین کدها

درج متن/مقدار در سلول

نمایش جعبه پیام

اعمال یک رنگ روی یک سلول

ایجاد کاربرگ یا شیت جدید

کپی داده‌ها و جایگذاری

پنهان و آشکارکردن یک ردیف خاص از یک کاربرگ خاص

فعال کردن یک کاربرگ خاص

ایجاد یک کتاب کار یا یک فایل جدید اکسل با نام و محل خاص

حذف محتوای یک سلول

مخفی کردن سلول‌های با متن خاص یا مقدار عددی کمتر از یک مقدار خاص

 

توضیحات کدها

  1. درج متن/مقدار در سلول:

Sub InsertTextinCell()

    ' Target the cell "C1" in the active worksheet

    Range("C1").Value = "Excel is Awesome" 

End Sub

این ماکرو در سلول C1 عبارت Excel is Awesome را قرار می‌دهد. در این ماکرو از عبارت Range استفاده شده به جای آن می‌توان از عبارت Cells استفاده نمود. ماکرو زیر همان کار بالا را با عبارت Cells انجام می‌دهد.

Sub InsertTextinCell ()

    ' Target the cell in row 1 and column 1 (A1) in the active worksheet

    Cells(1, 3).Value = "Excel is Awesome"

End Sub

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

  1.  نمایش جعبه پیام:

Sub ShowMessageBox()

' MsgBox function to show a message box with specified text

    MsgBox "This is a Message Box"

End Sub

پس از اجرای ماکروی بالا، جعبه پیام با عبارت This is a Message Box ظاهر می‌گردد. با کلیک بر روی ok، جعبه پیام بسته می‌شود.

  1. اعمال یک رنگ روی یک سلول:

ماکروی زیر رنگ سلول A1 را به رنگ قرمز درمی‌آورد.

Sub ApplyColortoCell()

    Range("A1").Interior.Color = RGB(255, 255, 0)

End Sub

  1. ایجاد کاربرگ یا شیت جدید:

Sub AddNewWorksheet()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))

    ws.Name = "NewSheet"

End Sub

در ماکرو بالا کاربرگ جدیدی با نام NewSheet در آخر شیتهای اکسل ایجاد می‌گردد.

 

 

  1. کپی داده‌ها و جایگذاری:

Sub CopyAndPasteInSameWorksheet()

 

    ' Declare a variable to represent the worksheet

    Dim ws As Worksheet

   

    ' Set the worksheet

    Set ws = ThisWorkbook.Worksheets("Sheet1")

   

    ' Copy data from Range A1:A10

    ws.Range("A1:A10").Copy

   

    ' Paste data to Range B1:B10

    ws.Range("B1:B10").PasteSpecial Paste:=xlPasteAll

   

    ' Clear Clipboard to remove the "marching ants" around copied area

    Application.CutCopyMode = False

End Sub

این ماکرو داده‌های A1 تا A10 را کپی و در سلول‌های B1 تا B10 جایگذاری می‌کند.

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

  1. پنهان و آشکارکردن یک ردیف خاص از یک کاربرگ خاص:

ماکروی نمونه زیر برای پنهان کردن ردیف 5 در کاربرگ Sheet1 بکار می‌رود:

Sub HideRow()

    ' Declare a variable to represent the worksheet

    Dim ws As Worksheet

   

    ' Set the worksheet

    Set ws = ThisWorkbook.Worksheets("Sheet1")

   

    ' Hide Row 5

    ws.Rows(5).Hidden = True

End Sub

ماکروی نمونه زیر هم برای آشکار کردن ردیف پنهان شده ماکروی بالا بکار می‌رود:

Sub UnhideRow()

    ' Declare a variable to represent the worksheet

    Dim ws As Worksheet

   

    ' Set the worksheet

    Set ws = ThisWorkbook.Worksheets("Sheet1")

   

    ' Unhide Row 5

    ws.Rows(5).Hidden = False

End Sub

  1. فعال کردن یک کاربرگ خاص:

در ماکروی زیر کاربرگ Sheet2 فعال می‌شود.

Sub ActivateWorksheet()

    ' Declare a variable to represent the workbook

    Dim wb As Workbook

   

    ' Set the workbook

    Set wb = ThisWorkbook

   

    ' Activate the worksheet named "Sheet2"

    wb.Worksheets("Sheet2").Activate

End Sub

  1. ایجاد یک کتاب کار یا یک فایل جدید اکسل با نام محل خاص:

Sub OpenNewWorkbook()

    ' Declare a variable to represent the new workbook

    Dim newWb As Workbook

   

    ' Create a new workbook and assign it to the variable

    Set newWb = Workbooks.Add

   

    ' Optionally, you can set the name of the new workbook

    newWb.SaveAs "C:\Path\To\Your\NewWorkbook.xlsx"

End Sub

همانگونه که در توضیحات می‌بینید، این ماکرو در سه مرحله تعریف متغیر کتاب کار، ایجاد کتاب کار و تعیین نام و محل ذخیره فایل کتاب کار یا اکسل جدید اجرا می‌گردد.

  1. حذف محتوای یک سلول:

ماکروی زیر محتوای سلول A1 کاربرگ Sheet1 را حذف می‌کند.

Sub DeleteCellContent()

    ' Declare a variable to represent the worksheet

    Dim ws As Worksheet

   

    ' Set the worksheet

    Set ws = ThisWorkbook.Worksheets("Sheet1")

   

    ' Clear the content of cell A1

    ws.Range("A1").Clear

End Sub

همانگونه که توضیحات را مشاهده می‌فرمایید، این ماکرو در سه مرحله تعریف متغیر کاربرگ، تعیین کاربرگ هدف ماکرو و حذف سلول A1 کاربرگ هدف اجرا می‌گردد.

  1. مخفی کردن سلول‌های با متن خاص و یا مقدار عددی کمتر از یک مقدار خاص:

ماکروی زیر در کاربرگ Sheet1 ردیف‌های دارای سلول‌هایی که دارای متن Excell هستند را مخفی می‌کند:

Sub HideRowsBasedOnText()

    Dim ws As Worksheet

    Dim cell As Range

    Dim targetRange As Range

   

    ' Initialize the worksheet object

    Set ws = ThisWorkbook.Sheets("Sheet1")

   

    ' Define the target range to loop through

    Set targetRange = ws.Range("A1:A10")

   

    ' Loop through each cell in the target range

    For Each cell In targetRange

        'Check if the cell value contains the text "Excel"

        If cell.Value = "Excel" Then

            'Hide the entire row containing this cell

            cell.EntireRow.Hidden = True

        Else

            'Unhide the row if the condition is not met

            cell.EntireRow.Hidden = False

        End If

    Next cell

End Sub

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

ماکروی زیر در کاربرگ Sheet1 ردیف‌های دارای سلول‌هایی که دارای عدد کمتر از 10 هستند را مخفی می‌کند:

Sub HideRowsBasedOnValue()

    Dim ws As Worksheet

    Dim cell As Range

    Dim targetRange As Range

   

    ' Initialize the worksheet object

    Set ws = ThisWorkbook.Sheets("Sheet1")

   

    ' Define the target range to loop through

    Set targetRange = ws.Range("A1:A10")

   

    ' Start looping through each cell in the target range

    For Each cell In targetRange

        ' Check if the cell value is less than 10

        If cell.Value < 10 Then

            'Hide the entire row containing this cell

            cell.EntireRow.Hidden = True

        Else

            'Unhide the row if the condition is not met

            cell.EntireRow.Hidden = False

        End If

    Next cell

End Sub

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