Notifications
Clear all

Alterar dados de uma Planilha através do ListBox

16 Posts
2 Usuários
0 Reactions
2,719 Visualizações
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

Boa Noite!
Galera, então. Sou iniciante no meio VBA, no qual me apaixonei.
Travei no seguinte, eu tenho um UserForm onde eu posso tanto lançar uma conta nova quanto quitar uma despesa.
Só que, não estou conseguindo desenvolver um caminho para quitar a dívida.

Vou demonstrar com imagens:

Eu tentei soluções com contadores,revirei a internet, mas não consigo encontrar um caminho que para fazer o que pretendo...
Essa parte de listbox eu fiquei bastante confuso

Os caminhos que eu queria fazer são o seguinte:
as colunas de A até F, são preenchidas automaticamente quando eu Lanço uma nova conta, até aí está OK.
Quando eu selecionasse uma opção do ListBox, clicasse em dar baixa e depois digitasse o valor do pagamento e clicasse em pagar, o Status mudasse para "PAGO" e o restante seria alterado praticamente sozinho, no caso a data do pagamento.
O que não estou conseguindo desenvolver um caminho para chegar até isso! Eu precisaria de um contador no listbox?
Me dêem uma luz, por favor!!!

 
Postado : 22/11/2016 3:52 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Listbox serve apenas para leitura de dados, nao para manipulação, vc tem duas opções uma é alterar direto na planilha a outra é vc carregar os dados para as textbox novamente para fazer a alteração desejada.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 22/11/2016 4:04 pm
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

Acho que eu me expressei um pouco mal, MRPrudencio,o que eu quero é o seguinte, eu queria que a quando eu clicasse em uma opção do listbox, um exemplo, o serviço "CONTA DE LUZ", ele ja identificaria automaticamente da planilha. Visto que, o listbox está carregando dados da planilha.
Hoje de manhã eu havia conseguido algo similar a isso, só que eu sem querer fiz um While que ficou infinito e eu tive que fechar a planilha sem conseguir recuperar o que havia feito antes... E eu não consigo encontrar novamente nem lembrar qual caminho eu havia tomado

 
Postado : 22/11/2016 4:11 pm
(@mprudencio)
Posts: 2749
Famed Member
 

O codigo depende do que vc vai fazer com a linha, vai excluir? Vai apenas alterar para pago? Vai mover para outra planilha? Enfim qual o caminho vc quer seguir apara dar baixa na conta?

E o melhor seria disponibilizar o arquivo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 22/11/2016 5:01 pm
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

O codigo depende do que vc vai fazer com a linha, vai excluir? Vai apenas alterar para pago? Vai mover para outra planilha? Enfim qual o caminho vc quer seguir apara dar baixa na conta?

E o melhor seria disponibilizar o arquivo.

https://www.sendspace.com/file/lv9egp

Tem bastantes userform aí , o da minha duvida é o frmContasAPagar.

 
Postado : 22/11/2016 7:55 pm
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

O codigo depende do que vc vai fazer com a linha, vai excluir? Vai apenas alterar para pago? Vai mover para outra planilha? Enfim qual o caminho vc quer seguir apara dar baixa na conta?

E o melhor seria disponibilizar o arquivo.

https://www.sendspace.com/file/lv9egp

Tem bastantes userform aí , o da minha duvida é o frmContasAPagar.

Esqueci de citar:
Eu quero alterar apenas alguns dados na mesma linha da seleção que eu fizer através do listbox....
Só que eu queria colocar algumas condições, e é bem ai que eu estou travando

 
Postado : 23/11/2016 6:01 am
(@mprudencio)
Posts: 2749
Famed Member
 

O que vc quer alterar? E que condições?

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 23/11/2016 6:51 am
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

O que vc quer alterar? E que condições?

No Sheets("Contas a Pagar"), quero alterar a coluna F de "EM ABERTO" para "PAGO", colocar a coluna G com a Data e pegar o valor do txtPago para por na coluna H

Queria por algumas condições com msgbox informando que o valor do txtPago é menor que o da coluna E, quando for menor e quando for igual
Eu tentei utilizar através do comando que está imbutido no cmdPagar, só que ele só lê a primeira condição e termina o programa.

 
Postado : 23/11/2016 7:23 am
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

Perdão,o form em questão que eu quero é : frmContasEmAberto

 
Postado : 23/11/2016 7:50 am
(@mprudencio)
Posts: 2749
Famed Member
 

Para que vc possa dar baixa na conta vc vai precisar criar um formulario para que se de baixa na conta, pois o seu atual formulario tem os campos diferentes dos da listbox.

Vc precisa ter todos os campos da tabela contas a pagar no formulario para que os dados sejam carregados no mesmo e ao alterar ele possa fazer a alteração.

Outra coisa vc precisa ter um item exclusivo, como um codigo interno uma chave primaria onde vc possa identificar na planilha o registro correto, imagino que vc vai lançar conta conta de luz todos os meses porem na sua tabela vc vai ter o item conta de luz duplicado o que vai identificar qual é o item que vc quer alterar é o a chave primaria do contrario vai gerar conflito e vc nao vai conseguir dar baixa na conta corretamente.

Faça as alterações que indiquei e vemos o que podemos fazer a seguir.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 23/11/2016 11:35 am
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

Para que vc possa dar baixa na conta vc vai precisar criar um formulario para que se de baixa na conta, pois o seu atual formulario tem os campos diferentes dos da listbox.

Vc precisa ter todos os campos da tabela contas a pagar no formulario para que os dados sejam carregados no mesmo e ao alterar ele possa fazer a alteração.

Outra coisa vc precisa ter um item exclusivo, como um codigo interno uma chave primaria onde vc possa identificar na planilha o registro correto, imagino que vc vai lançar conta conta de luz todos os meses porem na sua tabela vc vai ter o item conta de luz duplicado o que vai identificar qual é o item que vc quer alterar é o a chave primaria do contrario vai gerar conflito e vc nao vai conseguir dar baixa na conta corretamente.

Faça as alterações que indiquei e vemos o que podemos fazer a seguir.

Então, nesse caso eu pensei em me guiar pela referencia.
Os campos que não estão presentes em forma de listbox são os da Data, pois eu vou colocar automatico com a função "Date"
E o valor restante vai ser um calculo automatico na planilha.

 
Postado : 24/11/2016 6:02 am
(@mprudencio)
Posts: 2749
Famed Member
 

O Valor pago vc disse que iria digitar.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 24/11/2016 6:04 am
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

Ele fica no txtPago
Valor de Pagamento no canto direito

 
Postado : 24/11/2016 9:03 am
(@mprudencio)
Posts: 2749
Famed Member
 

Ve se assim funciona.

https://www.sendspace.com/file/2nmlqf

So uma coisa que observei, seu arquivo praticamente nao tem tantos dados e ja tem 23 mb, é muita coisa.

Eliminar algumas planilhas duplicadas e usar vba pra gerar os relatorios é muito mais eficiente , mas e so uma sugestão

Para dar baixa no item basta dois cliques no item da listbox

Modifiquei o carregamento da listbox para nao tenha que ficar ajustando o codigo cada vez que passar da linha 30.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 24/11/2016 12:50 pm
(@tnunes34)
Posts: 23
Eminent Member
Topic starter
 

MPrudencio

Caraca,isso que você falou é verdade. Eu não faço ideia do que houve pra ela pesar tanto assim, já tentei reduzir ela várias vezes e nunca consegui...
Em questão de usar o VBA pra gerar relatórios eu concordo com você. Ainda sou iniciante no VBA, estou estruturando a planilha por ela bem aos poucos.

Sobre o comando que você fez: Caramba cara, ficou ótimo! Dei uma lida no seu comando e consegui compreender os caminhos que você fez.
Mil vezes obrigado!!!

 
Postado : 24/11/2016 1:56 pm
Página 1 / 2