Escolar Documentos
Profissional Documentos
Cultura Documentos
Function → Quando o processamento necessita devolver algum resultado. Pode ser usada
para criação de função direta na planilha. A exigência para que isso seja possível, é criá-las
com o modificador Public, que é o padrão caso seja omitido.
Objetos: tudo que pode ser mexido - célula, planilha, pasta de trabalho…
2. Aplicações:
Sub test()
'Selecionar a primeira planilha da pasta de trabalho'
Worksheets(1).Select
End Sub
Sub test2()
' Selecionar uma planilha específica pelo nome'
Worksheets("Plan1").Select
End Sub
Sub test3()
' Ocultar planilha utilizando sua propriedade(visible)'
Worksheets(1).Visible = False
End Sub
Sub test4()
' Reaparecendo a planilha com a propriedade visible'
Worksheets(1).Visible = True
End Sub
Obs: Na propriedade visible podemos ocultar a planilha de forma a não ser reexibida na pasta
de trabalho, somente no editor de vba ( travar em oculto).
Sub test5()
' Ocultando através do nome do projeto'
Plan1.Visible = xlSheetVeryHidden ( sem poder reexibir)
End Sub
Sub Copiar_transpor()
' Copiar valores das células em A e transpor a partir de B'
Plan1.Range("A1:A12").Copy
Plan1.Range("B1").PasteSpecial xlPasteAll, xlPasteSpecialOperationNone, False, True
' PASTESPECIAL COLAR TUDO, SEM FAZER OPERAÇÃO, COM ESPAÇOS VAZIOS, TRANSPOR'
End Sub
Sub Copiar_transpor2()
' Copiar valores das células em A e transpor a partir de B2'
Plan1.Range("A1:A12").Copy
Plan1.Range("B2").PasteSpecial xlPasteAll, xlPasteSpecialOperationNone, True, True
' PASTESPECIAL COLAR TUDO, SEM FAZER OPERAÇÃO, SEM ESPAÇOS VAZIOS, TRANSPOR'
End Sub
Sub Hierarquia()
' Ordem de hierarquia '
Workbooks("Pasta1").Worksheets(1).Range("A1").Select
End Sub
Sub Exercicio1()
' Crie uma macro que selecione o intervalo A1:B10 utilizando a propriedade range'
Worksheets(1).Range("A1:B10").Select
'ou'
[A1:B10].Select
End Sub
Sub Exercicio2()
'Crie uma macro que selecione o intervalo C2:D4 utilizando a propriedade cells '
Range(Cells(2, 3), Cells(4, 4)).Select
'Cells ( indice da linha, indice da coluna)'
End Sub
Sub Exercicio3()
'Crie uma macro que selecione a celula D4 a partir da A1 utilizando a propriedade offset
(desloca)'
Range("A1").Offset(3, 3).Select
'offset(casas para direita; casas para baixo), para esquerda e para cima utiliza-se indices
negativos'
End Sub
Sub Exercicio4()
'Crie uma macro que seleciona o intervalo A1:D5 utilizando a propriedade Resize( aumenta
o intervalo)'
' Aumentando o intervalo de 1 linha e 1 coluna "A1" para um intervalo de 5 linhas e 4
colunas'
Range("A1").Resize(5, 4).Select
End Sub
Sub Exercicio5()
' Crie uma macro que selecione a linha 2'
Rows(2).Select
End Sub
Sub Exercicio6()
' Crie uma macro que selecione a coluna 2'
Columns(2).Select
End Sub
Sub Exercicio7()
'Crie uma macro que seleciona o intervalo do A1 até a celula ativa utilizando a
propriedade Resize( aumenta o intervalo)'
Range("A1").Resize(ActiveCell.Row, ActiveCell.Column).Select
End Sub
Sub apresentação()
'Mensagem aparecendo ao usuário do excel'
Msgbox " Olá planilheiros!" & Chr(13) & " Seja bem vindo", vbInformation, " Primeiro
contato"
'Msgbox " Mensagem a ser exibida" chr(13)= enter para descer texto, tipo de texto, titulo da
mensagem'
' Mensagem permitindo retorno do usuário'
Plan3.Range("A1") = InputBox(" Então vamos lá?", "Primeiro contato", "sim")
' Lugar onde vou armazenar a informação do usuário = inputbox( " texto a ser exibido",
titulo, resposta programa'
End Sub
Tipo
Boolean valores booleano - True ou False
BYTE NÚMEROS SEM SINAL ENTRE 0 E 225
CURRENCY MOEDA
DATE DATAS
DECIMAL NUMERO DECIMAL
DOUBLO 4,94 x 10 ^324 PARA VALORES NEGATIVOS E DESDE 1,797693134862 E 398 até 4,94 x 10 ^324 para valores
positivos.
Integer numeros inteiros entre -32768 e 32767
Long numeros inteiros entre milhoes
Object referencia a um objeto do excel
Single numero real desde -3,40 x 10^38 até -1,40 x 10^-40 para negativos, e 3,40 x 10^38 atée 1,40 x 10^-45 para
positivos
String conjunto de caracteres
Variant qualquer tipo de dados( utiliza mais memoria)
Sub declarandovariavel()
Msgbox " " & Nome & " você está com " & Result & " dias ", vbInformation, " Declarando
variavel"
End Sub
5. Estruturas de decisão:
IF … Then
Com uma condição.
Sub avaliarvencimento()
6. Estruturas de repetição:
For… To
Sub Avaliarsaldo() - ‘ Escreve qual linha é debito e quAL é credito’
Dim i As Integer
Dim UL As Long
'Para descobrir a ultima linha'
UL = Plan2.Cells(Rows.Count, 2).End(xlUp).Row
For i = 10 To UL
' Linha que começa a rodar i=10'
If Plan2.Cells(i, 2) < 0 Then
Plan2.Cells(i, 3) = " debito"
Else
Plan2.Cells(i, 3) = " credito"
End If
Next
End SUB
Sub Limparconteudo()
'Limpar linha que contenha o x'
Dim i As Integer
Dim UL As Long
UL = Plan2.Cells(Rows.Count, 2).End(xlUp).Row
For i = 10 To UL
If Plan2.Cells(i, 4) <>Empty Then
Plan2.Rows(i).ClearContents
Exit for ‘ Para sair do loop’
End If
Next
End Sub
Sub Organizarguiche()
Dim UL As Long
Dim X As Long
Dim senha As Integer
UL = Plan4.Cells(Rows.Count, 2).End(xlUp).Row
' Descobrir onde está o X'
X = Plan4.Cells(Rows.Count, 4).End(xlUp).Row
If X = UL Then
'Se tiver no ultimo volta para o primeiro'
Plan4.Cells(X, 4) = empyt 'vazio'
Plan4.Cells(5, 4) = "x"
Plan4.Cells(5, 3) = senha
Plan4.[j10] = "Senha" & senha & ". Por favor, comparecer ao guichê de número" &
Plan4.[b5] & ". O atendente " & _
Plan4.[A5] & " irá te atender."
Else
' Para outras situações'
Plan4.Cells(X, 4) = empyt
Plan4.Cells(X + 1, 4) = "x"
Plan4.Cells(X + 1, 3) = senha
Plan4.[j10] = "Senha " & senha & ". Por favor, comparecer ao guichê de número " &
Plan4.Cells(X + 1, 2) & ". O atendente " & _
Plan4.Cells(X + 1, 1) & " irá te atender."
End If
End Sub
Sub chamar()
Application.Speech.Speak (Plan4.[j10]) ‘ EXCEL FALAR ‘
End Sub
INTERFACE GRÁFICA
End Sub
End Sub
Debug.Print (" Produtos totais: " & prodtotal & " e produtos vendidos: " & prodvendido)
Exemplo:
Sub relatorio()
' A quantidade de produtos vendidos recebe a soma das células na coluna c que estão com
SIM '
' Worksheetfunction é utilizado para usar formulas do excel, countif= cont.se'
prodtotal = WorksheetFunction.CountA(Plan5.Columns("A")) - 1
UserForm1.Txprodt.Value = prodtotal
UserForm1.Txprodv.Value = prodvendido
' Chamar o formulario'
MsgBox " Analise realizada", vbInformation, " "
UserForm1.Show
End Sub
qtlinhas = WorksheetFunction.CountA(Plan5.Columns("A"))
Next
' chamar a macro para organizar '
Call Organizar - organizar é uma macro para tirar os espaços vazios entre as ceélulas que
sobraram ‘
SOMAR CELULAS
Sub ENTER()
plani6.Show’ PLANI6 é o formulário criado’
End Sub
Unload Me
End Sub
'
Private Sub UserForm_Initialize()
Me.txID.Value = ID
Me.Txentrada.Value = Date
End Sub
UL = WorksheetFunction.CountA(Plan7.Columns("A"))
Plan7.Cells(UL + 3, 1) = Cadastro.txID.Value
Plan7.Cells(UL + 3, 2) = Date
Plan7.Cells(UL + 3, 3) = nome
Plan7.Cells(UL + 3, 4) = idade
Plan7.Cells(UL + 3, 5) = atividade
Plan7.Cells(UL + 3, 6) = mensalidade
Plan7.Cells(UL + 3, 7) = Date + 30
MsgBox " Cadastro concluído"
Unload Cadastro
End Sub