Macro Excel Exemplos

  1. Cálculo de média e desvio padrão

Uma das funções mais comuns do Excel é o cálculo de média e desvio padrão de um conjunto de dados. Para isso, podemos usar as funções AVERAGE e STDEV, respectivamente.

Sub CalcularMediaDesvioPadrao()

' Definir as variáveis Dim NumeroValores As Integer Dim Valores() As Double Dim Media As Double Dim DesvioPadrao As Double ' Definir o número de valores a serem inseridos NumeroValores = InputBox("Digite o número de valores:") ' Redimensionar o array de valores ReDim Valores(1 To NumeroValores) ' Inserir os valores For i = 1 To NumeroValoresValores(i) = InputBox("Digite o valor " & i & ":") Next i ' Calcular a média e o desvio padrão Media = Application.WorksheetFunction.Average(Valores) DesvioPadrao = Application.WorksheetFunction.StDev(Valores) ' Exibir os resultados MsgBox "A média é " & Media & " e o desvio padrão é " & DesvioPadrao 

End Sub

  1. Ordenação de dados

Outra função útil do Excel é a ordenação de dados. Podemos criar uma macro que ordene uma coluna de valores em ordem crescente ou decrescente.

Sub Ordenar_Dados()

' Selecionar a coluna a ser ordenada Range("A1").Select Range(Selection, Selection.End(xlDown)).Select ' Ordenar os dados em ordem crescente ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Planilha1").Sort.SortFields.Add2 Key:=Range("A1"), _SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Planilha1").Sort.SetRange Range("A1").CurrentRegion.Header = xlNo.MatchCase = False.Orientation = xlTopToBottom.SortMethod = xlPinYin.Apply End With ' Exibir a mensagem de conclusão MsgBox "Os dados foram ordenados em ordem crescente." 

End Sub

  1. Criação de gráficos

O Excel também permite criar gráficos para visualizar dados de forma mais clara. Podemos criar uma macro que crie um gráfico de linha com os valores de uma coluna.

Sub CriarGraficoLinha()

' Selecionar os dados a serem incluídos no gráfico Range("A1:B10").Select ' Criar o gráfico ActiveSheet.Shapes.AddChart2(251, xlLine).Select ActiveChart.SetSourceData Source:=Range("Planilha1!$A$1:$B$10") ActiveChart.SetElement (msoElementChartTitleAboveChart) ActiveChart.ChartTitle.Text = "Dados de Exemplo" ActiveChart.Axes(xlCategory).HasTitle = True ActiveChart.Axes(xlCategory).AxisTitle.Text = "Tempo" ActiveChart.Axes(xlValue).HasTitle = True ActiveChart.Axes(xlValue).AxisTitle.Text = "Valor" ' Exibir a mensagem de conclusão MsgBox "O gráfico de linha foi criado com sucesso." 

End Sub

Comentários