Alimentando tabela referenciada com formulario VBA  [Resolvido]

Text Box, Form's, rotinas, etc.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Alimentando tabela referenciada com formulario VBA

Mensagempor spiders » Sex Out 11, 2019 1:44 pm

Boa tarde prezados

Eu fiz um formulário para alimentar uma tabela que será a base de dados. Eu vi na internet a fórmula para a macro sempre selecionar a ultima linha para inserir as proximas informações, seria esse o código:
Código: Selecionar todos
linha = Sheets(“BASE”).Cells(Rows.Count, “E”).End(xlUp).Offset(1, 0).Row
Sheet3.Cells(linha, 5).Value = Me.txtData.Value
Sheet3.Cells(linha, 6).Value = Me.txtHorario.Value
Sheet3.Cells(linha, 7).Value = Me.txtNome.Value
Sheet3.Cells(linha, 8).Value = Me.txtRamal.Value
Sheet3.Cells(linha, 9).Value = Me.txtAssunto.Value

Mas o formulário não preenche a tabela que já existe na planilha. Ele pega a primeira célula que não possui informações e seleciona ela. Eu gostaria que ele selecionasse dentro da tabela, mas essa linha esta selecionando a primeira célula depois da tabela criada.
O cadastro está ficando abaixo da planilha como mostra o print:
Imagem
Qual seria o código para usar a minha tabela de nome AgendadordeEventos como a base de dados do formulário?
spiders
Membro
Membro
 
Mensagens: 10
Registrado em: Sex Out 11, 2019 1:38 pm
Has thanked: 0 time
Have thanks: 1 time

{ SO_SELECT }

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor srobles » Sex Out 11, 2019 2:53 pm

spiders,

Altere a seguinte linha
Código: Selecionar todos
linha = Sheets(“BASE”).Cells(Rows.Count, “E”).End(xlUp).Offset(1, 0).Row

Para :
Código: Selecionar todos
linha = ThisWorkBook.Sheets(“AgendadordeEventos”).Cells(Rows.Count, “E”).End(xlUp).Row + 1
Espero ter ajudado.

Abs.

Saulo Robles

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
srobles
Membro
Membro
 
Mensagens: 378
Registrado em: Sáb Mai 09, 2015 10:35 pm
Has thanked: 122 times
Have thanks: 162 times

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor spiders » Sex Out 11, 2019 4:18 pm

Boa tarde, eu fiz a alteração na linha, porém retornou o seguinte erro

Erro em tempo de execução '9':
Subscrito fora do intervalo
spiders
Membro
Membro
 
Mensagens: 10
Registrado em: Sex Out 11, 2019 1:38 pm
Has thanked: 0 time
Have thanks: 1 time

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor srobles » Sex Out 11, 2019 4:48 pm

spiders,

Na sua pasta de trabalho, qual o nome da guia que serve como Base de dados? AgendadordeEventos ou BASE?

Apenas altere isso na linha que faz referência á guia que é sua base de dados.
Espero ter ajudado.

Abs.

Saulo Robles

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
srobles
Membro
Membro
 
Mensagens: 378
Registrado em: Sáb Mai 09, 2015 10:35 pm
Has thanked: 122 times
Have thanks: 162 times

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor spiders » Seg Out 14, 2019 8:31 am

Bom dia, a guia se chama "Base", mas a tabela se chama "AgendadorDeEventos".

Obrigado
spiders
Membro
Membro
 
Mensagens: 10
Registrado em: Sex Out 11, 2019 1:38 pm
Has thanked: 0 time
Have thanks: 1 time

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor srobles » Seg Out 14, 2019 1:39 pm

spiders,

Se puder, suba seu modelo em sites de compartilhamento como, sendspace, google drive etc... e disponibilize o link para que possamos analisar e tentar auxiliá-lo.
Para postar o link, use a ferramenta URL "[url]linkdoarquivo[/url]" sem aspas.
Espero ter ajudado.

Abs.

Saulo Robles

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
srobles
Membro
Membro
 
Mensagens: 378
Registrado em: Sáb Mai 09, 2015 10:35 pm
Has thanked: 122 times
Have thanks: 162 times

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor spiders » Qua Out 16, 2019 4:51 pm

Bom dia, eu consegui resolver esse problema. Porém estou com outro problema.
O campo “hora” gostaria de criar uma caixa de combinação. Quando eu seleciono um horário, o campo fica formatado como decinal, e não como hora conforme a coluna está. Também estou com outro problema que não consigo entender. Eu possuo a tabela AgendadordeEventos na planilha Base, uma coluna chamada “VALOR EXCLUSIVO (CALCULADO)”. Sem essa coluna toda a automação da planilha não funciona. Quanto eu cadastro um agendamento pelo vba, a linha dessa tabela fica em formato data e por causa disso a automação da planilha não funciona. Quando eu cadastro manualmente as informações na tabela a automação funciona normalmente. Percebi que se eu clicar duas vezes na célula data da linha que eu acabei de cadastrar pelo formulário e desselecioná-la, a linha valor exclusivo se atualiza e a automação volta a funcionar.
Segue o link da planilha
https://www.dropbox.com/s/c7zg4fx2zdwxr ... .xlsm?dl=0
spiders
Membro
Membro
 
Mensagens: 10
Registrado em: Sex Out 11, 2019 1:38 pm
Has thanked: 0 time
Have thanks: 1 time

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor srobles » Qui Out 17, 2019 4:18 pm

spiders,

Veja se as alterações feitas no modelo, atendem sua necessidade.

Link : https://www.sendspace.com/file/rvneg6
Espero ter ajudado.

Abs.

Saulo Robles

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
srobles
Membro
Membro
 
Mensagens: 378
Registrado em: Sáb Mai 09, 2015 10:35 pm
Has thanked: 122 times
Have thanks: 162 times

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor spiders » Sex Out 18, 2019 8:59 am

Bom dia muito obrigado pela sua contribuição, agora a caixa de confinação está funcionando. Mas gostaria de quando eu finalizasse o cadastro, assim como as caixas de texto ficaram limpas, a caixa de combinação também ficasse em branco. Outro detalhe que continuo com problema é esse abaixo conforma a imagem:
Imagem

Quando eu uso o formulário em VB para fazer o agendamento, na primeira linha a coluna "VALOR CALCULADO" fica formatado como data. Se essa coluna ficar formatada desse jeito as formulas na planilha não funciona. Quando eu cadastro manualmente uma data na tabela essa coluna "VALOR CALCULADO" fica formatado somente número e assim todas as fórmulas funcionam. O problema é que não sei o que está fazendo isso acontecer, porque todas as células dentro da tabela estão formatadas corretamente. O curioso é que se eu clico duas vezes na célula "data" da primeira linha que foi preenchida com o vba e depois desselecionar a célula, a celula da coluna "VALOR CALCULADO" fica formatada corretamente.
Imagem
spiders
Membro
Membro
 
Mensagens: 10
Registrado em: Sex Out 11, 2019 1:38 pm
Has thanked: 0 time
Have thanks: 1 time

Re: Alimentando tabela referenciada com formulario VBA

Mensagempor srobles » Sex Out 18, 2019 12:28 pm

Spiders,

Para limpar o ComboBox, deixei algumas linhas comentadas no código que insere os dados na guia. Altere esta linha Me.ComboBox1.RemoveItem Me.ComboBox1.ListIndex para Me.ComboBox1 = "" e veja se tem o resultado desejado.

Na questão que se refere ao campo VALOR CALCULADO, a data deve entrar na guia como Data mesmo? Caso positivo (pois notei que se for dessa maneira), este campo ficaria com o valor ex: 4355|1), altere esta linha Sheet3.Cells(linha, 5).Value = Me.txtData.Value para Sheet3.Cells(linha, 5).Value = CDate(Me.txtData.Value). Assim o campo VALOR CALCULADO retornará o valor nesse formato.
Espero ter ajudado.

Abs.

Saulo Robles

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
srobles
Membro
Membro
 
Mensagens: 378
Registrado em: Sáb Mai 09, 2015 10:35 pm
Has thanked: 122 times
Have thanks: 162 times

Próximo

Voltar para Formulários

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 2 visitantes