Ejemplos de Excel VBA para principiantes
Las macros son su mejor amiga cuando se trata de aumentar su productividad o ahorrar algo de tiempo en su lugar de trabajo. Desde pequeñas tareas hasta grandes tareas, podemos automatizar utilizando el lenguaje de codificación VBA. Sé que a menudo puede haber pensado en algunas de las limitaciones que tiene Excel, pero con la codificación VBA, puede eliminarlas todas. Bien, si tuvo problemas con VBA y aún es un principiante en este artículo, le daremos algunos de los ejemplos útiles del código de macro VBA en Excel.

Lista de los 19 ejemplos principales
- Imprimir todos los nombres de las hojas
- Insertar índice de color diferente en VBA
- Inserte el número de serie desde arriba
- Inserte el número de serie desde abajo
- Inserte el número de serie del 10 al 1
- Inserte hojas de trabajo tanto como desee
- Eliminar todas las hojas de trabajo en blanco del libro de trabajo
- Insertar fila en blanco después de cada dos filas
- Resaltar error ortográfico
- Cambiar todo a caracteres en mayúsculas
- Cambiar todo a minúsculas
- Resalte todas las celdas comentadas
- Resalte todas las celdas en blanco
- Ocultar todas las hojas excepto una
- Mostrar todas las hojas
- Eliminar todos los archivos de la carpeta
- Eliminar toda la carpeta
- Encuentre la última fila utilizada en la hoja
- Encuentre la última columna utilizada en la hoja
Veamos cada uno de estos ejemplos en detalle.
# 1 - Imprimir todos los nombres de las hojas
Código:
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
Esto extraerá todos los nombres de las hojas a la hoja activa.

# 2 - Inserte un índice de color diferente en VBA
Código:
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
Esto insertará números del 1 al 56 y su índice de color en la siguiente columna.

# 3 - Inserte el número de serie desde arriba
Código:
Sub Insert_Numbers_From_Top () Dim i As Integer For i = 1 to 10 Cells (i, 1) .Value = i Next i End Sub
Esto insertará números de serie del 1 al 10 desde la parte superior.

# 4 - Inserte el número de serie desde abajo
Código:
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
Esto insertará números de serie del 1 al 20 desde la parte inferior.

# 5 - Inserte el número de serie del 10 al 1
Código:
Sub Ten_To_One () Dim i Como entero Dim j Como entero j = 10 Para i = 1 a 10 Rango ("A" & i) .Value = jj = j - 1 Siguiente i Fin
Esto insertará números de serie del 10 al 1 desde la parte superior.

# 6 - Inserte hojas de trabajo tanto como desee
Código:
Sub AddSheets () Dim ShtCount As Integer, i As Integer ShtCount = Application.InputBox ("¿Cuántas hojas le gustaría insertar?", "Agregar hojas",,,,,, 1) Si ShtCount = False, salga de Sub Else Para i = 1 a las hojas de trabajo de ShtCount, agregue el siguiente i End If End Sub
Esto le pedirá que ingrese la cantidad de hojas de trabajo que le gustaría insertar. Simplemente especifique el número en el cuadro de entrada y haga clic en Aceptar, insertará esas muchas hojas inmediatamente.

# 7 - Eliminar todas las hojas de trabajo en blanco del libro de trabajo
Código:
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 Entonces ws.Delete End If Next ws Application.DisplayAlerts = True Application .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) .Row MsgBox LR End Sub
Aquí encontramos la última fila utilizada en la hoja

# 19 - Encuentra la última columna utilizada en la hoja
Código:
Sub Last_Column () Dim LC As Long LC = Cells (1, Columns.Count) .End (xlToLeft) .Column MsgBox LC End Sub
Aquí encontramos la última columna utilizada en la hoja
