2º EXEMPLO
Vamos melhorar o código que criamos no exemplo anterior. Precisamos encontrar uma forma de salvar os dados em linhas diferentes. Isto porque não podemos mudar a referência da célula no código, todas as vezes que precisarmos salvar um novo dado. Explico melhor - No código criado no 1º EXEMPLO, programamos salvar os dados sempre na RANGE(“A1”). Caso quiséssemos salvar mais um registro, precisaríamos, no próprio código, mudar esta referência, para RANGE(“A2”) por exemplo.
Nem pensar, cê tá doido sô!!!. O VBA tem o objetivo de facilitar e agilizar processos, e é isto que vamos fazer. Veja as alterações propostas no código do 1º EXEMPLO.
CÓDIGO PARA COPIAR
Private Sub CommandButton1_Click()
'Declaramos a variável que receberá a planilha
Dim Planilha As Worksheet
'Declaramos uma variável que registrará o número da linha que o dado digitado no formulário será salvo.
'Ela servirá ainda como um contador que será incrementado todas as vezes que clicarmos no botão.
Dim Linha As Integer
'Informamos ao VBA, qual será a planilha que usaremos.
Set Planilha = Worksheets("plan4")
'Criamos um bloco para trabalharmos com a planilha selecionada. Tudo que estiver dentro deste bloco estará
'relacionado à Plan4.
With Planilha
'Agora, algo muito importante. Nossa variável Linha terá a função de identificar qual é a última linha
'utilizada na planilha. A propriedade UsedRange identifica a ultima celula que está sendo utilizada, fazendo
'uma contagem das linhas Rows.Count. Como queremos a linha subsequente para salvarmos os dados, diremos
'que será a última linha + 1.
Linha = .UsedRange.Rows.Count + 1
'Fazemos uma referência a 1ª linha e 1ª coluna da plan4, dizendo que o nome ou valor que será salvo nesta célula,
'será o mesmo digitado na caixa de texto que criamos
.Cells(Linha, 1).Value = Me.TextBox1.Value
End With
'Limpamos a textbox1 para que possamos começar nova digitação
Me.TextBox1.Value = ""
'Voltamos o foco automaticamente para a textbox1
Me.TextBox1.SetFocus
End Sub
Private Sub CommandButton1_Click()
'Declaramos a variável que receberá a planilha
Dim Planilha As Worksheet
'Declaramos uma variável que registrará o número da linha que o dado digitado no formulário será salvo.
'Ela servirá ainda como um contador que será incrementado todas as vezes que clicarmos no botão.
Dim Linha As Integer
'Informamos ao VBA, qual será a planilha que usaremos.
Set Planilha = Worksheets("plan4")
'Criamos um bloco para trabalharmos com a planilha selecionada. Tudo que estiver dentro deste bloco estará
'relacionado à Plan4.
With Planilha
'Agora, algo muito importante. Nossa variável Linha terá a função de identificar qual é a última linha
'utilizada na planilha. A propriedade UsedRange identifica a ultima celula que está sendo utilizada, fazendo
'uma contagem das linhas Rows.Count. Como queremos a linha subsequente para salvarmos os dados, diremos
'que será a última linha + 1.
Linha = .UsedRange.Rows.Count + 1
'Fazemos uma referência a 1ª linha e 1ª coluna da plan4, dizendo que o nome ou valor que será salvo nesta célula,
'será o mesmo digitado na caixa de texto que criamos
.Cells(Linha, 1).Value = Me.TextBox1.Value
End With
'Limpamos a textbox1 para que possamos começar nova digitação
Me.TextBox1.Value = ""
'Voltamos o foco automaticamente para a textbox1
Me.TextBox1.SetFocus
End Sub
Antes de fazer o teste do formulário, vá à plan4 e coloque qualquer palavra na célula A1 para que o VBA possa identificar qual é a última linha utilizada.
Agora digite estes nomes na TextBox e salve(Ermenegilda, Jocrecino, Manelão, Marisdelvinalinda e otorrinolaringologista). O resultado será este:
O nome será apagado da TextBox1, o foco retornado e o mais importante, os dados serão salvos em uma linha após a outra.
Agora, você pode salvar dados até a planilha acabar. Muito bom!!!
Em breve, aprenderemos a excluir dados das planilhas com apenas um click. Por ora, precisamos aprender a trabalhar com as estruturas de repetição e decisão atuando juntas, pois este conhecimento será necessário para aprendermos a excluir os registros que desejamos nas nossas planilhas.
Para acessar o curso completo Clique aqui
Para acessar o curso completo Clique aqui
Nenhum comentário:
Postar um comentário