Macros para novatos

Abaixo tentamos descrever as macros mais usadas. Lembrando que para utilizar estes códigos devemos abrir o Excel, entrar no editor do VBA (Alt + F11) e inserir um módulo.

Sub Ocultando_coluna()

' Macro gravada por Dicas de Excel

Columns("B:B").Select

Selection.EntireColumn.Hidden = True

End Sub

Sub Ocultar_Coluna()

' Forma abreviada

' Macro gravada por Dicas de Excel

Columns("C:C").EntireColumn.Hidden = True ' para reexibir altere true por false

End Sub

Sub Exibindo_coluna()

' Macro gravada por Dicas de Excel

Columns("B:B").Select

Selection.EntireColumn.Hidden = False

End Sub

Sub Exibindo_coluna2()

' Forma abreviada

' Macro gravada por Dicas de Excel

Columns("C:C").EntireColumn.Hidden = False

End Sub

Sub Selecionando_Planilha()

' Macro gravada por Dicas de Excel

Sheets("Plan2").Select

End Sub

Sub Selecinar_Célula()

' Macro gravada por Dicas de Excel

Range("B10").Select

End Sub

Sub Preencher_Célula()

' Macro gravada por Dicas de Excel

Range("B8").Select

ActiveCell.FormulaR1C1 = 10 ' vale lembrar que quando for referenciar números não é necessário o uso das aspas

End Sub

Sub Ocultar_Linha()

' Macro gravada por Dicas de Excel

Rows("8:8").EntireRow.Hidden = True ' para reexibir altere true por false

End Sub

Sub RenomearPlanilha()

' Macro gravada por Dicas de Excel

Sheets("Plan1").Name = "Teste"

End Sub

Sub Copiar_e_colar()

' Macro gravada por Dicas de Excel

Range("B5").Select

Selection.Copy

Range("B7").Select

ActiveSheet.Paste

End Sub

Sub imprimir()

' Macro gravada por Dicas de Excel

Sheets("Plan2").Select

ActiveWindow.SelectedSheets.PrintOut

End Sub

Sub MaximizarTela()

' Macro gravada por Dicas de Excel

ActiveWindow.WindowState = xlMaximized 'para minimizar altere para xlMinimized

End Sub

Sub Macro_otimizada()

' Macro gravada por Dicas de Excel

' Nesta macro iremos criar um novo documento, inserir dados em células, renomear planilhas e criar uma formula simples.

‘Se houver alguma duvida sobre a macro criada refaça passo a passo até o total entendimento.

Workbooks.Add

ActiveWorkbook.SaveAs "C:\Meus documentos\Dados.xls"

ActiveWorkbook.Worksheets.Add

ActiveSheet.Name = "Dados"

Workbooks.Add

ActiveWorkbook.SaveAs "C:\Meus documentos\Resultados.xls"

ActiveWorkbook.Worksheets.Add

ActiveSheet.Name = "Resultados"

Workbooks("Dados.xls").Sheets("Dados").Range("A1").Value = 10

Workbooks("Dados.xls").Sheets("Dados").Range("A2").Value = 20

Workbooks("Dados.xls").Sheets("Dados").Range("A3").Value = 30

Workbooks("Dados.xls").Sheets("Dados").Range("B1").Value = 100

Workbooks("Dados.xls").Sheets("Dados").Range("B2").Value = 200

Workbooks("Dados.xls").Sheets("Dados").Range("B3").Value = 300

Workbooks("Dados.xls").Sheets("Dados").Range("C1").Value = 1000

Workbooks("Dados.xls").Sheets("Dados").Range("C2").Value = 2000

Workbooks("Dados.xls").Sheets("Dados").Range("C3").Value = 3000

Workbooks("Resultados.xls").Sheets("Resultados").Range("A1").Value = "Total da Coluna A"

Workbooks("Resultados.xls").Sheets("Resultados").Range("B1").Value = "Total da Coluna B"

Workbooks("Resultados.xls").Sheets("Resultados").Range("C1").Value = "Total da Coluna C"

Workbooks("Resultados.xls").Sheets("Resultados").Range("A2").Value = "=SUM([Dados.xls]Dados!$A$1:$A$3)"

Workbooks("Resultados.xls").Sheets("Resultados").Range("B2").Value = "=SUM([Dados.xls]Dados!$B$1:$B$3)"

Workbooks("Resultados.xls").Sheets("Resultados").Range("C2").Value = "=SUM([Dados.xls]Dados!$C$1:$C$3)"

End Sub

3 comentários:

Anônimo disse...

Olá, preciso de uma ajuda com uma macro em VBA do Excel.
É que eu precisava de uma certa planilha e eu resolvi adaptar uma que eu já possuía para a nova que eu precisava e me surgiu om problema na VBA e eu eu gostaria de aprender sobre o script pra poder resolver meu problema, a seguir:

Sub CopiaValores(pOrigemDest As String)
ActiveSheet.Unprotect
Dim wCol As Integer

For wCol = 14 To 48 'coluna N até AV
If Cells(14, wCol).Value <> "" Then
If pOrigemDest = "base p/ form" Then
If Cells(14, wCol).Value = "" Then
Range(Cells(13, wCol).Value).ClearContents
Else
Range(Cells(14, wCol).Value).Value = Cells(13, wCol).Value
End If
Range("A3").Select
End If
If pOrigemDest = "form p/ base" Then
Cells(14, wCol).Value = Range(Cells(15, wCol).Value).Value
End If
End If
Next
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

preciso saber o que cada comando faz e o resultado de cada ação.
Desde já agradeço.

Fernando disse...

valeeeeu!!!

Lucinaldo disse...

Gostei das dicas, simples e funcionais.Uso de linguagem simples e de fácil entendimento.vlw muito.