Notifications
Clear all

UserForm para fornecimento de dados (n variávies)

9 Posts
3 Usuários
0 Reactions
1,593 Visualizações
(@guilhermepedro)
Posts: 10
Active Member
Topic starter
 

Galera... sou novato no VBA e gostaria da opinião de vocês.

Tenho um UserForm em que o usuário irá digitar o número de variáveis que ele deseja analisar.

Então uma macro criará uma coluna com diversos X1, X2, X3, até Xn.
Na coluna ao lado tenho que ter os valores destas variáveis.

Gostaria de usar um UserForm para que o usuário forneça esses valores.

Qual a melhor forma de se fazer isso?

Pensei colocar um Loop para criar TextBox até o número de variáveis. Mas fica pouco prático e também não deu muito certo.
Outra ideia foi colocar uma ListBox. Mas depois descobri que não é editável então não rola.
Então, pesquisando na internet descobri que seria interessante uma ListView. No entanto, estou com dificuldades de habilitar o ListViex.
Essa referência não existe no meu pc. Procurei saber como colocar, baixei o arquivo MSCOMCLT.OCX, executei o CMD e usei o REGVSR32 para ativa- lo, procurei-o na referência e o dito apareceu por lá. Mas quando vou em Controles Adicionais o ListView não aparece. Um saco não?

O que vocês me recomendam?

Grato pela ajuda.

 
Postado : 25/09/2012 3:19 pm
(@dmirandaalves)
Posts: 4
Active Member
 

Boa noite Guilherme,

Tendo o número de variáveis que seu usuário gostaria de analisar, use um loop para passar para uma planilha auxiliar a numeração conforme você mencionou (x1, x2, x3, x4 e aí por diante). Depois disso, parta para outro userform com um listbox que adicione essa numeração auxiliar e com apenas um textbox peça para seu usuário atualizar a variável que ele clicar no ListBox.
Ou seja, você tem seu ListBox com as n variáveis, um textbox em branco e um botão "cbAtualizar". Ao clicar em "cbAtualizar", você percorre a planilha auxiliar buscando o que está selecionado no ListBox e adiciona ao seu lado na planilha auxliar o valor que o usuário inputar.

Abraços,

 
Postado : 25/09/2012 11:07 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Saudações,

É realmente uma pena não funcionar o ListView,

Ele é nativo no VB.Net.

Mas acho que o caminho de criar textbox em tempo de execução funcionaria.

Segue um exemplo simples e também um exemplo mais complexo que fiz usando esse critério.

Abraço

 
Postado : 26/09/2012 6:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O outro arquivo.

 
Postado : 26/09/2012 6:09 am
(@guilhermepedro)
Posts: 10
Active Member
Topic starter
 

dmirandaalves, gostei da ideia.. mas, realmente é necessário a planilha auxiliar?
como fazer para buscar o item selecionado?

Mitsueda, não consegui abrir seus arquivos. Alias, abrem o excel mas não aparece planilha nenhuma. Uma pena!

 
Postado : 26/09/2012 8:29 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu não coloquei a chamada ao userform, mas ele está lá.

O outro arquivo é um add-in, deve ser salvo na maquina atravez do menu ferramentas > Suplementos...

 
Postado : 26/09/2012 9:08 am
(@guilhermepedro)
Posts: 10
Active Member
Topic starter
 

hehehehhe.. entendi.. agora rodou..
mas ainda não acho prático várias texbox's

 
Postado : 26/09/2012 11:43 am
(@guilhermepedro)
Posts: 10
Active Member
Topic starter
 

Mitsueda, agora como faço para que cada textbox criada esteja vinculada a uma célula?

 
Postado : 27/09/2012 11:19 am
(@guilhermepedro)
Posts: 10
Active Member
Topic starter
 

dmirandaalves, poderia me explicar como fazer essa interação listbox e textbox?

 
Postado : 27/09/2012 2:36 pm