Página 1 de 1
VBA - Limparcadastro
Enviado: 11 Nov 2016 às 21:47
por albinosergio
Senhores, Boa noite,
Criei um programa em VBA (via vídeo aula) com sucesso, porém eu preciso que ao clicar no botão NOVO, para eu registrar novos dados, não limpe TODOS OS CAMPOS, ou seja eu preciso que pelo menos 3 campos permaneçam sem limpar.
Caso não tenha me expressado entendível, sugerem o anexo do arquivo?
Aguardo, um abraço grande
Re: VBA - Limparcadastro
Enviado: 11 Nov 2016 às 22:43
por alexandrevba
Re: VBA - Limparcadastro
Enviado: 12 Nov 2016 às 14:16
por albinosergio
Desculpe-me Alexandre,
Mas eu ainda sou "meio" leigo em VBA. É só um comando mesmo? e devo aplicá-lo em qual posição? devo especificar os nomes dos 3 campos que deverão permanecer em tela após clicar em "NOVO"?
'PROCEDIMENTO PARA NOVO CADASTRO
Public Sub Novo()
linha = 2
conte = 1
Do Until shtBDados.Cells(linha, 1) = ""
conte = conte + 1
linha = linha + 1
Loop
LimparCadastro
shtCadastro.Range("codigo") = conte
End Sub
VBA - Limparcadastro
Enviado: 12 Nov 2016 às 14:33
por Macedo199
Olá!!
Você deve alterar a Sub LimparCadastro para limpar só os campos que você quer.
Re: VBA - Limparcadastro
Enviado: 12 Nov 2016 às 18:33
por albinosergio
Obrigado pelo retorno Macedo,
O problema também é que eu ão sei como é o comando e seria nesse campo abaixo?
'PROCEDIMENTO PARA LIMPAR OS CAMPOS E CADASTRO
Public Sub LimparCadastro()
SetCamposCadastro
For a = 0 To 13
CamposCadastro(a) = ""
Next
End Sub
Re: VBA - Limparcadastro
Enviado: 12 Nov 2016 às 19:36
por albinosergio
Desculpem-me senhores,
estou anexando o arquivo para poderem entender melhor a minha situação. OK?
Re: VBA - Limparcadastro
Enviado: 13 Nov 2016 às 10:02
por Reinaldo
Acho estranha a sua demanda, mas vamos lá:
A declaração -->
; determina o tamanho da matriz com nomes dos campos do formulario.
A rotina abaixo atribui a matriz CamposCadastro os nomes dos campos:
Código: Selecionar todos'PROCEDIMENTO PARA SETAR O OBJETO "CamposCadastro - QUE CARREGA OS 13 CAMPOS DO CADASTRO
Public Sub SetCamposCadastro()
Set CamposCadastro(0) = shtCadastro.Range("codigo"): Set CamposCadastro(1) = shtCadastro.Range("Territorio")
Set CamposCadastro(2) = shtCadastro.Range("Quadra"): Set CamposCadastro(3) = shtCadastro.Range("Logradouro")
Set CamposCadastro(4) = shtCadastro.Range("numero"): Set CamposCadastro(5) = shtCadastro.Range("Referencia")
Set CamposCadastro(6) = shtCadastro.Range("nome"): Set CamposCadastro(7) = shtCadastro.Range("Simbolo")
Set CamposCadastro(8) = shtCadastro.Range("Receptivo"): Set CamposCadastro(9) = shtCadastro.Range("Atencioso")
Set CamposCadastro(10) = shtCadastro.Range("Educado"): Set CamposCadastro(11) = shtCadastro.Range("Apatico")
Set CamposCadastro(12) = shtCadastro.Range("Hostil"): Set CamposCadastro(13) = shtCadastro.Range("Historico")
Set CamposCadastro(14) = shtCadastro.Range("pesq")
End Sub
Assim verifica-se que os campos que deseja que permanecam são CamposCadastro 1,2 e 3
Então altere a rotina LimparCadastro conforme abaixo:
Código: Selecionar todos'PROCEDIMENTO PARA LIMPAR OS CAMPOS E CADASTRO
Public Sub LimparCadastro()
SetCamposCadastro
For a = 0 To 13
If a < 1 Or a > 3 Then CamposCadastro(a) = ""
Next
End Sub
Re: VBA - Limparcadastro
Enviado: 26 Nov 2016 às 18:47
por albinosergio
Show Reinaldo, muitissimo obrigado