Olá! Aqui estão 100 Códigos VBA Excel para Automatizar Tarefas e Otimizar Seu Fluxo de Trabalho no Microsoft Excel.

Se você trabalha com o Microsoft Excel, sabe o quanto pode ser frustrante gastar horas realizando tarefas repetitivas e cansativas.

A boa notícia é que, com a ajuda do VBA Excel, é possível automatizar muitas dessas tarefas e otimizar seu fluxo de trabalho, economizando tempo e esforço.

Neste guia, apresentaremos 100 códigos VBA Excel para ajudá-lo a aproveitar ao máximo essa ferramenta poderosa e tornar suas tarefas diárias mais eficientes.”

O VBA Excel é uma linguagem de programação que permite automatizar e personalizar ações no Excel.

Com o VBA, é possível criar macros que executam uma série de tarefas repetitivas com apenas um clique, ou até mesmo integrar o Excel com outras ferramentas do Microsoft Office e bancos de dados externos.

Neste guia, apresentaremos uma variedade de códigos VBA Excel para ajudá-lo a automatizar tarefas comuns, como formatação condicional, classificação de dados, criação de gráficos, e muito mais.

Os códigos são projetados para serem fáceis de implementar e personalizar, mesmo para aqueles com pouca experiência em programação.

Com 100 Códigos VBA Excel para Automatizar Tarefas à disposição, você poderá economizar tempo e esforço em suas tarefas diárias, permitindo que você se concentre em tarefas mais importantes e estratégicas.

Esperamos que este guia tenha sido útil para você e que tenha encontrado os códigos VBA Excel necessários para automatizar suas tarefas e otimizar seu fluxo de trabalho.

Lembre-se, o VBA Excel é uma ferramenta poderosa que pode ajudá-lo a economizar tempo e esforço, mas também pode ser um pouco intimidante para iniciantes.

Não hesite em experimentar e personalizar esses códigos para atender às suas necessidades específicas.

Com um pouco de prática e experiência, você pode se tornar um expert em VBA Excel e levar sua produtividade a um novo nível.

1 – Criar uma nova planilha.

Sub CriarNovaPlanilha()
    'Criar uma nova planilha
    Dim novaPlanilha As Worksheet
    Set novaPlanilha = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
    novaPlanilha.Name = "Nova Planilha"
End Sub

2 – Excluir uma planilha existente.

Sub ExcluirPlanilhaExistente()
    'Excluir uma planilha existente
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja excluir
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        Application.DisplayAlerts = False ' Ignora o alerta de confirmação de exclusão
        planilha.Delete
        Application.DisplayAlerts = True ' Retoma o alerta de confirmação de exclusão
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

3 – Copiar uma planilha existente.

Sub CopiarPlanilhaExistente()
    'Copiar uma planilha existente
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja copiar
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        planilha.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) ' Copia a planilha para o final da pasta de trabalho
        ' É possível definir outro local utilizando a propriedade "Before" ou "After"
        ' Exemplo: planilha.Copy Before:=ThisWorkbook.Sheets("Nome da Outra Planilha")
        
        Dim novaPlanilha As Worksheet
        Set novaPlanilha = ActiveSheet
        novaPlanilha.Name = "Cópia de " & nomePlanilha ' Define o nome da nova planilha como "Cópia de {nome da planilha original}"
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

4 – Mover uma planilha para uma nova posição.

Sub MoverPlanilha()
    'Mover uma planilha para uma nova posição
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja mover
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        Dim posicao As Long
        posicao = 1 ' Substitua "1" pela posição desejada (exemplo: 2 para mover para a segunda posição)
        
        If posicao > ThisWorkbook.Sheets.Count Then
            posicao = ThisWorkbook.Sheets.Count ' Caso a posição desejada seja maior que a quantidade de planilhas, move para o final
        End If
        
        planilha.Move After:=ThisWorkbook.Sheets(posicao - 1) ' Move a planilha para a posição desejada
        
        ' É possível definir outra planilha de referência utilizando a propriedade "Before" ou "After"
        ' Exemplo: planilha.Move Before:=ThisWorkbook.Sheets("Nome da Outra Planilha")
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

5 – Renomear uma planilha existente.

Sub RenomearPlanilha()
    'Renomear uma planilha existente
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja renomear
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        Dim novoNome As String
        novoNome = "Novo Nome da Planilha" ' Substitua "Novo Nome da Planilha" pelo nome desejado
        
        planilha.Name = novoNome ' Renomeia a planilha
        
        ' Também é possível utilizar a variável "InputBox" para permitir que o usuário digite o novo nome
        ' Exemplo: novoNome = InputBox("Digite o novo nome da planilha", "Renomear planilha")
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

6 – Adicionar ou remover colunas.

Sub AdicionarOuRemoverColunas()
    'Adicionar ou remover colunas em uma planilha existente
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja adicionar ou remover colunas
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        Dim colunaInicial As Long
        colunaInicial = 1 ' Substitua "1" pela coluna inicial desejada
        
        Dim qtdeColunas As Long
        qtdeColunas = 2 ' Substitua "2" pela quantidade de colunas que deseja adicionar (negativo para remover)
        
        If colunaInicial + qtdeColunas < 1 Then
            MsgBox "Não é possível remover todas as colunas da planilha.", vbCritical ' Exibe uma mensagem de erro caso tente remover todas as colunas
            Exit Sub
        End If
        
        planilha.Columns(colunaInicial).Resize(, qtdeColunas).Insert Shift:=xlToRight ' Adiciona ou remove colunas
        
        ' O parâmetro "Shift" pode ser utilizado para controlar como as outras colunas serão deslocadas
        ' Exemplo: planilha.Columns(colunaInicial).Resize(, qtdeColunas).Insert Shift:=xlToLeft
        
        ' Caso não queira remover colunas, basta alterar o valor de "qtdeColunas" para zero ou um número positivo
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

7 – Adicionar ou remover linhas.

Sub AdicionarOuRemoverLinhas()
    'Adicionar ou remover linhas em uma planilha existente
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja adicionar ou remover linhas
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        Dim linhaInicial As Long
        linhaInicial = 1 ' Substitua "1" pela linha inicial desejada
        
        Dim qtdeLinhas As Long
        qtdeLinhas = 2 ' Substitua "2" pela quantidade de linhas que deseja adicionar (negativo para remover)
        
        If linhaInicial + qtdeLinhas < 1 Then
            MsgBox "Não é possível remover todas as linhas da planilha.", vbCritical ' Exibe uma mensagem de erro caso tente remover todas as linhas
            Exit Sub
        End If
        
        planilha.Rows(linhaInicial).Resize(qtdeLinhas).Insert Shift:=xlDown ' Adiciona ou remove linhas
        
        ' O parâmetro "Shift" pode ser utilizado para controlar como as outras linhas serão deslocadas
        ' Exemplo: planilha.Rows(linhaInicial).Resize(qtdeLinhas).Insert Shift:=xlUp
        
        ' Caso não queira remover linhas, basta alterar o valor de "qtdeLinhas" para zero ou um número positivo
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

8 – Ajustar o tamanho das colunas automaticamente.

Sub AjustarTamanhoColunas()
    'Ajustar automaticamente o tamanho das colunas em uma planilha
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja ajustar o tamanho das colunas
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        planilha.Columns.AutoFit ' Ajusta automaticamente o tamanho das colunas da planilha
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

9 – Ajustar o tamanho das linhas automaticamente.

Sub AjustarTamanhoLinhas()
    'Ajustar automaticamente o tamanho das linhas em uma planilha
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha que deseja ajustar o tamanho das linhas
    
    Dim planilha As Worksheet
    Set planilha = Nothing
    
    On Error Resume Next ' Ignora erros caso a planilha não exista
    Set planilha = ThisWorkbook.Worksheets(nomePlanilha)
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not planilha Is Nothing Then
        planilha.Rows.AutoFit ' Ajusta automaticamente o tamanho das linhas da planilha
    Else
        MsgBox "Planilha não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a planilha não exista
    End If
End Sub

10 – Inserir um comentário em uma célula.

Sub InserirComentario()
    'Inserir um comentário em uma célula
    Dim nomePlanilha As String
    nomePlanilha = "Nome da Planilha" ' Substitua "Nome da Planilha" pelo nome da planilha onde está a célula
    
    Dim celula As Range
    Set celula = Nothing
    
    On Error Resume Next ' Ignora erros caso a célula não exista
    Set celula = ThisWorkbook.Worksheets(nomePlanilha).Range("A1") ' Substitua "A1" pela referência da célula onde deseja inserir o comentário
    On Error GoTo 0 ' Retoma a captura de erros
    
    If Not celula Is Nothing Then
        celula.ClearComments ' Limpa qualquer comentário existente na célula
        celula.AddComment "Este é um comentário de exemplo." ' Insere um novo comentário na célula
    Else
        MsgBox "Célula não encontrada.", vbCritical ' Exibe uma mensagem de erro caso a célula não exista
    End If
End Sub

11 – Remover um comentário em uma célula.

Sub RemoverComentario()
    If Not ActiveCell.Comment Is Nothing Then
        ActiveCell.Comment.Delete
    End If
End Sub

12 – Proteger uma planilha com senha.

Sub ProtegerPlanilha()
    Dim senha As String
    senha = InputBox("Digite a senha para proteger a planilha:")
    If senha <> "" Then
        ActiveSheet.Protect Password:=senha
    End If
End Sub

13 – Desproteger uma planilha com senha.

Sub DesprotegerPlanilha()
    Dim senha As String
    senha = InputBox("Digite a senha para desproteger a planilha:")
    If senha <> "" Then
        ActiveSheet.Unprotect Password:=senha
    End If
End Sub

14 – Copiar células de uma planilha para outra.

Sub CopiarCelulas()
    ' Define as células que serão copiadas
    Dim planilhaOrigem As Worksheet
    Dim celulaOrigem As Range
    Set planilhaOrigem = Worksheets("Planilha1") ' nome da planilha de origem
    Set celulaOrigem = planilhaOrigem.Range("A1:C5") ' intervalo de células que serão copiadas
    
    ' Define a planilha de destino e a célula de destino
    Dim planilhaDestino As Worksheet
    Dim celulaDestino As Range
    Set planilhaDestino = Worksheets("Planilha2") ' nome da planilha de destino
    Set celulaDestino = planilhaDestino.Range("A1") ' célula de destino
    
    ' Copia as células para a planilha de destino
    celulaOrigem.Copy celulaDestino
End Sub

15 – Mover células de uma planilha para outra.

Sub MoverCelulas()
    ' Define as células que serão movidas
    Dim planilhaOrigem As Worksheet
    Dim celulaOrigem As Range
    Set planilhaOrigem = Worksheets("Planilha1") ' nome da planilha de origem
    Set celulaOrigem = planilhaOrigem.Range("A1:C5") ' intervalo de células que serão movidas
    
    ' Define a planilha de destino e a célula de destino
    Dim planilhaDestino As Worksheet
    Dim celulaDestino As Range
    Set planilhaDestino = Worksheets("Planilha2") ' nome da planilha de destino
    Set celulaDestino = planilhaDestino.Range("A1") ' célula de destino
    
    ' Move as células para a planilha de destino
    celulaOrigem.Cut celulaDestino
End Sub

16 – Copiar uma fórmula para uma célula em branco abaixo.

Sub CopiarFormula()
    ' Seleciona a célula com a fórmula a ser copiada
    Dim celulaOrigem As Range
    Set celulaOrigem = ActiveCell ' célula selecionada
    
    ' Copia a fórmula para a célula abaixo
    celulaOrigem.Copy celulaOrigem.Offset(1, 0)
End Sub

17 – Copiar uma fórmula para uma célula em branco ao lado.

Sub CopiarFormula()
    ' Seleciona a célula com a fórmula a ser copiada
    Dim celulaOrigem As Range
    Set celulaOrigem = ActiveCell ' célula selecionada
    
    ' Copia a fórmula para a célula à direita
    celulaOrigem.Copy celulaOrigem.Offset(0, 1)
End Sub

18 – Copiar uma fórmula para uma célula em branco acima.

Sub CopiarFormula()
    ' Seleciona a célula com a fórmula a ser copiada
    Dim celulaOrigem As Range
    Set celulaOrigem = ActiveCell ' célula selecionada
    
    ' Copia a fórmula para a célula acima
    celulaOrigem.Copy celulaOrigem.Offset(-1, 0)
End Sub

19 – Copiar uma fórmula para uma célula em branco à direita.

Sub CopiarFormula()
    ' Seleciona a célula com a fórmula a ser copiada
    Dim celulaOrigem As Range
    Set celulaOrigem = ActiveCell ' célula selecionada
    
    ' Copia a fórmula para a célula à direita
    celulaOrigem.Copy celulaOrigem.Offset(0, 1)
End Sub

20 – Adicionar um gráfico à planilha.

Sub AdicionarGrafico()
    ' Define as variáveis
    Dim tabela As Range
    Dim grafico As Chart
    
    ' Seleciona a tabela de dados
    Set tabela = Range("A1:C10") ' altere para a sua tabela de dados
    
    ' Cria um novo gráfico
    Set grafico = ActiveSheet.Shapes.AddChart2(251, xlColumnClustered).Chart
    
    ' Define as propriedades do gráfico
    With grafico
        .SetSourceData tabela
        .HasTitle = True
        .ChartTitle.Text = "Título do gráfico"
        .Axes(xlCategory).HasTitle = True
        .Axes(xlCategory).AxisTitle.Text = "Título do eixo X"
        .Axes(xlValue).HasTitle = True
        .Axes(xlValue).AxisTitle.Text = "Título do eixo Y"
    End With
End Sub

21 – Atualizar um gráfico existente na planilha

Sub AtualizarGrafico()
    
    Dim Grafico As ChartObject
    
    'Defina o gráfico a ser atualizado
    Set Grafico = ActiveSheet.ChartObjects("Nome do Gráfico")
    
    'Atualize o gráfico
    Grafico.Chart.Refresh
    
End Sub

22 – Remover um gráfico da planilha

Sub RemoverGrafico()
    
    Dim Grafico As ChartObject
    
    'Defina o gráfico a ser removido
    Set Grafico = ActiveSheet.ChartObjects("Nome do Gráfico")
    
    'Remova o gráfico
    Grafico.Delete
    
End Sub

23 – Definir uma área de impressão

Sub DefinirAreaDeImpressao()

    'Defina a planilha que contém a área de impressão
    Dim planilha As Worksheet
    Set planilha = ThisWorkbook.Worksheets("Nome da Planilha")
    
    'Defina a área de impressão
    Dim areaDeImpressao As Range
    Set areaDeImpressao = planilha.Range("A1:F20") 'Substitua pelos endereços da célula desejados
    
    'Defina a área de impressão na planilha
    planilha.PageSetup.PrintArea = areaDeImpressao.Address
    
End Sub

24 – Imprimir a planilha

Sub ImprimirPlanilha()

    'Defina a planilha a ser impressa
    Dim planilha As Worksheet
    Set planilha = ThisWorkbook.Worksheets("Nome da Planilha")
    
    'Defina a área de impressão
    Dim areaDeImpressao As Range
    Set areaDeImpressao = planilha.UsedRange 'Usa toda a planilha
    
    'Defina as configurações de impressão
    With planilha.PageSetup
        .Orientation = xlPortrait 'Retrato
        .FitToPagesWide = 1 'Uma página de largura
        .FitToPagesTall = False 'Número de páginas de altura
    End With
    
    'Imprima a planilha
    areaDeImpressao.PrintOut
    
End Sub

25 – Adicionar ou remover bordas em torno das células

Sub AdicionarBordas()

    'Defina a seleção de células que você deseja adicionar bordas
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Adicione as bordas
    selecao.BorderAround xlContinuous, xlThin, RGB(0, 0, 0) 'Borda contínua e fina em preto
    
End Sub
Sub RemoverBordas()

    'Defina a seleção de células que você deseja remover as bordas
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Remova as bordas
    selecao.Borders.LineStyle = xlNone 'Sem bordas
    
End Sub

26 – Alterar a cor das células

Sub AlterarCorDasCelulas()

    'Defina a seleção de células que você deseja alterar a cor
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Altere a cor das células para vermelho
    selecao.Interior.Color = RGB(255, 0, 0) 'Vermelho
    
End Sub

27 – Alterar a fonte das células

Sub AlterarFonteDasCelulas()

    'Defina a seleção de células que você deseja alterar a fonte
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Altere a fonte das células para Arial e tamanho 12
    selecao.Font.Name = "Arial"
    selecao.Font.Size = 12
    
End Sub

28 – Alterar o tamanho da fonte das células

Sub AlterarTamanhoDaFonteDasCelulas()

    'Defina a seleção de células que você deseja alterar o tamanho da fonte
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Altere o tamanho da fonte das células para 14
    selecao.Font.Size = 14
    
End Sub

29 – Adicionar ou remover negrito nas células

Sub AdicionarNegrito()

    'Defina a seleção de células que você deseja adicionar negrito
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Adicione o negrito nas células
    selecao.Font.Bold = True
    
End Sub
Sub RemoverNegrito()

    'Defina a seleção de células que você deseja remover o negrito
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Remova o negrito das células
    selecao.Font.Bold = False
    
End Sub

30 – Adicionar ou remover itálico nas células

Sub AdicionarItalico()

    'Defina a seleção de células que você deseja adicionar itálico
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Adicione o estilo itálico nas células
    selecao.Font.Italic = True
    
End Sub
Sub RemoverItalico()

    'Defina a seleção de células que você deseja remover o itálico
    Dim selecao As Range
    Set selecao = Selection 'Seleção atual no Excel
    
    'Remova o estilo itálico das células
    selecao.Font.Italic = False
    
End Sub

31 – Adicionar ou remover sublinhado nas células

Sub AdicionarSublinhado()
    'Seleciona a célula ativa ou o intervalo selecionado
    Selection.Font.Underline = xlUnderlineStyleSingle

'Adiciona sublinhado simples; use xlUnderlineStyleDouble para sublinhado duplo

End Sub
Sub RemoverSublinhado()
    'Seleciona a célula ativa ou o intervalo selecionado
    Selection.Font.Underline = False 'Remove o sublinhado
End Sub

32 – Adicionar ou remover texto tachado nas células

Sub AdicionarTextoTachado()
    'Seleciona a célula ativa ou o intervalo selecionado
    Selection.Font.Strikethrough = True
End Sub
Sub RemoverTextoTachado()
'Seleciona a célula ativa ou o intervalo selecionado
Selection.Font.Strikethrough = False
End Sub

33 – Adicionar ou remover fonte em caixa alta nas células

Sub RemoverCaixaAlta()
    'Seleciona a célula ativa ou o intervalo selecionado
    Selection.Value = LCase(Selection.Value)
End Sub

34 – Adicionar ou remover fonte em caixa baixa nas células

Sub AdicionarCaixaBaixa()
    'Seleciona a célula ativa ou o intervalo selecionado
    Selection.Value = LCase(Selection.Value)
End Sub
Sub RemoverCaixaBaixa()
    'Seleciona a célula ativa ou o intervalo selecionado
    Selection.Value = UCase(Selection.Value)
End Sub

35 – Adicionar uma data atual em uma célula

Sub AdicionarDataAtual()
    'Seleciona a célula ativa
    ActiveCell.Value = Date 'Insere a data atual na célula ativa
End Sub

36 – Adicionar uma hora atual em uma célula

Sub AdicionarHoraAtual()
    'Seleciona a célula ativa
    ActiveCell.Value = Time 'Insere a hora atual na célula ativa
End Sub

37 – Somar uma coluna ou linha de números

Sub SomarColuna()
    Dim Soma As Double 'Declara uma variável para armazenar a soma
    Soma = Application.WorksheetFunction.Sum(Columns("A")) 'Substitua "A" pela letra da coluna que deseja somar
    MsgBox "A soma da coluna é: " & Soma 'Exibe a soma em uma mensagem de caixa de diálogo
End Sub
Sub SomarLinha()
Dim Soma As Double 'Declara uma variável para armazenar a soma
Soma = Application.WorksheetFunction.Sum(Rows("1")) 'Substitua "1" pelo número da linha que deseja somar
MsgBox "A soma da linha é: " & Soma 'Exibe a soma em uma mensagem de caixa de diálogo
End Sub

38 – Subtrair uma coluna ou linha de números

Sub SubtrairColuna()
    Dim Resultado As Double 'Declara uma variável para armazenar o resultado
    Resultado = Application.WorksheetFunction.Sum(Columns("A")) - Application.WorksheetFunction.Sum(Columns("B")) 'Substitua "A" e "B" pelas letras das colunas que deseja subtrair
    MsgBox "O resultado da subtração é: " & Resultado 'Exibe o resultado em uma mensagem de caixa de diálogo
End Sub

39 – Multiplicar uma coluna ou linha de números

Sub MultiplicarColuna()
    Dim Resultado As Double 'Declara uma variável para armazenar o resultado
    Resultado = Application.WorksheetFunction.Product(Columns("A")) 'Substitua "A" pela letra da coluna que deseja multiplicar
    MsgBox "O resultado da multiplicação é: " & Resultado 'Exibe o resultado em uma mensagem de caixa de diálogo
End Sub

40 – Dividir uma coluna ou linha de números

Sub DividirColuna()
Dim Resultado As Double 'Declara uma variável para armazenar o resultado
Resultado = Application.WorksheetFunction.Quotient(Columns("A"), Columns("B")) 'Substitua "A" e "B" pelas letras das colunas que deseja dividir
MsgBox "O resultado da divisão é: " & Resultado 'Exibe o resultado em uma mensagem de caixa de diálogo
End Sub

41 – Arredondar um número para cima

Sub ArredondarParaCima()
    Dim Numero As Double 'Declara uma variável para armazenar o número
    Dim Resultado As Double 'Declara uma variável para armazenar o resultado
    Numero = 12.345 'Substitua pelo número que deseja arredondar
    Resultado = Application.WorksheetFunction.RoundUp(Numero, 2) 'Substitua "2" pelo número de casas decimais que deseja arredondar
    MsgBox "O número arredondado para cima é: "

42 – Arredondar um número para baixo

Sub ArredondarParaBaixo()
    Dim Numero As Double 'Declara uma variável para armazenar o número
    Dim Resultado As Double 'Declara uma variável para armazenar o resultado
    Numero = 12.345 'Substitua pelo número que deseja arredondar
    Resultado = Application.WorksheetFunction.RoundDown(Numero, 2) 'Substitua "2" pelo número de casas decimais que deseja arredondar
    MsgBox "O número arredondado para baixo é: " & Resultado 'Exibe o resultado em uma mensagem de caixa de diálogo
End Sub

43 – Arredondar um número para o número inteiro mais próximo:

' Define uma variável do tipo Double
Dim x As Double

' Define um valor para a variável
x = 1,5

' Arredonda o valor da variável e exibe em uma caixa de mensagem
MsgBox Round(x)

44 – Encontrar o valor máximo em uma coluna ou linha:

' Define uma variável do tipo Range
Dim rng As Range

' Define um intervalo de células para a variável
Set rng = Range("A1:A10")

' Usa a função Max para encontrar o valor máximo no intervalo e exibe em uma caixa de mensagem
MsgBox WorksheetFunction.Max(rng)

45 – Encontrar o valor mínimo em uma coluna ou linha:

' Define uma variável do tipo Range
Dim rng As Range

' Define um intervalo de células para a variável
Set rng = Range("A1:A10")

' Usa a função Min para encontrar o valor mínimo no intervalo e exibe em uma caixa de mensagem
MsgBox WorksheetFunction.Min(rng)

46 – Calcular a média de uma coluna ou linha de números:

' Define uma variável do tipo Range
Dim rng As Range

' Define um intervalo de células para a variável
Set rng = Range("A1:A10")

' Usa a função Average para calcular a média dos valores no intervalo e exibe em uma caixa de mensagem
MsgBox WorksheetFunction.Average(rng)

47 – Calcular a mediana de uma coluna ou linha de números:

' Define uma variável do tipo Range
Dim rng As Range

' Define um intervalo de células para a variável
Set rng = Range("A1:A10")

' Usa a função Median para calcular a mediana dos valores no intervalo e exibe em uma caixa de mensagem
MsgBox WorksheetFunction.Median(rng)

48 – Calcular o desvio padrão de uma coluna ou linha de números:

' Define uma variável do tipo Range
Dim rng As Range

' Define um intervalo de células para a variável
Set rng = Range("A1:A10")

' Usa a função StDev para calcular o desvio padrão dos valores no intervalo e exibe em uma caixa de mensagem
MsgBox WorksheetFunction.StDev(rng)

49 – Ordenar uma coluna de dados em ordem crescente:

' Ordena as células na coluna A em ordem crescente e exibe os resultados na planilha
Range("A1:A10").Sort Key1:=Range("A1"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

50 – Ordenar uma coluna de dados em ordem decrescente

' Ordena as células na coluna A em ordem decrescente e exibe os resultados na planilha
Range("A1:A10").Sort Key1:=Range("A1"), _
Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom

51 – Concatenar duas ou mais células

' Define uma variável do tipo String e concatena os valores das células A1, B1 e C1 na variável str 
Dim str As String
str = Range("A1").Value & Range("B1").Value & Range("C1").Value

' Insere o valor da variável str na célula D1 da planilha ativa 
Range("D1").Value = str 

52 – Separar o conteúdo de uma célula em várias células

Sub SepararConteudo()
'Seleciona a célula com o conteúdo que deseja separar
Range("A1").Select
'Usa a função Texto para Colunas para separar o conteúdo em células diferentes
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
    Comma:=True, Space:=False, Other:=False, _
    OtherChar:=",", FieldInfo:=Array(Array(1, 1), Array(2, 1), _
    Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True
End Sub

53 – Adicionar um cabeçalho à planilha

ActiveSheet.PageSetup.CenterHeader = "Meu Cabeçalho"

54 – Adicionar um rodapé à planilha

Sub AdicionarRodape()
    'Definir o conteúdo do rodapé
    Dim conteudoRodape As String
    conteudoRodape = "Texto do rodapé"
    
    'Definir a posição do rodapé (pode ser xlFooterMarginLeft, xlFooterMarginCenter ou xlFooterMarginRight)
    Dim posicaoRodape As XlHAlign
    posicaoRodape = xlFooterMarginCenter
    
    'Adicionar o rodapé à planilha
    ActiveSheet.PageSetup.CenterFooter = conteudoRodape
    ActiveSheet.PageSetup.AlignFooter = posicaoRodape
End Sub

55 – Copiar uma célula para várias células adjacentes

Sub CopiarCelulaParaCelsAdjacentes()
    'Seleciona a célula que contém o conteúdo a ser copiado
    Range("A1").Select
    
    'Define o número de células adjacentes que deseja preencher com o conteúdo copiado
    Dim numCelulas As Integer
    numCelulas = 5
    
    'Usa a função AutoFill para copiar o conteúdo para as células adjacentes
    Selection.AutoFill Destination:=Range("A1:A" & numCelulas), Type:=xlFillDefault
End Sub

56 – Alterar o tipo de letra em uma célula

Sub AlterarTipoDeLetra()
    'Seleciona a célula onde deseja alterar o tipo de letra
    Range("A1").Select
    
    'Define o novo tipo de letra que deseja usar (por exemplo, Arial)
    Dim novoTipoDeLetra As String
    novoTipoDeLetra = "Arial"
    
    'Altera o tipo de letra da célula selecionada para o novo tipo de letra definido
    Selection.Font.Name = novoTipoDeLetra
End Sub

57 – Ordenar dados em uma tabela por uma ou várias colunas, em ordem crescente ou decrescente

Sub OrdenarTabela()
    'Seleciona a tabela que deseja ordenar
    Dim minhaTabela As ListObject
    Set minhaTabela = ActiveSheet.ListObjects("MinhaTabela")
    
    'Seleciona a coluna que deseja usar para ordenar os dados
    Dim colunaParaOrdenar As Range
    Set colunaParaOrdenar = minhaTabela.ListColumns("Nome").Range
    
    'Ordena os dados na tabela pela coluna selecionada em ordem crescente
    minhaTabela.Sort.SortFields.Clear
    minhaTabela.Sort.SortFields.Add Key:=colunaParaOrdenar, _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With minhaTabela.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Para ordenar os dados em ordem decrescente, basta alterar o parâmetro “Order” de “xlAscending” para “xlDescending”:

minhaTabela.Sort.SortFields.Add Key:=colunaParaOrdenar, _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

58 – Adicionar um hyperlink a uma célula

Sub AdicionarHyperlink()
    'Seleciona a célula onde deseja adicionar o hyperlink
    Dim minhaCelula As Range
    Set minhaCelula = ActiveSheet.Range("A1")
    
    'Adiciona o hyperlink à célula selecionada
    minhaCelula.Hyperlinks.Add Anchor:=minhaCelula, _
        Address:="https://www.exemplo.com.br", TextToDisplay:="Texto do Link"
End Sub

59 – Remover um hyperlink de uma célula

Sub RemoverHyperlink()
    'Seleciona a célula onde deseja remover o hyperlink
    Dim minhaCelula As Range
    Set minhaCelula = ActiveSheet.Range("A1")
    
    'Remove o hyperlink da célula selecionada
    minhaCelula.Hyperlinks.Delete
End Sub

60 – Proteger células específicas da edição

Sub ProtegerCelulas()
    'Seleciona as células que deseja proteger
    Dim celulaProtegida As Range
    Set celulaProtegida = ActiveSheet.Range("A1")
    
    'Protege a planilha, com exceção da célula A2
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _
        AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowInsertingColumns:=True, _
        AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
        AllowDeletingColumns:=True, AllowDeletingRows:=True, _
        AllowSorting:=True, AllowFiltering:=True, _
        UserInterfaceOnly:=True
    celulaProtegida.Locked = True
    
    'Desprotege a célula A2
    ActiveSheet.Range("A2").Locked = False
End Sub

61 – Desproteger células específicas da edição

Sub DesprotegerCelula()
    'Seleciona a célula que deseja desproteger
    Dim celulaDesprotegida As Range
    Set celulaDesprotegida = ActiveSheet.Range("A1")
    
    'Desprotege a célula selecionada
    celulaDesprotegida.Locked = False
End Sub

62 – Adicionar uma mensagem de alerta em uma célula

Sub AdicionarMensagemDeAlerta()
    'Seleciona a célula que deseja adicionar a mensagem de alerta
    Dim celulaComMensagem As Range
    Set celulaComMensagem = ActiveSheet.Range("A1")
    
    'Define a mensagem de alerta
    Dim mensagem As String
    mensagem = "Digite um valor válido."
    
    'Adiciona a mensagem de alerta à célula selecionada
    With celulaComMensagem.Validation
        .Delete 'Remove qualquer validação existente na célula
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, _
             Operator:=xlBetween, Formula1:="0", Formula2:="9999" 'Define a nova validação
        .InputMessage = mensagem 'Define a mensagem de alerta
    End With
End Sub

63 – Adicionar uma mensagem de erro em uma célula

Sub AdicionarMensagemDeErro()
    'Seleciona a célula que deseja adicionar a mensagem de erro
    Dim celulaComMensagem As Range
    Set celulaComMensagem = ActiveSheet.Range("A1")
    
    'Define a mensagem de erro
    Dim mensagem As String
    mensagem = "Digite um valor válido."
    
    'Adiciona a mensagem de erro à célula selecionada
    With celulaComMensagem.Validation
        .Delete 'Remove qualquer validação existente na célula
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, _
             Operator:=xlBetween, Formula1:="0", Formula2:="9999" 'Define a nova validação
        .ErrorMessage = mensagem 'Define a mensagem de erro
    End With
End Sub

64 – Adicionar uma mensagem de ajuda em uma célula

Sub AdicionarMensagemDeAjuda()
    'Seleciona a célula que deseja adicionar a mensagem de ajuda
    Dim celulaComMensagem As Range
    Set celulaComMensagem = ActiveSheet.Range("A1")
    
    'Define a mensagem de ajuda
    Dim mensagem As String
    mensagem = "Digite um número inteiro entre 1 e 100."
    
    'Adiciona a mensagem de ajuda à célula selecionada
    celulaComMensagem.ClearComments 'Remove qualquer comentário existente na célula
    celulaComMensagem.AddComment mensagem 'Adiciona a mensagem de ajuda como um comentário
End Sub

65 – Adicionar uma lista suspensa em uma célula

Sub AdicionarListaSuspensa()
    'Seleciona a célula que deseja adicionar a lista suspensa
    Dim celulaComLista As Range
    Set celulaComLista = ActiveSheet.Range("A1")
    
    'Define as opções da lista suspensa
    Dim opcoes(1 To 3) As String
    opcoes(1) = "Opção 1"
    opcoes(2) = "Opção 2"
    opcoes(3) = "Opção 3"
    
    'Adiciona a lista suspensa à célula selecionada
    celulaComLista.Validation.Delete 'Remove qualquer validação existente na célula
    celulaComLista.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:=Join(opcoes, ",") 'Adiciona a lista suspensa
End Sub

66 – Adicionar um botão à planilha

Sub AdicionarBotao()
    'Seleciona a célula onde deseja adicionar o botão
    Dim celulaBotao As Range
    Set celulaBotao = ActiveSheet.Range("A1")
    
    'Adiciona o botão à célula selecionada
    Dim botao As Shape
    Set botao = ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, celulaBotao.Left, _
        celulaBotao.Top, 100, 30)
    botao.Name = "BotaoTeste"
    botao.TextFrame.Characters.Text = "Clique aqui"
    
    'Define a macro a ser executada quando o botão é clicado
    botao.OnAction = "MacroBotao"
End Sub

Sub MacroBotao()
    'Coloque aqui o código que deseja executar quando o botão é clicado
    MsgBox "Você clicou no botão!"
End Sub

67 – Adicionar uma caixa de seleção à planilha

Sub AdicionarCaixaDeSelecao()
    'Seleciona a célula onde deseja adicionar a caixa de seleção
    Dim celulaCaixaDeSelecao As Range
    Set celulaCaixaDeSelecao = ActiveSheet.Range("A1")
    
    'Adiciona a caixa de seleção à célula selecionada
    Dim caixaDeSelecao As CheckBox
    Set caixaDeSelecao = ActiveSheet.CheckBoxes.Add(celulaCaixaDeSelecao.Left, _
        celulaCaixaDeSelecao.Top, 100, 20)
    caixaDeSelecao.Name = "CaixaDeSelecaoTeste"
    
    'Define a célula vinculada à caixa de seleção
    caixaDeSelecao.LinkedCell = "B1"
End Sub

68 – Adicionar um controle de spin à planilha.

Sub AdicionarControleDeSpin()
    'Seleciona a célula onde deseja adicionar o controle de spin
    Dim celulaControleDeSpin As Range
    Set celulaControleDeSpin = ActiveSheet.Range("A1")
    
    'Adiciona o controle de spin à célula selecionada
    Dim controleDeSpin As SpinButton
    Set controleDeSpin = ActiveSheet.SpinButtons.Add(celulaControleDeSpin.Left, _
        celulaControleDeSpin.Top, 100, 20)
    controleDeSpin.Name = "ControleDeSpinTeste"
    
    'Define a célula vinculada e os valores mínimo, máximo e inicial
    controleDeSpin.LinkedCell = "B1"
    controleDeSpin.Min = 0
    controleDeSpin.Max = 100
    controleDeSpin.Value = 50
End Sub

69 – Adicionar um controle de barra de rolagem à planilha

Private Sub Worksheet_Activate()
    ' Cria uma nova barra de rolagem na planilha com as seguintes propriedades
    With Me.ScrollBars.Add(Left:=10, Top:=10, Width:=150, Height:=20)
        ' Define o valor máximo da barra de rolagem como 100
        .Max = 100
        ' Vincula a célula A1 à barra de rolagem, fazendo com que o valor da célula A1
        ' seja atualizado automaticamente com o valor da barra de rolagem
        .LinkedCell = Range("A1")
    End With
End Sub

70 – Adicionar uma imagem à planilha

Sub AddImage()
    Dim pic As Picture
    Set pic = ActiveSheet.Pictures.Insert("C:\path\to\image.jpg") ' substitua o caminho e o nome do arquivo de imagem pela localização do arquivo de imagem que deseja inserir na planilha
    pic.Left = Range("A1").Left ' posição horizontal da imagem na planilha
    pic.Top = Range("A1").Top ' posição vertical da imagem na planilha
End Sub

71 – Adicionar um vídeo à planilha.

Sub AddVideoLink()
    Range("A1").Hyperlinks.Add Anchor:=Range("A1"), Address:="https://www.youtube.com/watch?v=xxxxx" ' substitua o link pelo link do vídeo que deseja adicionar
End Sub

72 – Adicionar um áudio à planilha

Sub AddAudio()
    Dim snd As Object
    Set snd = ActiveSheet.OLEObjects.Add("wmplayer.OCX", False, False, 0, 0, 200, 200)
    snd.Object.URL = "C:\path\to\audiofile.mp3" ' Substitua o caminho e o nome do arquivo de áudio pelo arquivo de áudio que deseja adicionar
End Sub

73 – Adicionar um texto explicativo à planilha.

Sub AddText()
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 200, 50).TextFrame.Characters.Text = "Texto explicativo" ' Substitua "Texto explicativo" pelo texto que deseja adicionar
End Sub

74 – Adicionar um comentário de revisão à planilha

Sub AddReviewComment()
    Range("A1").AddComment "Comentário de revisão" ' Substitua "A1" pelo endereço da célula que deseja adicionar o comentário e "Comentário de revisão" pelo texto que deseja adicionar
    Range("A1").Comment.Author = "Nome do revisor" ' Substitua "Nome do revisor" pelo nome do revisor que adicionou o comentário
End Sub

75 – Adicionar uma senha para proteger uma macro.

Sub ProtegerMacroComSenha()
    Dim senha As String
    
    ' Solicita a senha para o usuário
    senha = InputBox("Insira a senha para proteger a macro:", "Proteger Macro com Senha")
    
    ' Verifica se a senha foi digitada
    If senha <> "" Then
        ' Protege o projeto com a senha digitada
        ThisWorkbook.VBProject.Protection.SetPassword senha
        ' Protege a macro especificada com a senha digitada
        ThisWorkbook.VBProject.VBComponents("NomeDoModulo").CodeModule.Protect senha
        MsgBox "A macro foi protegida com sucesso com a senha: " & senha
    Else
        MsgBox "A senha não pode ficar em branco. Tente novamente."
    End If
End Sub

76 – Atribuir uma macro a um botão

Sub AtribuirMacroAoBotao()

    'Declaração de variáveis
    Dim Planilha As Worksheet
    Dim Botao As Button
    
    'Definição da planilha e da posição do botão
    Set Planilha = ThisWorkbook.Worksheets("Planilha1")
    Set Botao = Planilha.Buttons.Add(10, 10, 50, 20)
    
    'Definição da macro a ser atribuída ao botão
    Botao.OnAction = "NomeDaMacro"
    
    'Definição do texto do botão
    Botao.Characters.Text = "Executar Macro"
    
End Sub

77 – Atribuir uma macro a uma tecla de atalho

Sub AtribuirAtalho()
    
    'Atribui a tecla de atalho CTRL+SHIFT+T para a macro "MinhaMacro"
    
    Application.OnKey "^+T", "MinhaMacro"
    
End Sub

78 – Atribuir uma macro a uma lista suspensa.

Private Sub Worksheet_Change(ByVal Target As Range)
    
    'Verifica se a mudança ocorreu na célula onde está a lista suspensa
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        
        'Verifica se o valor selecionado na lista é igual a "Opção 1"
        If Target.Value = "Opção 1" Then
            
            'Chama a macro "MinhaMacro"
            MinhaMacro
            
        End If
        
    End If
    
End Sub

79 – Atribuir uma macro a uma caixa de seleção.

Private Sub CheckBox1_Click()

    'Verifica se a caixa de seleção foi marcada
    If CheckBox1.Value = True Then
        
        'Chama a macro "MinhaMacro"
        MinhaMacro
        
    End If
    
End Sub

80 – Atribuir uma macro a um controle de spin.

Private Sub SpinButton1_Change()

    'Chama a macro "MinhaMacro" com o valor do controle de spin como argumento
    MinhaMacro SpinButton1.Value
    
End Sub

81 – Atribuir uma macro a um controle de barra de rolagem

Private Sub ScrollBar1_Change()

    'Chama a macro "MinhaMacro" com o valor do controle de barra de rolagem como argumento
    MinhaMacro ScrollBar1.Value
    
End Sub

82 – Atribuir uma macro a um evento de planilha

Private Sub Worksheet_Change(ByVal Target As Range)

    'Verifica se a mudança ocorreu na célula desejada
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        
        'Chama a macro "MinhaMacro"
        MinhaMacro
        
    End If
    
End Sub

83 – Adicionar número de série

Sub AddSerialNumbers()
    Dim i As Integer
    
    ' Em caso de erro, ir para o rótulo "Último"
    On Error GoTo Último
    
    ' Solicita ao usuário para digitar o valor inicial dos números de série
    i = InputBox("Digite o valor inicial", "Digite os números de série")
    
    ' Loop para adicionar os números de série
    For i = 1 To i
        ' Define o valor atual da célula ativa como o número de série
        ActiveCell.Value = i
        
        ' Move para a próxima célula abaixo
        ActiveCell.Offset(1, 0).Activate
    Next i
    
    ' Rótulo "Último" para sair da sub-rotina
Último:
    Exit Sub
End Sub

84 – Inserir várias colunas

Sub InsertMultipleColumns()
    Dim i As Integer
    Dim j As Integer
    
    ' Seleciona a coluna inteira da célula ativa
    ActiveCell.EntireColumn.Select
    
    ' Em caso de erro, ir para o rótulo "Último"
    On Error GoTo Último
    
    ' Solicita ao usuário para digitar o número de colunas a serem inseridas
    i = InputBox("Digite o número de colunas a serem inseridas", "Inserir colunas")
    
    ' Loop para inserir as colunas
    For j = 1 To i
        ' Insere uma nova coluna à direita da seleção atual
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightOrAbove
    Next j
    
    ' Rótulo "Último" para sair da sub-rotina
Último:
    Exit Sub
End Sub

85 – Inserir várias linhas

Sub InsertMultipleRows()
    Dim i As Integer
    Dim j As Integer
    
    ' Seleciona a linha inteira da célula ativa
    ActiveCell.EntireRow.Select
    
    ' Em caso de erro, ir para o rótulo "Último"
    On Error GoTo Último
    
    ' Solicita ao usuário para digitar o número de linhas a serem inseridas
    i = InputBox("Digite o número de linhas a serem inseridas", "Inserir linhas")
    
    ' Loop para inserir as linhas
    For j = 1 To i
        ' Insere uma nova linha abaixo da seleção atual
        Selection.Insert Shift:=xlToDown, CopyOrigin:=xlFormatFromRightOrAbove
    Next j
    
    ' Rótulo "Último" para sair da sub-rotina
Último:
    Exit Sub
End Sub

86 – Destaque a linha e a coluna ativas

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    ' Declaração da variável strRange para armazenar os endereços das células, colunas e linhas
    Dim strRange As String
    
    ' Concatena os endereços das células, colunas e linhas separados por vírgula
    strRange = Target.Cells.Address & "," & _
               Target.Cells.EntireColumn.Address & "," & _
               Target.Cells.EntireRow.Address
    
    ' Seleciona a faixa que inclui a célula, a coluna e a linha onde ocorreu o duplo clique
    Range(strRange).Select
End Sub

87 – Remova os decimais dos números

Sub removeDecimals()
    Dim lNumber As Double
    Dim lResultado As Long
    Dim rng As Range
    
    ' Percorre cada célula na seleção
    For Each rng In Selection
        ' Armazena o valor da célula em lNumber
        lNumber = rng.Value
        
        ' Arredonda o valor para o número inteiro mais próximo
        lResultado = Int(lNumber)
        
        ' Define o valor da célula como o número inteiro arredondado
        rng.Value = lResultado
        
        ' Define o formato da célula como "0" para remover as casas decimais
        rng.NumberFormat = "0"
    Next rng
End Sub

88 – Adicionar um botão de importação à planilha

Sub ImportarDados()
    Dim planilha As Worksheet
    Set planilha = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha

    Dim arquivo As Variant
    Dim linha As Long

    ' Abrir diálogo de seleção de arquivo
    arquivo = Application.GetOpenFilename("Arquivos CSV (*.csv), *.csv")

    ' Verificar se um arquivo foi selecionado
    If arquivo <> "Falso" Then
        ' Determinar a próxima linha vazia na planilha
        linha = planilha.Cells(planilha.Rows.Count, 1).End(xlUp).Row + 1
        
        ' Importar os dados do arquivo para a planilha
        With planilha.QueryTables.Add(Connection:="TEXT;" & arquivo, Destination:=planilha.Cells(linha, 1))
            .TextFileParseType = xlDelimited
            .TextFileCommaDelimiter = True ' Defina o delimitador apropriado
            .TextFileColumnDataTypes = Array(xlGeneralFormat) ' Defina os tipos de dados das colunas
            .Refresh BackgroundQuery:=False
        End With
    End If
End Sub

89 – Adicionar um botão de enviar e-mail à planilha

Sub AdicionarBotaoEnviarEmail()
    Dim ws As Worksheet
    Dim btn As Button
    Dim rng As Range

    ' Defina a planilha onde deseja adicionar o botão
    Set ws = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha

    ' Defina o range onde deseja posicionar o botão
    Set rng = ws.Range("A1") ' Substitua "A1" pela célula onde deseja posicionar o botão

    ' Insira um botão ActiveX na planilha
    Set btn = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=rng.Left, Top:=rng.Top, Width:=100, Height:=30).Object

    ' Configurar propriedades do botão
    With btn
        .Caption = "Enviar E-mail" ' Texto exibido no botão
        .OnAction = "EnviarEmail" ' Nome da macro que será executada ao clicar no botão
    End With

    ' Adicione a macro para enviar e-mail (você precisa criar esta macro separadamente)
    Call AdicionarMacroEnviarEmail

    ' Limpe a memória
    Set ws = Nothing
    Set btn = Nothing
    Set rng = Nothing
End Sub

Sub AdicionarMacroEnviarEmail()
    ' Esta subrotina adiciona a macro para enviar e-mail

    Dim vbModule As Object
    Dim vbCode As String

    ' Verifique se o módulo já existe, caso contrário, crie um novo
    On Error Resume Next
    Set vbModule = ThisWorkbook.VBProject.VBComponents("Módulo1") ' Substitua "Módulo1" pelo nome desejado
    On Error GoTo 0

    If vbModule Is Nothing Then
        Set vbModule = ThisWorkbook.VBProject.VBComponents.Add(1) ' 1 indica um módulo de código
    End If

    ' Adicione o código VBA para enviar e-mail
    vbCode = "Sub EnviarEmail()" & vbCrLf & _
             "    Dim OutApp As Object" & vbCrLf & _
             "    Dim OutMail As Object" & vbCrLf & _
             "    Set OutApp = CreateObject(""Outlook.Application"")" & vbCrLf & _
             "    Set OutMail = OutApp.CreateItem(0)" & vbCrLf & _
             "    With OutMail" & vbCrLf & _
             "        .To = ""[email protected]""" & vbCrLf & _
             "        .Subject = ""Assunto do E-mail""" & vbCrLf & _
             "        .Body = ""Corpo do E-mail""" & vbCrLf & _
             "        .Send" & vbCrLf & _
             "    End With" & vbCrLf & _
             "    Set OutMail = Nothing" & vbCrLf & _
             "    Set OutApp = Nothing" & vbCrLf & _
             "End Sub"

    ' Insira o código no módulo
    vbModule.CodeModule.AddFromString vbCode

    ' Limpe a memória
    Set vbModule = Nothing
End Sub

90 – Adicionar um botão de preenchimento automático à planilha

Sub AdicionarBotaoPreenchimentoAutomatico()
    Dim botao As Object
    
    ' Verifique se o botão já existe e, se existir, exclua-o
    On Error Resume Next
    ThisWorkbook.Sheets("Planilha1").Shapes("BotaoPreenchimento").Delete
    On Error GoTo 0
    
    ' Crie um botão de forma retangular na planilha
    Set botao = ThisWorkbook.Sheets("Planilha1").Shapes.AddShape(msoShapeRectangle, 50, 50, 80, 30)
    
    ' Nomeie o botão
    botao.Name = "BotaoPreenchimento"
    
    ' Defina o rótulo do botão
    botao.TextFrame.Characters.Text = "Preencher"
    
    ' Adicione um código de macro para o botão
    botao.OnAction = "PreenchimentoAutomatico"
    
    ' Exiba o botão
    botao.Visible = True
End Sub

Sub PreenchimentoAutomatico()
    ' Coloque aqui o código para preenchimento automático
    ' Por exemplo, preencher uma célula com um valor
    ThisWorkbook.Sheets("Planilha1").Range("A1").Value = "Texto Preenchido"
End Sub

91 – Adicionar um botão de limpar formulário à planilha

Sub AdicionarBotaoLimparFormulario()
    Dim ws As Worksheet
    Dim btn As Button
    Dim rng As Range
    
    ' Defina a planilha onde você deseja adicionar o botão
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Defina a faixa onde você deseja adicionar o botão
    Set rng = ws.Range("A1") ' Substitua "A1" pela célula onde deseja posicionar o botão
    
    ' Crie o botão
    Set btn = ws.Buttons.Add(rng.Left, rng.Top, 100, 30) ' Ajuste as dimensões e a posição conforme necessário
    
    ' Configure o texto do botão
    btn.Text = "Limpar Formulário"
    
    ' Associe o botão a uma macro que irá limpar o formulário
    btn.OnAction = "LimparFormulario"
End Sub

Sub LimparFormulario()
    Dim ws As Worksheet
    Dim ctrl As OLEObject
    
    ' Defina a planilha onde estão os controles de formulário
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Percorra todos os controles de formulário na planilha
    For Each ctrl In ws.OLEObjects
        If TypeName(ctrl.Object) = "OptionButton" Or TypeName(ctrl.Object) = "CheckBox" Then
            ' Limpe opções de caixa de seleção ou botões de opção
            ctrl.Object.Value = False
        ElseIf TypeName(ctrl.Object) = "TextBox" Or TypeName(ctrl.Object) = "ComboBox" Then
            ' Limpe caixas de texto ou listas suspensas
            ctrl.Object.Text = ""
        End If
    Next ctrl
End Sub

92 – Adicionar um botão de copiar formulário à planilha

Sub AdicionarBotaoCopiarFormulario()
    Dim ws As Worksheet
    Dim btn As Button
    Dim rng As Range
    
    ' Defina a planilha onde você deseja adicionar o botão
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Defina a faixa onde você deseja adicionar o botão
    Set rng = ws.Range("A1") ' Substitua "A1" pela célula onde deseja posicionar o botão
    
    ' Crie o botão
    Set btn = ws.Buttons.Add(rng.Left, rng.Top, 100, 30) ' Ajuste as dimensões e a posição conforme necessário
    
    ' Configure o texto do botão
    btn.Text = "Copiar Formulário"
    
    ' Associe o botão a uma macro que irá copiar o formulário
    btn.OnAction = "CopiarFormulario"
End Sub

Sub CopiarFormulario()
    Dim ws As Worksheet
    Dim ctrl As OLEObject
    Dim destino As Range
    Dim linhaDestino As Long
    
    ' Defina a planilha onde estão os controles de formulário
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Defina a linha de destino onde os valores serão copiados
    linhaDestino = 2 ' Substitua pelo número da linha desejada
    
    ' Defina a faixa de destino
    Set destino = ws.Range("A" & linhaDestino) ' Ajuste a coluna conforme necessário
    
    ' Percorra todos os controles de formulário na planilha
    For Each ctrl In ws.OLEObjects
        If TypeName(ctrl.Object) = "OptionButton" Or TypeName(ctrl.Object) = "CheckBox" Then
            ' Copie opções de caixa de seleção ou botões de opção
            destino.Value = ctrl.Object.Value
        ElseIf TypeName(ctrl.Object) = "TextBox" Or TypeName(ctrl.Object) = "ComboBox" Then
            ' Copie caixas de texto ou listas suspensas
            destino.Value = ctrl.Object.Text
        End If
        ' Avance para a próxima coluna na mesma linha
        Set destino = destino.Offset(0, 1)
    Next ctrl
End Sub

93 – Adicionar um botão de colar formulário à planilha

Sub AdicionarBotaoColarFormulario()
    Dim ws As Worksheet
    Dim btn As Button
    Dim rng As Range
    
    ' Defina a planilha onde você deseja adicionar o botão
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Defina a faixa onde você deseja adicionar o botão
    Set rng = ws.Range("A1") ' Substitua "A1" pela célula onde deseja posicionar o botão
    
    ' Crie o botão
    Set btn = ws.Buttons.Add(rng.Left, rng.Top, 100, 30) ' Ajuste as dimensões e a posição conforme necessário
    
    ' Configure o texto do botão
    btn.Text = "Colar Formulário"
    
    ' Associe o botão a uma macro que irá colar o formulário
    btn.OnAction = "ColarFormulario"
End Sub

Sub ColarFormulario()
    Dim ws As Worksheet
    Dim linhaDestino As Long
    
    ' Defina a planilha onde você deseja colar o formulário
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Encontre a próxima linha vazia na coluna A (ou em outra coluna se preferir)
    linhaDestino = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row + 1
    
    ' Cole os valores da área de transferência na nova linha
    ws.Cells(linhaDestino, 1).PasteSpecial Paste:=xlPasteValues
End Sub

94 – Adicionar um botão de recortar formulário à planilha

Sub AdicionarBotaoRecortarFormulario()
    Dim ws As Worksheet
    Dim btn As Button
    Dim rng As Range
    
    ' Defina a planilha onde você deseja adicionar o botão
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Defina a faixa onde você deseja adicionar o botão
    Set rng = ws.Range("A1") ' Substitua "A1" pela célula onde deseja posicionar o botão
    
    ' Crie o botão
    Set btn = ws.Buttons.Add(rng.Left, rng.Top, 100, 30) ' Ajuste as dimensões e a posição conforme necessário
    
    ' Configure o texto do botão
    btn.Text = "Recortar Formulário"
    
    ' Associe o botão a uma macro que irá recortar o formulário
    btn.OnAction = "RecortarFormulario"
End Sub

Sub RecortarFormulario()
    Dim ws As Worksheet
    Dim rngOrigem As Range
    Dim rngDestino As Range
    
    ' Defina a planilha onde estão os controles de formulário
    Set ws = ThisWorkbook.Worksheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Defina a faixa de origem a ser recortada (por exemplo, A1:C3)
    Set rngOrigem = ws.Range("A1:C3") ' Substitua pela faixa que deseja recortar
    
    ' Defina a faixa de destino onde os valores serão colados
    Set rngDestino = ws.Range("E1") ' Substitua pela célula de destino
    
    ' Recorte os valores da faixa de origem
    rngOrigem.Cut
    
    ' Cole os valores recortados na faixa de destino
    rngDestino.PasteSpecial Paste:=xlPasteValues
End Sub

95 – Adicionar um botão de desfazer formulário à planilha

Sub DesfazerFormulario()
    ' Defina a planilha onde o formulário está localizado
    Dim planilha As Worksheet
    Set planilha = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Defina os intervalos de células do formulário que você deseja desfazer
    ' Substitua os intervalos pelos seus intervalos de formulário
    Dim intervalo1 As Range
    Set intervalo1 = planilha.Range("A1:A10")
    
    Dim intervalo2 As Range
    Set intervalo2 = planilha.Range("B1:B10")
    
    ' Desfazer o formulário, limpando os valores dos intervalos
    intervalo1.ClearContents
    intervalo2.ClearContents
    ' Continue limpando outros intervalos conforme necessário
End Sub

96 – Adicionar um botão de refazer formulário à planilha

Sub RefazerFormulario()
    Dim planilha As Worksheet
    Set planilha = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    
    ' Substitua os intervalos pelos seus intervalos de formulário
    planilha.Range("A1:A10").ClearContents
    planilha.Range("B1:B10").ClearContents
    ' Continue limpando outros intervalos conforme necessário
End Sub

97 – Adicionar um botão de classificar dados à planilha

Adicionar um botão para classificar dados em uma planilha pode ser feito por meio da barra de ferramentas de controle do Excel. Aqui estão os passos para adicionar um botão de classificação à planilha:

1. Abra a planilha onde você deseja adicionar o botão.

2. Acesse a guia “Desenvolvedor”. Se você não vê essa guia na faixa de opções, talvez precise ativá-la nas opções do Excel.

3. Na guia “Desenvolvedor”, clique em “Inserir” no grupo de controles. Escolha o controle de botão (Formulários) ou o controle de botão (Controles Ativos, se desejar mais opções de personalização).

4. Desenhe um botão na planilha (clique e arraste para criar o botão) e, em seguida, aparecerá a caixa de diálogo “Atribuir macro”.

5. Clique em “Nova Macro” para criar uma nova macro. Isso abrirá o Editor VBA.

6. Dentro do Editor VBA, você pode inserir o código de classificação. Aqui está um exemplo básico de código de classificação:

Sub ClassificarDados()
    Dim planilha As Worksheet
    Set planilha = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha

    ' Substitua "A1:D100" pelo intervalo que você deseja classificar
    planilha.Range("A1:D100").Sort Key1:=planilha.Range("A1"), Order1:=xlAscending, Header:=xlYes
End Sub

Lembre-se de substituir “Planilha1” pelo nome da sua planilha e ajustar o intervalo conforme necessário.

7. Depois de inserir o código, feche o Editor VBA.

8. Na caixa de diálogo “Atribuir macro”, selecione a macro que você criou (por exemplo, “ClassificarDados”) e clique em “OK”.

9. Agora, sempre que você clicar no botão, a macro será executada e os dados no intervalo especificado serão classificados.

98 – Filtrar dados de uma planilha

Sub FiltrarDados()
    Dim planilha As Worksheet
    Dim intervaloFiltro As Range
    Dim intervaloCritério As Range
    Dim critério As Range
    
    ' Defina a planilha e o intervalo de dados que você deseja filtrar
    Set planilha = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha
    Set intervaloFiltro = planilha.Range("A1:D100") ' Substitua pelo intervalo de dados que você deseja filtrar
    
    ' Defina o intervalo de critério (coluna de critérios)
    Set intervaloCritério = planilha.Range("F1:F2") ' Substitua pelo intervalo de critérios
    
    ' Aplicar filtro para cada critério no intervalo de critérios
    For Each critério In intervaloCritério
        ' Verificar se o critério não está vazio
        If critério.Value <> "" Then
            ' Aplicar filtro
            intervaloFiltro.AutoFilter Field:=1, Criteria1:=critério.Value ' Substitua 1 pelo número da coluna que você deseja filtrar
        End If
    Next critério
    
    ' Desativar o filtro
    planilha.AutoFilterMode = False
End Sub

99 – Pesquisar e colar em outra planilha palavras repetidas

Sub EncontrarPalavrasRepetidas()
    Dim planilhaOrigem As Worksheet
    Dim planilhaDestino As Worksheet
    Dim celulaOrigem As Range
    Dim celulaDestino As Range
    Dim palavra As String
    Dim encontrada As Boolean
    
    ' Definir planilhas de origem e destino
    Set planilhaOrigem = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha de origem
    Set planilhaDestino = ThisWorkbook.Sheets("Planilha2") ' Substitua "Planilha2" pelo nome da sua planilha de destino
    
    ' Limpar conteúdo da planilha de destino antes de colar
    planilhaDestino.Cells.Clear
    
    ' Percorrer todas as células na planilha de origem
    For Each celulaOrigem In planilhaOrigem.UsedRange
        palavra = celulaOrigem.Value
        encontrada = False
        
        ' Verificar se a palavra já foi encontrada na planilha de destino
        For Each celulaDestino In planilhaDestino.UsedRange
            If celulaDestino.Value = palavra Then
                encontrada = True
                Exit For
            End If
        Next celulaDestino
        
        ' Se a palavra não foi encontrada, adicioná-la na próxima linha da planilha de destino
        If Not encontrada And palavra <> "" Then
            planilhaDestino.Cells(planilhaDestino.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = palavra
        End If
    Next celulaOrigem
End Sub

100 – Mesclar células de uma planilha

Sub MesclarCelulasComComentarios()
    ' Definir a planilha de destino
    Dim planilha As Worksheet
    Set planilha = ThisWorkbook.Sheets("Planilha1") ' Substitua "Planilha1" pelo nome da sua planilha

    ' Mesclar células e adicionar comentários
    With planilha
        ' Mesclar células
        .Range("A1:B2").Merge ' Substitua "A1:B2" pelo intervalo que você deseja mesclar
        
        ' Adicionar conteúdo à célula mesclada
        .Range("A1").Value = "Células Mescladas"
        
        ' Adicionar comentário à célula mesclada
        .Range("A1").AddComment "Essas células foram mescladas para destacar informações importantes."
    End With
End Sub

Tags: | | | | | | | | | |

Precisa de Aulas de Excel?

Aulas de Excel, trabalhos e planilhas personalizadas!

Fale Comigo Agora* Basta clicar no botão acima

Sobre o Autor

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solicitar exportação de dados

Utilize este formulário para solicitar uma cópia dos seus dados neste site.

Solicitar remoção de dados

Utilize este formulário para solicitar a remoção dos seus dados neste site.

Solicitar retificação de dados

Utilize este formulário para solicitar a retificação dos seus dados neste site. Aqui você pode corrigir ou atualizar seus dados por exemplo.

Solicitar cancelamento de inscrição

Utilize este formulário para solicitar o cancelamento de inscrição do seu e-mail em nossas Listas de E-mail.