1 - Macro para inserir
o número 15 na célula A1
Sub Valor()
Range("a1") = 15
End Sub
'......................'
'Para testar tecle F5 com o cursor pulsando na linha,
Range("a1").value=15. Vá ao Excel e veja se o número foi incluído na
célula A1.
'2 - Inserindo um texto
na célula A2
Sub Texto()
Range("a2") = "Melância"
End Sub
'......................'
'3 - Copiar células
Sub Copiar()
Range("a1:a2").Copy
End Sub
'......................'
'4 - Colar
Sub Colar()
Range("b1").Select
ActiveSheet.Paste
End Sub
'......................'
'5 - Apagar o conteúdo
das células A1 até B2
Sub Apagar()
Range("a1:b2").ClearContents
End Sub
'......................'
'6 - Definir valor de todas as células selecionadas
Sub Selecao()
Range("a1:a15").Select
Selection = "Lançamento Conferido"
End Sub
'......................'
'7 - Auto ajustar as colunas de acordo com os textos
existentes na coluna A
Sub Ajustar()
Columns("a").AutoFit
End Sub
'......................'
'8 - Inserir linha
Sub InserirLinha()
Range("a4").EntireRow.Insert
End Sub
'......................'
'9 - Excluir linha
Sub ExcluirLinha()
Range("a5:a16").EntireRow.Delete
End Sub
'......................'
'10 - Inserir planilhas
Sub
InserirPlan()
Sheets.Add
End Sub
'......................'
'11 - Excluir planilhas
Sub ExcluirPlan()
Sheets("Plan1").Delete
End Sub
'......................'
'
12 - Formatar cor de
fundo
Sub Cor()
Range("a1").Interior.ColorIndex = 15
End Sub
'......................'
'13 - Formatar cor da
fonte
Sub CorFonte()
Range("a2") = "Cor da Fonte"
Range("a2").Font.ColorIndex = 3
End Sub
'......................'
'14 - Formatar itálico
Sub Itálico()
Range("a2").Font.Italic = True
End Sub
'......................'
'15 - Formatar negrito
Sub Negrito()
Range("a2").Font.Bold = True
End Sub
'......................'
'16 - Linhas de grade (false oculta a grade, true exibe a
grade)
Sub Grade()
ActiveWindow.DisplayGridlines = False
End Sub
'......................'
'17 - Nomear uma
planilha
Sub Nome()
Sheets("Plan2").Name
= "Controle"
End Sub
'......................'
'18 - Selecionar um
intervalo
Sub Intervalo()
Range("A1:A10").Select
End Sub
'......................'
'19 - Selecionar uma
célula
Sub SelCel()
Range("a5").Select
End Sub
'......................'
'20 - Selecionar dois
intervalos
Sub SelIntervalos()
Range("A1:A10,C1:C10").Select
End Sub
'......................'
'21 - Selecionar duas
células
Sub SelCels()
Range("A10,C10").Select
End Sub
'......................'
'22 - Selecionar uma
planilha
Sub SelPlan()
Sheets("Plan3").Select
End Sub
'......................'
'23 - Vimos diversos exemplos individualmente, agora
experimente juntar algumas ações na mesma macro, como por exemplo:
Sub Macro1()
Range("a1") = "Produto"
Range("b1") = "Quantidade"
Range("a1:b1").Font.Bold
= True
End Sub
'......................'
'Continuaremos trabalhando com códigos simples.
'Vamos aprender os códigos linha a linha.
'24 - Macro para
formatação de células
Sub Formatacao()
Range("A1", "I25").Select
Selection.Font.Bold = True
Selection.Font.ColorIndex = 2
Selection.Interior.ColorIndex = 11
End Sub
'......................'
'25 - Limpar formatação
de células
Sub LimparFormatacao()
Range("A1", "I25").ClearFormats
End Sub
'......................'
'26 - Apagar células
Sub ApagarCelulas()
Cells.Clear
End Sub
'......................'
'27 - Selecionar último registro
Sub IrParaBaixo()
ActiveCell.End(xlDown).Select
End Sub
'......................'
'28 - Selecionar primeiro registro
Sub IrParaCima()
ActiveCell.End(xlUp).Select
End Sub
'......................'
'29 - Fechar arquivo
Sub FecharArquivo()
ActiveWorkbook.Close
End Sub
'......................'
'30 - Inserir uma fórmula de multiplicação
Sub Formulas1()
Range("a4") = 5
Range("a5") = Range("a4") * 2
End Sub
'......................'
'31 - Inserir uma fórmula de adição
Sub Formulas2()
Range("a6") = Range("a5") + 1000
End Sub
'......................'
'32 - Inserir uma fórmula de subtração
Sub Formulas3()
Range("a7") = Range("a6") -
Range("a5")
End Sub
'......................'
'33 - Inserir planilhas
Sub InserirDuasPlanAposPlan1()
Sheets.Add , Sheets(1), 2
End Sub
'......................'
'34 - Inserir planilhas
Sub InserirPlanAntesPlan1()
Sheets.Add
Sheets(1), , 1
End Sub
'......................'
'35 - Inserir planilhas
Sub InserirPlanAposUltimaPlan()
Sheets.Add , Sheets(Sheets.Count), 1
End Sub
'......................'
'36 - Mostrar número de planilhas do arquivo
Sub MostrarNplanilhasExistentes()
Range("a1") = Sheets.Count
End Sub
'......................'
'37 - Nomear planilha
Sub NomearPlanilha()
Sheets("Plan1").Name = "Planilha
Renomeada"
End Sub
'......................'
'38 - Nomear arquivo
Sub NomearArquivo()
ActiveWindow.Caption = "Códigos Básicos VBA"
End Sub
'......................'
'39 - Nomear aplicativo
Sub NomearAplicativo()
Application.Caption = "Nome da sua empresa"
End Sub
'......................'
'40 - Restaurar nome do arquivo
Sub RestaurarNomeArquivo()
ActiveWindow.Caption = False
End Sub
'......................'
'41 - Restaurar nome do aplicativo
Sub RestaurarNomeAplicativo()
Application.Caption = Empty
End Sub
'......................'
'42 - Ocultar Planilha
Sub OcultarPlanilha()
Sheets("Plan2").Visible = False
End Sub
'......................'
'43 - Reexibir planilha
Sub ReexibirPlanilha()
Sheets("Plan2").Visible = True
End Sub
'......................'
'44 - Vimos diversos exemplos individualmente, agora
experimente juntar algumas ações na mesma macro, como por exemplo:
Sub Macro2()
Range("c1")
= 10
Range("c2")
= Range("c1") + 10
Range("c1:c2").Copy
Range("e1:e2").Select
ActiveSheet.Paste
Range("e3") = Range("e1") +
Range("e2")
Application.CutCopyMode = False
End Sub
'......................'
'*O código acima (Application.CutCopyMode = False) tira a
margem de seleção da cópia
'***********************************************************
' Formatação - COR DO PREENCHIMENTO
'***********************************************************
'Formatamos a cor de fundo da célula com a propriedade
Interior seguido de ColorIndex que é o número correspondente à cor.
'Para definir a cor de fundo, Azul Claro, para o intervalo de
células C2:E15, digite o código:
Sub CorFundo()
Range("C2:E15").Interior.ColorIndex = 41
End Sub
'......................'
'41 é o Índice da cor. Existem tabelas com o número
correspondente para cada cor da Paleta de Cores do Excel. Mas sempre que você
precisar desta referência, você vai parar o seu trabalho para procurar na
tabela? Não. Grave uma Macro pelo Gravador, definindo a cor de fundo de uma
célula, pare a gravação, depois abra o Módulo onde a nova Macro foi gravada e
confira o código.
'
'
'************************************************************
' Formatação - Fonte
'************************************************************
'Formatamos a fonte da célula com a propriedade Font, seguido
de Name (tipo de letra), FontStyle ou Bold ou Italic (Negrito ou Itálico), Size
(tamanho da fonte), Underline (sublinhado) e ColorIndex (cor da fonte).
'Para definir a fonte da célula A4 em, Negrito, Sublinhado,
Times New Roman, Tamanho 14 e na cor Vermelha, digite o código:
Sub Fonte()
Range("A4").Select
ActiveCell = "Nome da Empresa"
With
Range("A4").Font
.Bold = True
.Underline = xlUnderlineStyleSingle
.Name =
"Times New Roman"
.Size = 14
.ColorIndex =
3
End With
End Sub
'*With Range
e End With. Esta
expressão pode ser usada quando um código é repetido. _
'......................'
' Sem esta expressão o código acima ficaria:
Sub Fonte2()
Range("A4").Select
ActiveCell = "Nome da Empresa"
Range("A4").Font.Bold
= True
Range("A4").Font.Underline
= xlUnderlineStyleSingle
Range("A4").Font.Name = "Times New Roman"
Range("A4").Font.Size = 14
Range("A4").Font.ColorIndex = 3
End Sub
'......................'
'*Os dois códigos realizam a mesma tarefa.
Sub Formatcorrente()
'
' Formata a celula corrente
Selection.NumberFormat
= "$#,##0"
End Sub
'......................'
'*****************************************************
'Message Box
'*****************************************************
'As Message Box (caixa de mensagem) aparecem normalmente para
informar ou alertar o usuário sobre uma ação de uma macro. Por exemplo: podemos
exibir uma Message Box, com o texto "Dados atualizados com sucesso.",
quando uma macro for finalizada. Ou o texto "Favor informar a taxa."
, quando um campo obrigatório não foi preenchido.
'Para exibir uma Message Box, digite em um módulo o código:
MsgBox como no exemplo abaixo:
Sub Aviso()
MsgBox "Dados atualizados com sucesso.", ,
"Aviso"
End Sub
'......................'
'*****************************************************
'INPUT BOX
'*****************************************************
'A Input Box (caixa de texto), está em um nível mais avançado
de comunicação com o usuário, que a Message Box. Com a Input Box podemos
inserir, além do texto Prompt, uma Caixa de Texto, onde o usuário poderá
digitar dados. Os dados digitados na Caixa de Texto serão lançados na célula
que você indicar.
'Para exibir uma Input Box, digite em um módulo o código:
InputBox como no exemplo abaixo:
Sub EstadoCivil()
Range("A1") = InputBox("Informe o seu Estado
Civil:", "Cadastro")
End Sub
'......................'
...................................'
Nome: E_Marcondes
Site :
http://www.saberexcel.com.br
Email : contato@saberexcel.com e ou br
E-mail: saberexcel@msn.com (msn)
Projeto: Aprenda VBA
'...................................'
Excel VBA Estudos® -
Escola de Informática.
http://www.saberexcel.com.br
',....................'
Sub MarmazenarValor()
myValue = 500
myValue =
"Cachorro"
myValue = True
myValue =
#5/1/1995#
myValue = 125.3
End Sub
Sub MarmazenaObject()
myobject =
Range("A1")
Set myobject =
Range("A1")
End Sub
Sub SetObject()
Set myobject =
Range("A1").Interior
End Sub
Sub SetApplication()
Set myobject =
Application
End Sub
'******************************
' DECLARAÇÂO DE VARIAVEL - DIM
'******************************
'Usamos a variável DIM quando precisamos armazenar alguma_
'informação na memória do computador.
Sub MakeBook()
Dim myBook As
Workbook
Workbooks.Add
ActiveWindow.WindowState = xlMinimized
Windows.Arrange
xlArrangeStyleCascade
End Sub
Sub Marge_deLucro()
'Variáveis
Dim Custo
Dim MargemLucro
Dim PrecoVenda
'Exibe uma InputBox solicitando o preço de custo
Custo = InputBox("Digite o preço de custo:")
'Margem de 20%
MargemLucro = 0.2
'Cálculo do preço de venda
PrecoVenda = Custo / (1 - MargemLucro)
'Exibe uma MsgBox informando o preço de venda
MsgBox "O preço de venda é:" & PrecoVenda
'Lança o preço de venda na célula A1
Range("A1") = PrecoVenda
End Sub
Sub ProtectSheets()
Dim mysheet As Worksheet
Dim i As Integer
For i = 1 To Worksheets.Count
Set mysheet =
Worksheets(i)
mysheet.Select
mysheet.Protect
"SENHA", True, True, True
'mysheet.Unprotect
"SENHA"
Next i
End Sub
'...............................'
Sub LinhasDeGrade()
' Remove e Exibe linhas de grade
myGrid =
ActiveWindow.DisplayGridlines
ActiveWindow.DisplayGridlines = Not myGrid
End Sub
'...............................'
Abre o caixa de
dialogo Abrir, quando voce selecionar um arquivo
vai inserir o endereço compleo na celula A1.
'.............................'
Sub Abre_Explorer_e_grava_endereco_path_a1()
'abre a janela do explore para seleção de um aquivo
'e guarda o caminho do arquivo na celula A1
valret = Application.GetOpenFilename(filefilter:="(*.*),",
_
MultiSelect:=False)
Range("a1") = valret
End Sub
'...............................'
Sub abrir()
Cadastro.Show
End Sub
'...............................'
'..................................'
'Alguns procedimentos para inserir nas (Macros)
'inserir alguns exemplos Activate, para ativar as celulas
automaticamente
Sub Macro_tal
insira a linha de código(abaixo)
End sub
'..................................'
'Mostra msgbox o valor da celula ativa
MsgBox ActiveCell.Value
'..................................'
'Inserir palavra dentro de uma celula célula ativa
ActiveCell.FormulaR1C1 = "XXX"
'..................................'
'Inserir palavra ou frase
dentro de qualquer uma celula
Range("d6").Value = "XXX"
'..................................'
'Inserir formula dentro de uma celula nomeada
Range("Celula_Total").FormulaR1C1 = 99
'..................................'
'Inserindo um cálculo em uma determinada célula nomeada
Range("Mult_Total")
= Range("B12") * 2
'..................................'
'Mostra o endereço da range Nome_Celula (fácil montar a
macro)
Sub Mostra_Endereco_range()
MsgBox Range("Nome_Celula").Address
End Sub
'..................................'
'Mostra o conteúdo de uma celula ou range
MsgBox Range("Y3012").Value
'..................................'
'Esta macro inseri valores em
determinada range
Sheets("Plan1").Range("F1").Value
= 110
'..................................'
'Seleciona no fim uma celula abaixo
Selection.End(xlDown).Select
'..................................'
'Seleciona no fim para direita
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Range("A1").Select
'..................................'
'Seleciona fim uma celula para esquerda
Selection.End(xlToLeft).Select
'..................................'
'Seleciona no fim uma celula para cima
Selection.End(xlUp).Select
'..................................'
'Seleciona uma casa para baixo
ActiveCell.Offset(1, 0).Range("A1").Select
'..................................'
'Selecina uma casa para cima
ActiveCell.Offset(-1, 0).Range("A1").Select
'..................................'
'Selecina uma celula para direita
ActiveCell.Offset(0, -1).Range("A1").Select
'..................................'
'Seleciona uma celula para esquerda
ActiveCell.Offset(0, 1).Range("A1").Select
'..................................'
'seleciona o parametro Range("A1:C4") e diminui o
tamanho do
'mesmo ao acionar a macro
ActiveCell.Offset(-3, -2).Range("A1:C4").Select
'..................................'
'Inseri na range nomeada um valor de n. 5
Range("Minha_Range").Columns(1).Value = 5
'..................................'
'Inseri na coluna 1 fonte negrito
Worksheets("Plan1").Columns(1).Font.Bold
= True
'..................................'
0 Comentários
POR FAVOR, MODEREM NO VOCABULÁRIO AO POSTAR COMENTÁRIOS, PODE LHE CAUSAR MUITOS PROBLEMAS.