Exemplos de Excel VBA para iniciantes
As macros são suas melhores amigas quando se trata de aumentar sua produtividade ou economizar tempo no local de trabalho. Desde pequenas tarefas até grandes tarefas, podemos automatizar usando a linguagem de codificação VBA. Eu sei que muitas vezes você pode ter pensado em algumas das limitações do Excel, mas com a codificação VBA você pode eliminar todas elas. Ok, se você teve dificuldades com o VBA e ainda é um iniciante neste artigo, daremos alguns dos exemplos úteis de código de macro VBA no Excel.
Lista dos 19 principais exemplos
- Imprimir todos os nomes das folhas
- Inserir índice de cor diferente no VBA
- Insira o número de série do topo
- Insira o número de série da parte inferior
- Insira o número de série de 10 a 1
- Insira as planilhas o quanto quiser
- Excluir todas as planilhas em branco da pasta de trabalho
- Inserir linha em branco após cada outra linha
- Destacar erro de ortografia
- Alterar tudo para letras maiúsculas
- Alterar tudo para letras minúsculas
- Destaque todas as células comentadas
- Destaque todas as células em branco
- Ocultar todas as folhas, exceto uma folha
- Reexibir todas as planilhas
- Apague todos os arquivos da pasta
- Excluir pasta inteira
- Encontre a última linha usada na folha
- Encontre a última coluna usada na planilha
Vamos ver cada um desses exemplos em detalhes.
Você pode baixar este modelo de exemplos de VBA aqui - modelo de exemplos de VBA em Excel# 1 - Imprimir todos os nomes das folhas
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
Isso irá extrair todos os nomes de planilhas para a planilha ativa.
# 2 - Inserir índice de cor diferente no 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
Isso irá inserir números de 1 a 56 e seu índice de cores na próxima coluna.
# 3 - Insira o número de série do topo
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
Isso inserirá números de série de 1 a 10 a partir do topo.
# 4 - Insira o número de série da parte inferior
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
Isso inserirá números de série de 1 a 20 na parte inferior.
# 5 - Insira o número de série de 10 a 1
Código:
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
Isso irá inserir números de série de 10 a 1 a partir do topo.
# 6 - Insira as planilhas o quanto quiser
Código:
Sub AddSheets () Dim ShtCount As Integer, i As Integer ShtCount = Application.InputBox ("Quantas folhas você gostaria de inserir?", "Adicionar folhas",,,,,, 1) If ShtCount = False Then Exit Sub Else For i = 1 To ShtCount Worksheets.Add Next i End If End Sub
Isso solicitará que você insira o número de planilhas que deseja inserir. Basta especificar o número na caixa de entrada e clicar em Ok, isso irá inserir todas as folhas imediatamente.
Nº 7 - Excluir todas as planilhas em branco da pasta de trabalho
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 Then ws.Delete End If Next ws Application.DisplayAlerts = True Application .ScreenUpdating = True End Sub
Isso excluirá todas as planilhas em branco da pasta de trabalho em que estamos trabalhando.
# 8 - Insira uma linha em branco após cada outra linha
Código:
Sub Insert_Row_After_Every_Other_Row () Dim rng As Range Dim CountRow As Integer Dim i As Integer Set rng = Seleção CountRow = rng.EntireRow.Count For i = 1 To CountRow ActiveCell.EntireRow.Insert ActiveCell.Offset (2, 0) .Selecione Next i End Sub
Para isso primeiro, você precisa selecionar o intervalo onde gostaria de inserir linhas em branco alternativas.
# 9 - Destaque erro de ortografia
Código:
Sub Chech_Spelling_Mistake () Dim MySelection As Range Para Cada MySelection In ActiveSheet.UsedRange If Not Application.CheckSpelling (Word: = MySelection.Text) Then MySelection.Interior.Color = vbRed End If Next MySelection End Sub
Primeiro, selecione os dados e execute o código VBA. Ele destacará as células com erros de grafia.
# 10 - Alterar tudo para letras maiúsculas
Código:
Sub Change_All_To_UPPER_Case () Dim Rng como intervalo para cada Rng em Selection.Cells If Rng.HasFormula = False Then Rng.Value = UCase (Rng.Value) End If Next Rng End Sub
Primeiro, selecione os dados e execute o código. Ele irá converter todos os valores de texto em caracteres maiúsculos.
Nº 11 - Alterar tudo para letras minúsculas
Código:
Sub Change_All_To_LOWER_Case () Dim Rng como intervalo para cada Rng em Selection.Cells If Rng.HasFormula = False Then Rng.Value = LCase (Rng.Value) End If Next Rng End Sub
Primeiro, selecione os dados e execute o código. Ele irá converter todos os valores de texto em caracteres minúsculos no Excel.
# 12 - Destaque todas as células comentadas
Código:
Sub HighlightCellsWithCommentsInActiveWorksheet () ActiveSheet.UsedRange.SpecialCells (xlCellTypeComments) .Interior.ColorIndex = 4 End Sub
Resultado:
Nº 13 - Destaque todas as células em branco
Código:
Sub Highlight_Blank_Cells () Dim DataSet As Range Set DataSet = Seleção DataSet.Cells.SpecialCells (xlCellTypeBlanks) .Interior.Color = vbGreen End Sub
Primeiro, selecione o intervalo de dados e execute o código. Ele irá destacar todas as células em branco com a cor verde.
Nº 14 - Ocultar todas as folhas, exceto uma folha
Código:
Sub Hide_All_Except_One () Dim Ws como planilha para cada Ws em ActiveWorkbook.Worksheets If Ws.Name "Folha principal" Then Ws.Visible = xlSheetVeryHidden Next Ws End Sub
The above code hides all the sheets except the sheet named as “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:\Users\Admin_2.Dell-Pc\Desktop\Delete 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:\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
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
Here we find the Last used Row in the Sheet
#19 – Find the Last Used Column in the Sheet
Code:
Sub Last_Column() Dim LC As Long LC = Cells(1, Columns.Count).End(xlToLeft).Column MsgBox LC End Sub
Here we find the Last used Column in the Sheet