Página 1 de 1

Ativar botão de cadastro em formulário VBA

Enviado: 06 Fev 2023 às 18:22
por EllenMariano
Boa tarde!

Ainda estou aprendendo a mexer com a parte de códigos em VBA. Já tentei ativar o botão "cadastrar" na minha planilha, mas não to conseguindo. Poderiam me ajudar, por favorzinho???
:oops: :oops:

Re: Ativar botão de cadastro em formulário VBA

Enviado: 06 Fev 2023 às 19:53
por osvaldomp
EllenMariano escreveu: 06 Fev 2023 às 18:22 Já tentei ativar o botão "cadastrar" na minha planilha, ...
Nas suas cinco planilhas não existe o botão Cadastrar. Você se refere ao botão Cadastrar existente no Userform?

Já tentei ativar o botão "cadastrar" ...
O que exatamente você quer dizer com "ativar o botão" ?
Existe um código vinculado ao botão Cadastrar existente no UserForm. Qual é o problema com aquele código ?

Re: Ativar botão de cadastro em formulário VBA

Enviado: 07 Fev 2023 às 09:56
por EllenMariano
Oi Osvaldo! Obrigada pelo retorno!
O botão que eu falo é quando abre o formulário. Aquele que está em verde no final do formulário. Ele não está cadastrando as informações. Coloquei o código para essa condição mas não sei aonde estou errando. Eu preencho o formulário todo, porém ele não redireciona as informações para a planilha.

Re: Ativar botão de cadastro em formulário VBA

Enviado: 07 Fev 2023 às 11:10
por osvaldomp
EllenMariano escreveu: 07 Fev 2023 às 09:56 Ele não está cadastrando as informações. Eu preencho o formulário todo, porém ele não redireciona as informações para a planilha.
Sim, o seu código insere os dados do Formulário na planilha, porém insere na linha 4532, e não na linha 2, como possivelmente você deseja. Faça um teste aí e acesse aquela linha para verificar.

Isso ocorre porque o método utilizado no seu código para captar a suposta última linha com dados na coluna B retorna a última linha da Tabela Excel, independente se a célula da última linha da Tabela estiver preenchida. Então, no seu caso, a variável "linha" retorna 4532, que é a última linha da Tabela Excel, apesar de B4532 estar vazia.

Para contornar, substitua esta linha ~~~> linha = Range("B2").End(xlDown).Row
por esta ~~~> linha = Columns(2).Find(what:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row + 1

dica - uma das vantagens da Tabela Excel é que ela se auto estende para baixo automaticamente ao inserir dados manualmente, ou via macro, em qualquer célula da primeira linha abaixo da Tabela, então não faz sentido estender manualmente a Tabela, pois ela já faz isso por você.

No caso da sua planilha eu sugiro que você selecione a linha 3 | mantenha Shift pressionada | pressione End |pressione Seta para Baixo | clique com o direito sobre a seleção | Excluir.

Re: Ativar botão de cadastro em formulário VBA

Enviado: 07 Fev 2023 às 16:33
por EllenMariano
Nossa, perfeito!! Muito obrigada mesmo pela ajuda. Eu estou pegando alguns vídeos para estender meu conhecimento em macros, sei toda a formatação do layout mas os códigos ainda são um "novo mundo" pra mim rsrsrs. Sua ajuda foi muito bem vinda.