Примери за Excel VBA за начинаещи
Макросите са вашият най-добър приятел, когато става въпрос за увеличаване на вашата производителност или спестяване на малко време на работното ви място. Точно от малки задачи до големи задачи, ние можем да автоматизираме, като използваме кодиращия език VBA. Знам, че често сте си мислили за някои от ограниченията, които Excel има, но с VBA кодирането можете да премахнете всички тези. Добре, ако сте се борили с VBA и все още сте начинаещ в тази статия, ще дадем някои от полезните примери за VBA макро код в Excel.

Списък с най-добрите 19 примера
- Отпечатайте всички имена на листове
- Поставете различен цветен индекс във VBA
- Поставете сериен номер отгоре
- Поставете сериен номер отдолу
- Поставете сериен номер от 10 до 1
- Поставете работни листове колкото искате
- Изтрийте всички празни работни листове от работната книга
- Вмъкване на празен ред след всеки друг ред
- Маркирайте правописна грешка
- Променете всички с главни букви
- Промяна на всички с малки букви
- Маркирайте всички коментирани клетки
- Маркирайте всички празни клетки
- Скриване на всички листове с изключение на един лист
- Разкрийте всички листове
- Изтрийте всички файлове в папката
- Изтриване на цялата папка
- Намерете последния използван ред в листа
- Намерете последната използвана колона в листа
Нека да разгледаме всеки от тези примери в детайли.
# 1 - Отпечатайте всички имена на листове
Код:
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
Това ще извлече всички имена на листа в активния лист.

# 2 - Вмъкване на различен цветен индекс във VBA
Код:
Sub Insert_Different_Colours () Dim i As Integer за i = 1 до 56 клетки (i, 1). Стойност = i клетки (i, 2). Interior.ColorIndex = i Next End Sub
Това ще вмъкне числа от 1 до 56 и техния цветен индекс в следващата колона.

# 3 - Поставете сериен номер отгоре
Код:
Sub Insert_Numbers_From_Top () Dim i As Integer For i = 1 To 10 Cells (i, 1) .Value = i Next i End Sub
Това ще вмъкне серийни номера от 1 до 10 отгоре.

# 4 - Поставете сериен номер отдолу
Код:
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 до 20 отдолу.

# 5 - Поставете сериен номер от 10 до 1
Код:
Sub Ten_To_One () Dim i As Integer Dim j As Integer j = 10 For i = 1 to 10 Range ("A" & i) .Value = jj = j - 1 Next i End Sub
Това ще вмъкне серийни номера от 10 до 1 отгоре.

# 6 - Поставете работни листове колкото искате
Код:
Sub AddSheets () Dim ShtCount As Integer, i As Integer ShtCount = Application.InputBox ("Колко листове искате да вмъкнете?", "Добавяне на листове",,,,,, 1) Ако ShtCount = False, тогава излезте от Sub Else За i = 1 към работни листове на ShtCount.Добавете Next i End If End Sub
Това ще ви помоли да въведете броя на работните листове, които искате да вмъкнете. Просто посочете номера в полето за въвеждане и щракнете върху Ok, той ще вмъкне тези много листове веднага.

# 7 - Изтрийте всички празни работни листове от работната книга
Код:
Sub Delete_Blank_Sheets () Dim ws As Worksheet Application.DisplayAlerts = False Application.ScreenUpdating = False За всеки ws в ActiveWorkbook.Worksheets If WorksheetFunction.CountA (ws.UsedRange) = 0 Тогава ws.Delete End If Next ws Application.DisplayAlerts = True. .ScreenUpdating = True End Sub
This will delete all the blank worksheets from the workbook we are working on.

#8 - Insert Blank Row After Every Other Row
Code:
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
For this first, you need to select the range where you would like to insert alternative blank rows.

#9 - Highlight Spelling Mistake
Code:
Sub Chech_Spelling_Mistake() Dim MySelection As Range For Each MySelection In ActiveSheet.UsedRange If Not Application.CheckSpelling(Word:=MySelection.Text) Then MySelection.Interior.Color = vbRed End If Next MySelection End Sub
First, select the data and run the VBA code. It will highlight the cells which have spelling mistakes.

#10 - Change All To Upper Case Characters
Code:
Sub Change_All_To_UPPER_Case() Dim Rng As Range For Each Rng In Selection.Cells If Rng.HasFormula = False Then Rng.Value = UCase(Rng.Value) End If Next Rng End Sub
First, select the data and run the code. It will convert all the text values to upper case characters.

#11 - Change All To Lower Case Characters
Code:
Sub Change_All_To_LOWER_Case() Dim Rng As Range For Each Rng In Selection.Cells If Rng.HasFormula = False Then Rng.Value = LCase(Rng.Value) End If Next Rng End Sub
First, select the data and run the code. It will convert all the text values to lower case characters in excel.

#12 - Highlight All the Commented Cells
Code:
Sub HighlightCellsWithCommentsInActiveWorksheet() ActiveSheet.UsedRange.SpecialCells(xlCellTypeComments).Interior.ColorIndex = 4 End Sub
Result:

#13 - Highlight All the Blank Cells
Code:
Sub Highlight_Blank_Cells() Dim DataSet As Range Set DataSet = Selection DataSet.Cells.SpecialCells(xlCellTypeBlanks).Interior.Color = vbGreen End Sub
First, select the data range and run the code. It will highlight all the blank cells with green color.

#14 - Hide All Sheets Except One Sheet
Code:
Sub Hide_All_Except_One() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If Ws.Name "Main Sheet" Then Ws.Visible = xlSheetVeryHidden Next Ws End Sub
The above code hides all the sheets except the sheet named “Main Sheet.” You can change the worksheet name as per your wish.

#15 - Unhide All Sheets
Code:
Sub UnHide_All() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws End Sub
This will unhide all the hidden sheets.

#16 - Delete All Files in the Folder
Code:
Sub Delete_All_Files() 'You can use this to delete all the files in the folder Test '' On Error Resume Next Kill "C:UsersAdmin_2.Dell-PcDesktopDelete Folder*.*" On Error GoTo 0 End Sub
Change the folder path, which is marked in red as per your folder deletion.
#17 - Delete Entire Folder
Code:
Sub Delete_Whole_Folder() 'You can use this to delete entire folder On Error Resume Next Kill "C:UsersAdmin_2.Dell-PcDesktopDelete 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:UsersAdmin_2.Dell-PcDesktopDelete Folder " 'Note: RmDir delete only a empty folder On Error GoTo 0 End Sub
Change the folder path, which is marked in red as per your folder deletion.
#18 - Find the Last Used Row in the Sheet
Code:
Sub Last_Row () Dim LR As Long LR = Cells (Rows.Count, 1). End (xlUp). Red MsgBox LR End Sub
Тук намираме последния използван ред в листа

# 19 - Намерете последната използвана колона в листа
Код:
Sub Last_Column () Dim LC As Long LC = Cells (1, Columns.Count). End (xlToLeft). Column MsgBox LC End Sub
Тук намираме последната използвана колона в листа
