Notifications
Clear all

Salvar Colunas de acordo com CheckBox

13 Posts
4 Usuários
0 Reactions
1,869 Visualizações
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa tarde, Sr.

Estou tentando salvar informações de uma Plan, onde chamo um UserForm para escolher o tipo de extensão .csv, .xls e .txt, até esta bacana.
Se eu selecionar a extensão e salvo aceita todos na boa o detalhe que estou tentando implementar o arquivo.
Quando seleciono uma das três possíveis extensões aparece os CheckBox com o nome das colunas para eu selecionar, gostaria de ajuda dos senhores, onde o arquivo salvo estaria com a colunas de acordo com os CheckBox.

Exemplo:

 
Postado : 19/08/2015 2:54 pm
(@pfarias)
Posts: 0
New Member
 

Boa tarde, Sr.
Quando seleciono uma das três possíveis extensões aparece os CheckBox com o nome das colunas para eu selecionar, gostaria de ajuda dos senhores, onde o arquivo salvo estaria com a colunas de acordo com os CheckBox.

? ? ? ? ? ?

 
Postado : 20/08/2015 1:09 pm
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa tarde, Sr.
Quando seleciono uma das três possíveis extensões aparece os CheckBox com o nome das colunas para eu selecionar, gostaria de ajuda dos senhores, onde o arquivo salvo estaria com a colunas de acordo com os CheckBox.

? ? ? ? ? ?

Boa tarde, pfarias

Peço desculpas se não consegui me expressar.
No arquivo que anexei eu tenho um UserForm com três CheckBox com as seguintes extensões .csv, .xls e .txt, ao selecionar uma delas habilita mais 10 CheckBox com o nome da colunas para o usuário escolher qual das 10 colunas irá salvar.

 
Postado : 20/08/2015 4:22 pm
(@pfarias)
Posts: 0
New Member
 

isso entendi. Não entendi a duvida! :D

 
Postado : 21/08/2015 9:41 am
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa tarde, pfarias

Minha dúvida é como aplicar no código que está no arquivo a seguinte regra.
Quando eu selecionar qualquer CheckBox com os nomes das colunas, salvar os registro referentes aos CheckBox selecionados.
Além da extensão precisao marcar quais colunas quero salvar, as colunas serão determinadas por CheckBox.

 
Postado : 21/08/2015 11:38 am
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa noite, pfarias.

Vou tentar explicar melhor o que estou tentando/querendo fazer com meu arquivo.

No arquivo eu tenho um botão Exportar que abre o seguinte UserForm:

Neste UserForm eu tenho as extensões que desejo salvar o meu arquivo, ao selecionar umas delas meu UserForm fica assim:

Ele habilita os CheckBox para eu selecionar.

Onde tenho a opção de selecionar todos ou somente alguns deles ficando assim:

Onde cada CheckBox representa uma coluna do meu arquivo:
* CheckBoxID = Coluna F
* CheckBoxEstacao = Coluna G
* CheckBoxData = Coluna H
* CheckBoxNivelConsistencia = Coluna I
* CheckBoxNConsisteCalculado = Coluna J
...
* CheckBoxTotalSomando = Coluna O

De acordo com os CheckBox que eu selecionar exportar esse arquivo somente com essas colunas.

Exemplo:
Na imagem dois eu tenho os seguintes CheckBox selecionados: Estação, N. Consist. Calculado e Num. Dias Chuva.
Ao clicar em Salvar em Arquivo do UserForm ele criaria uma arquivos com um das três extensões, somente com as Colunas G, J e O.

É Isso que não sei como fazer, e gostaria de uma ajuda da galera do Fórum.

Mais uma vez peço desculpa se eu não me expressei da melhor maneira possível e entendível.

 
Postado : 21/08/2015 6:09 pm
(@sonnel)
Posts: 0
New Member
 

O problema até que é fácil de se entender. O formulário é que está meio complicado. Não seria melhor criar um formulário com os botões de opções na parte superior e os botões de "checks" na parte inferior?

 
Postado : 21/08/2015 8:26 pm
(@sonnel)
Posts: 0
New Member
 

No formulário, quando o usuário marca um formato de arquivo para exportar (*.csv) os outros formatos (*.xls e *.txt) são desmarcados.

Se você só pode exportar um formato de arquivo de cada vez (*.csv, *.xls ou *.txt), não seria mais apropriado usar botões de opções (OptionButton) ao invés de usar caixas de checagem (CheckBox) ?

 
Postado : 21/08/2015 8:42 pm
(@trindade)
Posts: 0
New Member
Topic starter
 

Bom dia, Sonnel

Seguindo sua dica segue meu novo UserForm:

Creio que fique mais simples para implementar o código agora.

Arquivo:

 
Postado : 22/08/2015 9:33 am
(@trindade)
Posts: 0
New Member
Topic starter
 

No formulário, quando o usuário marca um formato de arquivo para exportar (*.csv) os outros formatos (*.xls e *.txt) são desmarcados.

Se você só pode exportar um formato de arquivo de cada vez (*.csv, *.xls ou *.txt), não seria mais apropriado usar botões de opções (OptionButton) ao invés de usar caixas de checagem (CheckBox) ?

Sonnel

Não coloquei OptionButton por que o restante do projeto esta com CheckBox fazendo a função estilo OptionButton, quando selecione um tira a seleção do outro, daria muito trabalho trocar no código que esta em funcionamento, mas obrigado pela dica.

 
Postado : 22/08/2015 9:38 am
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa tarde, Srs.

Alguma ideia ?

 
Postado : 26/08/2015 3:39 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Trindade, respondendo sua MP, geralmente acompanhamos os tópicos, mas devido a tempo nem sempre dá para responder e ajudar a todos em tempo real, algumas solicitações são mais simples ou já correspondem a questões que temos uma solução já pronta e só adaptamos.
Mas voltando a sua questão, pelo que entendi você quer selecionar os CheckBox que correspondem às colunas na planilha e salvar em um arquivo somente os dados referentes a estas colunas.
Não vou prometer que irei implementar de imediato, mas vou deixar algumas sugestões e quem sabe você consegue ajustar ou outros colegas tambem ajudem.
Primeiro vi que em algumas rotinas quando exporta utiliza a concatenação com formatação de valores :
Write #iFF, SheetData.Range("G" & Count).Value & ";" & SheetData.Range("H" & Count).Value & ";" & SheetData.Range("I" & Count).Value & ";" & SheetData.Range("J" & Count).Value & ";" & SheetData.Range("K" & Count).Value & ";" & SheetData.Range("L" & Count).Value & ";" & SheetData.Range("M" & Count).Value & ";" & Format(SheetData.Range("n" & Count).Value, "#,##0.00") & ";" & Format(SheetData.Range("O" & Count).Value, "#,##0.00")

Minha ideia inicial seria apos selecionar os CheCkbox ter uma rotina para copiar somente as colunas para uma nova aba e utilizar os dados nesta aba para salvar no formato desejado, mas o porem seriam estas formatações, teríamos de adicionar alguns "IF" ou "Select Case" para conforme a coluna selecionada definir a formatação, alem de ter uma outra verificação quanto ao tipo a ser salvo, uma vez que no Exportar_xls não temos formatação pois é uma cópia e leva a formatação junta na cópia, ou enviar para esta nova aba os valores já formatados conforme necessita.

De inicio seria isto, é um pouco mais complexo que parece, por isto demanda tempo para a construção e testes, então de momento só tenho a pedir um pouco de paciência,que conforme a disponibilidade vou fazendo as implementações.

[]s

 
Postado : 28/08/2015 8:55 am
(@trindade)
Posts: 0
New Member
Topic starter
 

Trindade, respondendo sua MP, geralmente acompanhamos os tópicos, mas devido a tempo nem sempre dá para responder e ajudar a todos em tempo real, algumas solicitações são mais simples ou já correspondem a questões que temos uma solução já pronta e só adaptamos.
Mas voltando a sua questão, pelo que entendi você quer selecionar os CheckBox que correspondem às colunas na planilha e salvar em um arquivo somente os dados referentes a estas colunas.
Não vou prometer que irei implementar de imediato, mas vou deixar algumas sugestões e quem sabe você consegue ajustar ou outros colegas tambem ajudem.
Primeiro vi que em algumas rotinas quando exporta utiliza a concatenação com formatação de valores :
Write #iFF, SheetData.Range("G" & Count).Value & ";" & SheetData.Range("H" & Count).Value & ";" & SheetData.Range("I" & Count).Value & ";" & SheetData.Range("J" & Count).Value & ";" & SheetData.Range("K" & Count).Value & ";" & SheetData.Range("L" & Count).Value & ";" & SheetData.Range("M" & Count).Value & ";" & Format(SheetData.Range("n" & Count).Value, "#,##0.00") & ";" & Format(SheetData.Range("O" & Count).Value, "#,##0.00")

Minha ideia inicial seria apos selecionar os CheCkbox ter uma rotina para copiar somente as colunas para uma nova aba e utilizar os dados nesta aba para salvar no formato desejado, mas o porem seriam estas formatações, teríamos de adicionar alguns "IF" ou "Select Case" para conforme a coluna selecionada definir a formatação, alem de ter uma outra verificação quanto ao tipo a ser salvo, uma vez que no Exportar_xls não temos formatação pois é uma cópia e leva a formatação junta na cópia, ou enviar para esta nova aba os valores já formatados conforme necessita.

De inicio seria isto, é um pouco mais complexo que parece, por isto demanda tempo para a construção e testes, então de momento só tenho a pedir um pouco de paciência,que conforme a disponibilidade vou fazendo as implementações.

[]s

Muito obrigado, Mauro Coutinho.

Desde já agradeço por sua ajuda e paciência.

 
Postado : 28/08/2015 2:46 pm