Escolar Documentos
Profissional Documentos
Cultura Documentos
COPIAR DE UMA CLULA PARA OUTRA VBA Sub copiar() Range("b5").Select Clula que vai ser copiada Selection.Copy Range("a2").Select Clula que vai receber o conteudo copiado ActiveSheet.Paste Sheets(plan2).Select Seleciona a planilha 2 Range(a1).Select Seleciona a clula A1 da planilha 2 ActiveSheet.Paste Cola na clula A1 da planilha 2 Application.CutCopyMode = False Desseleciona a clula que foi copiada End Sub PULA PARA A CLULA VAZIA ABAIXO (PREENCHIMENTO DE FORMULRIO) Private Sub CommandButton1_Click() Range("a3").Select Selection.EntireRow.Insert 'Insere uma linha na planilha Range("a3") = TextBox1.Text 'Recebe o conteudo da textbox1 Range("b3") = TextBox2.Text Range("a3").Select End Sub RowCount = Worksheets("Plan1").Range("A1").CurrentRegion.Rows.Count Worksheets("Plan1").Range("A1").Offset(RowCount, 0).Value = TextBox1.Text COMANDO PROCV NO VBA EXCEL Sub Teste_PROCV() [G1].FormulaLocal = "=PROCV(F1;A1:B20;2;0)" End Sub MsgBox Concatenando (&) MsgBox "O maior : " & valor2, , "resultado" O ttulo da msgbox sera resultado, e a mensagem que aparecer ser O maior : &valor2, sendo que o sinal & junta (concatena) a mensagem com a varivel valor2 (ser mostrado o valor da varivel). Iniciando o formulrio junto com a planilha Abra o editor VBA, clique em EstaPasta_de_trabalho, na tela ao lado escolha workbooks e depois escreva o cdigo: Userform1.Open Userform1 o nome do formulrio, que pode ser outro nome Ficar assim: Private Sub Workbook_Open() UserForm1.Show UserForm1 o nome do formulrio End Sub SELECIONAR VARIAS LINHAS Sub Seleciona() Set myunion = Union(Range("a1"), Range("d5"), Range("b1:b5")) myunion.Select End Sub PULAR LINHA Private Sub PularLinha_Click() ActiveCell.Offset(1, 0).Activate Esse comando vai pulando para a linha de baixo ActiveCell.Offset(-1, 0).Activate Esse comando vai pulando para a linha de cima ActiveCell.Offset(0, 1).Activate Esse comando vai pulando para a clula da direita ActiveCell.Offset(0, -1).Activate Esse comando vai pulando para a clula da esquerda ActiveCell.Offset(1, 0).Range("b2").Select Pula uma linha para baixo a partir da clula B2 End Sub
FORMATANDO A CLULA Range("d4").Interior.ColorIndex = 36 36 referente a cor amarela Range(a1).HorizontalAlignment = xlCenter Centraliza o contedo da clula ActiveCell.BorderAround (1) Adiciona borda, o numero entre parenteses refere-se ao tipo de borda. 1 = Borda Simples e 9 = Borda Dupla [b2].BorderAround (9) Tambm adciona borda este mtodo ActiveCell.Characters.Font.Size = 22 Altera o tamanho da Fonte ActiveCell.Characters.Font.Name = "algerian" Altera o tipo da fonte para Algerian [b2].Characters.Font.Name = "algerian" Esse mtodo tambm altera a fonte ActiveCell.Characters(Start:=2, Length:=2).Font.Name = Algerian Esse mtodo muda somente a partir da 2 letra (Start := 2) do que estiver escrito na clula selecionada e apenas 2 caracteres (Length := 2). Por exemplo: Se digita-se marcelo na clula apenas a letra a e r ficaria no estilo Algerian. ActiveCell.Font.FontStyle = "itlico" Mudo o estilo da Fonte Columns("b:b").AutoFit Adapta o tamanho da coluna ao tamanho da escrita Rows("2:2").AutoFit Adapta o tamanho da linha ao tamanho da escrita Range("b3").FormulaLocal = "=pri.maiuscula(b2)" converte a incial da String em maiscula, no caso b3 recebe a string digitada em b2 com a inicial j maiscula Rows("1:1").RowHeight = 18 Aumenta o tamanho da linha Columns("b:b").ColumnWidth = 20 Aumenta o tamanho da coluna Range("a2") = UCase(Range("a1")) A clula A2 recebe a string digitada em A1 (minscula) j convertido em maisculo. ADCIONANDO COMENTRIOS Range("b2").AddComment ("Marcelo") Adciona o comentrio Marcelo na clula B2 ActiveCell.AddComment (Marcelo) Adciona o comentrio Marcelo na clula selecionada ActiveCell.ClearComments Limpa o comentrio ActiveCell.AddComment.Text Text:="Marcelo" & Chr(10) & "maisa" Adciona comentrio, chr(10) para pular linha COMANDO FIND (PESQUISAR) Private Sub CommandButton1_Click() On Error GoTo erro Comando para imprimir mensangem de erro se nada for encontrado If TextBox1.Text = "" Then Imprime uma mensagem se a pesquisa estiver em branco MsgBox "Informe o valor a ser procurado", , "Pesquisar" End If Cells.Find(what:=TextBox1, after:=ActiveCell, lookat:=xlPart).Activate Comando para pesquisar Exit Sub erro: MsgBox "Nada encontrado", , "ERRO" Mensagem de erro(especificado acima) quando o texto pesquisado no encontrado End Sub CONTADOR DE REGISTROS Label1 = Application.WorksheetFunction.CountA(Plan1.Columns(1)) Contador para a coluna 1, caso queira comear a contar a partir de uma determinada linha coloque por exemplo: -1 para contar a partir da segunda linha da coluna escolhida, no exemplo aqui coluna 1 (Columns(1)) Label1 = (Application.WorksheetFunction.CountIf(Columns("a:a"), TextBox1.Text)) Nesse exemplo contado as clulas que se repetem de acordo com o critrio adotado, aqui TextBox1.Text ira receber algum texto e se esse texto se repetir na Coluna A ento ser contado quantas vezes se repetiu. CRIANDO UM CONTADOR COM O BOTAO SPINBUTTON Private Sub SpinButton_SpinDown() Procedimento do boto SpinButton declarado na
MOSTRAR MENSAGEM EM HORARIO ESPECIFICADO Sub teste() Application.OnTime earliesttime:=TimeValue("10:54AM"), PROCEDURE:="TESTE2" Chama a Sub Teste2 no horario especificado: 10:54AM). End Sub Sub teste2() MsgBox "Ola Marcelo" End Sub
CONCATENANDO O COMANDO RANGE COM O VALOR DE UMA VARIVEL Sub teste() Dim a As Single a=3 A variavel A recebe valor 3 Range("a" & a) = "marcelo" Nesse exemplo ser escrito marcelo na clula A3 End Sub CHAMANDO AS FUNES DISPONVEIS NO EXCEL WorksheetFunction.Sum(Range(a1:a5)) Nesse exemplo estamos somando de A1 at A5 Range(b1).FormulaLocal = =Soma(a1:a5) Esse exemplo tambm faz a soma CRIANDO UMA VARIVEL ESTTICA Sub acumulador() Static total Declarando uma varivel esttica Dim a As Integer x = Range("a1").Value y = Range("b1").Value z=x-y total = total + z Cdigo pra ir sempre somando, incrementando Range("c1").Value = total End Sub UTILIZANDO O COMANDO SELECT Sub Seleo() ' Exemplo do comando Select / End Select Dim x As Integer x = InputBox("Informe um valor") Select Case x Case Is < 0 Caso x seja menor que zero entao... MsgBox "Numero Negativo" Case 0 To 10 Caso x seja menor/igual a 10 entao... MsgBox "Numero positivo" Case Is > 10 Caso x seja maior que 10 entao... MsgBox "Numero positivo maior que 10" End Select End Sub CASE
Exemplo: Public Sub TesteAppInputBox() Dim num As Long num = Application.InputBox("Digite um valor numrico", "Application.InputBox", "Valor numrico", , , , , 1) MsgBox "O valor digitado foi: " & num End Sub CANCELANDO INPUTBOX Sub teste() Aqui estou usando o Application.InputBox Dim erro Dim x erro: x = Application.InputBox("informe um numero", , , , , , 1) If x = False Then Exit Sub End If If IsNumeric(x) = False Then MsgBox "isso no um numero" GoTo erro Else MsgBox x End If End Sub