Notifications
Clear all

Checkbox no Listview envia dados Planilha

9 Posts
2 Usuários
0 Reactions
1,560 Visualizações
(@goularterd)
Posts: 18
Active Member
Topic starter
 

Pessoal, boa noite!

Estou com dificuldade em uma rotina já a alguns dias e não estou encontrando solução (adaptando rotinas do fórum também).
Tenho uma planilha que analisa o aspecto visual de carrocerias por meio de gráficos. Cada carroceria possui 154 itens. Criei uma Listview que exibe apenas os 14 primeiros itens (os mais importantes) para não ficar muito poluida. Esta Listview realiza um filtro.

Minha dificuldade está em gerar os relatórios gráficos. Necessito que quando APENAS UMA carroceria seja selecionada (checkbox) e o evento click do botão "visualizar impressão" ou "imprimir" aconteça a seguinte rotina seja executada:

A carroceria seja encontrada na (Matriz) Plan "Dados"
Os dados de A:N sejam colados na Plan "FonteG" B2:B15
Os dados de O:AB sejam colados na Plan "FonteG" E2:E15
Os dados de AC:AP sejam colados na Plan "FonteG" F3:F15

Caso DUAS carrocerias sejam selecionadas (para fazer comparativo):
A rotina da primera se mantenha como acima
e a segunda seja colado abaixo na Plan "FontG"
Os dados de A:N sejam colados na Plan "FonteG" B17:B30
Os dados de O:AB sejam colados na Plan "FonteG" E17:E30
Os dados de AC:AP sejam colados na Plan "FonteG" F17:F30

Caso Três ou mais carrocerias sejam selecionadas uma msg de erro apareça para selecionar 1 ou 2 modelos apenas.

*acredito que caso necessite de uma referencia na planilha para encontrar a carroceria a melhor opção seja a coluna H:H.

Agradeço a atenção,
Robson

 
Postado : 07/05/2017 4:32 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Goularterd ,

Boa noite!

Você diz:

A carroceria seja encontrada na (Matriz) Plan "Dados"

. Como se identifica essa carroceria? Qual coluna? Existe um número, nome ou índice ÚNICO que identifique a carroceria?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 07/05/2017 5:49 pm
(@goularterd)
Posts: 18
Active Member
Topic starter
 

Wagner boa noite!

O KNR na coluna H da Matriz "Dados", no listview o Index 7. Este número é único e pode ser usado como índice.

Obrigado.

 
Postado : 07/05/2017 5:55 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Robson,

Bom dia!

Veja se é assim.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/05/2017 6:48 am
(@goularterd)
Posts: 18
Active Member
Topic starter
 

Wagner, bom dia!

Estou com dificuldade em abrir o arquivo no trabalho. Em breve te retorno.

Muito Obrigado.

 
Postado : 08/05/2017 7:57 am
(@goularterd)
Posts: 18
Active Member
Topic starter
 

Wagner, boa tarde.

Desculpe a demora consegui somente agora rodar e visualizar o seu código.
Esta instrução é para rodar somente no evento "Click do BtVisualizar"

Tentei passar seu código para o "BtVisualizar_Click" mas ele está fixando os dados somente na primeira linha (A) da aba Dados (Matriz), e também está enviando o mesmos valores para a tabela de baixo na aba "FonteG" também. Mesmo mudando o checkbox da carroceria.
Estou tentando ajustar mas não consigo entender seu raciocionio.
Também acho que fui meio confuso na explicação.

1º Possibilidade) Quando eu selecionar 1 carroceria no Listview e apertar o "BtVisualizar" ele vai copiar os dados da aba "Dados" e colar na aba "FonteG" - (Na tabela de cima somente)
2º Possibilidade) Se eu selecionar 2 carrocerias no Listview e apertar o "BtVisualizar" ele vai copiar os dados da aba "Dados" e colar na aba "FonteG" (Na tebela de cima o modelo 1 e na tabela de baixo o modelo 2)
3º Possibilidade) Se eu selecionar mais de 2 carrocerias no Listview e apertar o "BtVisualizar" - Mensagem de erro para selecionar 1 ou 2 carrocerias.

Agradeço sua atenção.

 
Postado : 08/05/2017 10:48 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Goularterd,

Entendi sua necessidade. Todavia, não vi sentido para o usuário comum ele ter que clicar em Chekbox e depois ter que clicar num botão. Por isso desenvolvi de forma que quando o usuário vai selecionado os chekbox (até 2 no máximo) os dados já vão sendo copiados corretamente para a aba FonteG. Esse é o padrão normal de qualquer sistema quando há chekbox para ser clicado. Pois, do contrário, se fosse apenas para selecionar as linhas, bastaria ter um ListView multiselect sem checkbox. Em programação, em geral, procura-se seguir uma padronização para que o usuário final não fique perdido ao interagir com a interface.

Agora, para adaptar esse código aí ao botão fica muito difícil pois está dentro de um dos eventos do ListView que, inclusive, possui variáveis próprias para tratar dentro do próprio evento. Em outras palavras, teria que modificar toda a lógica da programação e refazer tudo novamente. Sinceramente, não estou com tanto tempo assim para poder ajudar.

Minha sugestão é que você retira esse botão que serviria para essa finalidade ou deixe o mesmo com um outro fim (o de VISUALIZAR mesmo um RELATÓRIO) ou ainda tente fazer a adaptação.

No arquivo anexo, fiz mais alguns ajustes para corrigir os detalhes.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 08/05/2017 12:29 pm
(@goularterd)
Posts: 18
Active Member
Topic starter
 

Esta ótimo.
Wagner muito obrigado por sua ajuda!

Obrigado!
Robson

 
Postado : 08/05/2017 12:41 pm
(@goularterd)
Posts: 18
Active Member
Topic starter
 

Wagner, na verdade a sua ideia para o usuário interagir com o formulário é muito melhor que a minha.
Tem razão quando diz do padrão de uso para checkbox.
Ficou perfeito! Obrigado 2x

Robson

 
Postado : 08/05/2017 12:49 pm