با سلام خدمت کاربران عزیز آی تی سواد
ماکروها بهترین دوست شما در هنگام افزایش بهره وری یا صرفه جویی در وقت در محل کار شما هستند. خیلی از کارهای ساده تا کارهای بزرگ را می توانیم با استفاده از زبان VBA به طور خودکار انجام دهیم.اغلب اوقات ممکن است با بعضی از محدودیت های اکسل روبرو شده باشید اما با VBA می توانید همه موارد را از بین ببرید.در این آموزش نمونه کدهای vba در اکسل را برای شما بیان خواهیم کرد.
نمونه کدهای vba در اکسل برای مبتدیان
شماره ۱ – ورود نام همه Sheet ها
1 2 3 4 5 6 7 8 9 |
Sub Print_Sheet_Names() Dim i As Integer For i = 1 To Sheets.Count Cells(i, 1).Value = Sheets(i).Name Next i End Sub |
این کد نام تمام شیت ها را استخراج می کند.
شماره ۲ – درج کد رنگ های مختلف
1 2 3 4 5 6 7 8 9 10 |
Sub Insert_Different_Colours() Dim i As Integer For i = 1 To 56 Cells(i, 1).Value = i Cells(i, 2).Interior.ColorIndex = i Next End Sub |
با این کار شماره های ۱ تا ۵۶ و فهرست رنگ آنها در ستون بعدی وارد می شود.
شماره ۳ – درج سری اعداد بصورت افزایشی
1 2 3 4 5 6 7 8 9 |
Sub Insert_Numbers_From_Top() Dim i As Integer For i = 1 To 10 Cells(i, 1).Value = i Next i End Sub |
با این کار اعداد از ۱ تا ۱۰ بصورت افزایشی درج می شود.
شماره ۴ – درج سری اعداد بصورت کاهشی
1 2 3 4 5 6 7 8 9 |
Sub Insert_Numbers_From_Bottom() Dim i As Integer For i = 20 To 1 Step -1 Cells(i, 7).Value = i Next i End Sub |
با این کار اعداد از ۲۰ تا ۱ بصورت کاهشی درج می شود.
شماره ۵ – ایجاد شیت جدید به تعداد دلخواه
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Sub AddSheets() Dim ShtCount As Integer, i As Integer ShtCount = Application.InputBox("How Many Sheets you would like to insert?", "Add Sheets", , , , , , 1) If ShtCount = False Then Exit Sub Else For i = 1 To ShtCount Worksheets.Add Next i End If End Sub |
با اجرای این کد پنجره ای باز می شود و از شما می خواهد تعداد برگه های دلخواه را وارد کنید. فقط کافی است در جعبه ورودی عدد را وارد کنید و روی Ok کلیک کنید ، بلافاصله آن ها را ایجاد می کند.
شماره ۶ – حذف تمام شیت های خالی از Workbook
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Sub Delete_Blank_Sheets() Dim ws As Worksheet Application.DisplayAlerts = False Application.ScreenUpdating = False For Each ws In ActiveWorkbook.Worksheets If WorksheetFunction.CountA(ws.UsedRange) = 0 Then ws.Delete End If Next ws Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub |
با این کد همه شیت های خالی از Workbook که ما روی آن کار می کنیم حذف می شود.
شماره ۷ – درج سطرهای خالی بعد از هر سطر
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Insert_Row_After_Every_Other_Row() Dim rng As Range Dim CountRow As Integer Dim i As Integer Set rng = Selection CountRow = rng.EntireRow.Count For i = 1 To CountRow ActiveCell.EntireRow.Insert ActiveCell.Offset(2, 0).Select Next i End Sub |
برای این کار ابتدا باید محدوده ای را انتخاب کنید که می خواهید ردیف های خالی را وارد کنید.
شماره ۸ – تمام سلول های خالی را برجسته کنید
1 2 3 4 5 6 7 8 |
Sub Highlight_Blank_Cells() Dim DataSet As Range Set DataSet = Selection DataSet.Cells.SpecialCells(xlCellTypeBlanks).Interior.Color = vbGreen End Sub |
ابتدا دامنه داده را انتخاب کرده و کد را اجرا کنید. این سلول های خالی را با رنگ سبز برجسته می کند.
شماره ۹ – حذف کلیه فایل ها در پوشه
1 2 3 4 5 6 7 8 9 |
Sub Delete_All_Files() 'You can use this to delete all the files in the folder Test '' On Error Resume Next Kill "C:\Users\Admin_2.Dell-Pc\Desktop\Delete Folder\*.*" On Error GoTo 0 End Sub |
مسیر پوشه مورد نظر را بر اساس نیاز تغییر دهید.
شماره ۱۰ – حذف کامل پوشه
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub Delete_Whole_Folder() 'You can use this to delete entire folder On Error Resume Next Kill "C:\Users\Admin_2.Dell-Pc\Desktop\Delete Folder\*.*" 'Firstly it will delete all the files in the folder 'Then below code will delete the entire folder if it is empty RmDir "C:\Users\Admin_2.Dell-Pc\Desktop\Delete Folder\" 'Note: RmDir delete only a empty folder On Error GoTo 0 End Sub |
این کد ابتدا فایل های درون پوشه را حذف می کند ، سپس خود پوشه اگر خالی باشد را حذف می کند.
شماره ۱۱- پیدا کردن آخرین ردیف استفاده شده شیت را پیدا کنید
1 2 3 4 5 6 7 8 |
Sub Last_Row() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row MsgBox LR End Sub |
در اینجا آخرین ردیف استفاده شده در شیت را می بینیم.
شماره ۱۲- آخرین ستون استفاده شده در شیت را پیدا کنید .
1 2 3 4 5 6 7 8 |
Sub Last_Column() Dim LC As Long LC = Cells(1, Columns.Count).End(xlToLeft).Column MsgBox LC End Sub |
در اینجا آخرین ستون استفاده شده در شیت را می بینیم.
برای مشاهده سایت مرجع اینجا کلیک کنید.
درود بر شما و روزتان نیکو باد
بسیار عالی
احتراما در صورت اممکان کد رسم نمودار و اضافه شدن نمودار به آیکون image در یوزرفرم را می خواستم
و آیا کتابی که بتوان تمام کدها را ور آن یافت می باشد در صورت امکان معرفی بفرمایید
سلام
برای نوع نمودار کد متفاوت هست
از آموزش هایی که در خود سایت مایکروسافت هست میتونید استفاده کنید
با سلام و وقت بخیر
تشکر فراوان از مطالب بسیار مفید شما
ببخشید من کدی میخواستم که در یک محدوده با نوشتن اسامی در آن محدوده بصورت اتوماتیک یک شیت با همان نام ایجاد کند : مثلا با نوشتن اسم علی یک شیت با همان نام اینسرت کند (با هر تعداد نامی که در آن محدوده تایپ میکنم یک شیت اختصاصی ایجاد کند)
https://itsavad.ir/create-sheets-from-specific-lists-in-excel/amp/