Usando a planilha como formulário VBA.


Excelente ideia: Sim!

Usando a planilha como formulário VBA.

Puxa, faz tempo que não posto nada. Sorry. rs.

Bom, vi um post num forum com essa dúvida, como transformar uma planilha em um form e como cadastrar os dados em plan2, como um banco de dados. Na verdade, é mais fácil, criar um form do proprio Excel e fazê-lo executar na planilha, mas o resultado final fica

Para melhor entendimento, baixe o arquivo de exemplo, clicando aqui.

Segue o código que criei, no botão de comando na plan 1:

Private Sub CommandButton1_Click()
On Error GoTo 1 'Inibe a mensagem de erro, caso ocorra, encerrando a macro.
Dim linha
linha = 2

While Plan1.Cells(5, 6) <> "" And Plan1.Cells(7, 6) <> "" And Plan1.Cells(7, 9) <> "" ' Campos do form (Planilha)
'Por exemplo, Plan1.Cells(5, 6), se refere a célula F5 (Linha 5, Coluna 6) - Daí por diante, ok?


While Not (IsEmpty(Plan2.Cells(linha, 1)))
linha = linha + 1 ' Incremento
Wend


Plan2.Cells(linha, 1) = Plan1.Cells(5, 6)
Plan2.Cells(linha, 2) = Plan1.Cells(7, 6)
Plan2.Cells(linha, 3) = Plan1.Cells(7, 9)


'Limpeza dos campos da planilha form:
Plan1.Cells(5, 6) = ""
Plan1.Cells(7, 6) = ""
Plan1.Cells(7, 9) = ""

Wend
Plan1.Cells(5, 6).Select ' Seleciona a primeira linha do form
1:
End Sub


 Bom, é isso aí!

Espero tê-los ajudado.
Abraço.

João Lopes Junior

3 comentários:

Anônimo disse...

Ae, essa dúvida que você viu no fórum é minha, to tentando anexar o arquivo mas está bloqueando, será que nao tem outra forma de eu te enviar essa planilha??dai vc pode me ajudar melhor.

Anônimo disse...

Opa eu consegui usar legal o botao , só que quando eu peço pra enviar os dados , eu perco a minha formula original no Form , no caso eu uso uma PROCV , ai quando eu uso o botao ele zera tudo e perde as formulas , existe uma correção pra isso ?

Se puder responder pra unsekurity[ARROBA]gmail.com

Agradeço

Anônimo disse...

Boa tarde xará, feliz ano novo...

Se colocar mais células para o cadastro e só acrescentar na linha While Plan1.Cells(5, 8) <> "" ,isto e, L5 como exemplo e na Plan2.Cells(linha, 4) = Plan1.Cells(5, 8), pois se for só isso não esta dando certo, quando eu coloco na linha while a linha e coluna e executo o botão ele não esta transferindo os dados para plan2, pq será, pode me responder silvajmp0@gmail.com

Postar um comentário