ماکروهای آماده در اکسل
با سلام و احترام، در این پست از سایت آموزشی اکسل لرن قصد داریم کدهای کاربردی vba اکسل را بصورت آماده همراه با راهنمای قدم به قدم آن در اختیار شما عزیزان و علاقه مندان به یادگیری ماکرونویسی در اکسل قرار دهیم. امیدواریم این پست آموزشی مورد رضایت و استفاده شما عزیزان قرار گیرند.
جهت اجرا و استفاده از ماکروهای آماده ابتدا نیاز به ایجاد یک ماژول خواهید داشت. بدین منظور با زدن کلید میانبر Alt+F11 وارد محیط VBE اکسل شوید و سپس همانند تصویر زیر اقدام به ایجاد یک ماژول کنید:
سپس کدهای آماده ماکرونویسی را Copy و در داخل ماژول Paste نمایید. در پایان با زدن کلید F5 اقدام به اجرای ماکروهای آماده کنید.
متمایز کردن سلول های تکراری توسط کدهای VBA اکسل
با استفاده از ماکروی زیر شما قادر به تغییر رنگ سلول های تکراری در محدوده انتخاب شده، خواهید بود:
1 2 3 4 5 6 7 8 9 10 |
Sub HighlightDuplicateValues() Dim myRange As Range Dim myCell As Range Set myRange = Selection For Each myCell In myRange If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then myCell.Interior.ColorIndex = 36 End If Next myCell End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید، سپس محدوده داده های خود را انتخاب و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
حذف تمامی Wrap Text صفحه گسترده اکسل
با استفاده از ماکروی زیر شما قادر به حذف تمامی Wrap Text مورد استفاده در صفحه گسترده خواهید بود و همچنین Autofit کردن سطر و ستون ها بصورت اتوماتیک انجام خواهد شد:
1 2 3 4 5 6 |
Sub RemoveWrapText() Cells.Select Selection.WrapText = False Cells.EntireRow.AutoFit Cells.EntireColumn.AutoFit End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
ماکروی آماده جهت Autofit کردن سطرها بصورت اتوماتیک
با استفاده از ماکروی زیر قادر به Autofit کردن سطرهای یک صفحه گسترده بصورت اتوماتیک خواهید بود:
1 2 3 4 |
Sub AutoFitRows() Cells.Select Cells.EntireRow.AutoFit End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
ماکروی آماده جهت Autofit کردن ستون ها بصورت اتوماتیک
با استفاده از ماکروی زیر قادر به Autofit کردن ستون های یک صفحه گسترده بصورت اتوماتیک خواهید بود:
1 2 3 4 |
Sub AutoFitColumns() Cells.Select Cells.EntireColumn.AutoFit End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
متمایز کردن سلول های منفی توسط کدهای ماکرونویسی
با استفاده از ماکروی زیر قادر به متمایز کردن و تغییر رنگ سلول های منفی در محدوده انتخابی خواهید بود:
1 2 3 4 5 6 7 8 9 10 |
Sub highlightNegativeNumbers() Dim Rng As Range For Each Rng In Selection If WorksheetFunction.IsNumber(Rng) Then If Rng.Value < 0 Then Rng.Font.Color= -16776961 End If End If Next End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید، سپس محدوده داده های خود را انتخاب و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
متمایز کردن سلول های حاوی کامنت در صفحه گسترده
با استفاده از ماکروی زیر شما قادر به متمایز کردن سلول های حاوی کامنت(Comment) خواهید بود:
1 2 3 4 |
Sub highlightCommentCells() Selection.SpecialCells(xlCellTypeComments).Select Selection.Style= "Note" End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
متمایز کردن سلول های خالی توسط کدهای vba در اکسل
با استفاده از ماکروی زیر شما قادر به متمایز کردن سلول هایی خواهید بود که توسط یک Space تکمیل گردیده اند:
1 2 3 4 5 6 7 8 |
Sub blankWithSpace() Dim rng As Range For Each rng In ActiveSheet.UsedRange If rng.Value = " " Then rng.Style = "Note" End If Next rng End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
متمایز کردن بزرگترین مقدار عددی توسط کدهای ماکرونویسی
با استفاده از ماکروی زیر شما قادر به متمایز کردن بزرگترین مقدار عددی یک محدوده خواهید بود:
1 2 3 4 5 6 7 8 |
Sub highlightMaxValue() Dim rng As Range For Each rng In Selection If rng = WorksheetFunction.Max(Selection) Then rng.Style = "Good" End If Next rng End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید، سپس محدوده داده های خود را انتخاب و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
متمایز کردن کوچکترین مقدار عددی توسط کدهای ماکرونویسی
با استفاده از ماکروی زیر شما قادر به متمایز کردن کوچکترین مقدار عددی یک محدوده خواهید بود:
1 2 3 4 5 6 7 8 |
Sub highlightMaxValue() Dim rng As Range For Each rng In Selection If rng = WorksheetFunction.Max(Selection) Then rng.Style = "Good" End If Next rng End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید، سپس محدوده داده های خود را انتخاب و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
متمایز کردن سلول های یونیک توسط کدهای ماکرونویسی
با استفاده از ماکروی زیر قادر به متمایز کردن سلول های یونیک(غیرتکراری) در یک محدوده خواهید بود:
1 2 3 4 5 6 7 8 9 |
Sub highlightUniqueValues() Dim rng As Range Set rng = Selection rng.FormatConditions.Delete Dim uv As UniqueValues Set uv = rng.FormatConditions.AddUniqueValues uv.DupeUnique = xlUnique uv.Interior.Color = vbGreen End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید، سپس محدوده داده های خود را انتخاب و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
پنهان کردن تمام Worksheets به جز Worksheet فعال
با استفاده از ماکروی زیر شما قادر به پنهان کردن تمامی Worksheets به جز Worksheet فعال خواهید بود:
1 2 3 4 5 6 7 8 |
Sub HideWorksheet() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If ws.Name <> ThisWorkbook.ActiveSheet.Name Then ws.Visible = xlSheetHidden End If Next ws End Sub |
نحوه استفاده از ماکروی فوق:
کدهای ماکروی فوق را کپی و به داخل یک ماژول منتقل کنید و با فشردن کلید F5 کیبورد اقدام به اجرای ماکرو کنید.
ایجاد شیت جدید در اکسل (ماکرونویسی)
اگر شما نیز قصد داشته باشید یک Button و یا به اصطلاح دکمه ای در کاربرگ خود تعبیه کنید که با کلیک برروی آن، یک کاربرگ جدید ایجاد شود، از ماکروی زیر می توانید استفاده کنید:
1 2 3 4 5 |
Sub Macro1() Dim NewSheet As String NewSheet = InputBox("Please input the sheet name") Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = NewSheet End Sub |
با اجرای ماکروی فوق، یک Inputbox به شما نمایش داده می شود که از شما درخواست نام کاربرگ جدید را دارد:
پس از تعیین نام کاربرگ و با زدن OK کاربرگ جدید با عنوان انتخابی شما ایجاد خواهد شد.
کپی Worksheet در ماکرونویسی اکسل
در ادامه ماکرویی را بررسی خواهیم نمود که به شما امکان تهیه کپی از یک کاربرگ مشخص را خواهد داد:
1 2 3 4 5 6 7 8 9 10 11 |
Sub Macro2() Dim CopySheet As String Dim NewSheet As String CopySheet = InputBox("What is Sheet name?") NewSheet = InputBox("Please input the new sheet name") Sheets(CopySheet).Copy After:=Sheets(Sheets.Count) On Error Resume Next ActiveSheet.Name = NewSheet End Sub |
با اجرای ماکروی فوق، ابتدا باکس Inputbox از شما نام کاربرگی که قرار است از آن کپی تهیه شود را خواهد پرسید. سپس باکس Inputbox دوم نام کاربرگ جدید(کپی شده) را خواهد پرسید.
در پایان امیدواریم پست آموزشی ماکروهای آماده در اکسل مورد رضایت شما عزیزان و سرواران گرامی قرار گرفته باشد. در صورت وجود هرگونه انتقاد و پیشنهاد میتوانید آن را در قسمت نظرات برای ما ارسال نمایید.
منبع آموزشی: Excel Champs