Bom dia pessoal!
Sou novo no fórum e estou tentando aprender um pouco de VBA...
Minha dúvida é a seguinte:
Tenho uma userform com uma textbox e um commandbutton, gostaria que cada vez que eu clicar nesse botão, uma nova textbox fosse criada abaixo da já existente, formando uma coluna.
Utilizei o seguinte código:
Private Sub CommandButton1_Click()
X = Me.Controls.Count + 1
Set xx = Controls.Add("Forms.TextBox.1", "CtrlName" & X)
xx.Top = X * 20
xx.Left = 30
End Sub
Funcionou bem, porém, quando insiro uma linha de textbox, não consigo fazer com que aconteça o mesmo com todos... Minha intenção é criar a primeira linha com 6 textbox e conforme eu vá precisando inserir dados, vá formando as 6 colunas simultaneamente de acordo com os cliques...
Se alguém puder me ajudar, agradeço desde já!
Boas festas a todos!
Bom dia,
Pode enviar o teu arquivo pra eu dar uma olhada?
Acredito que com um "While" nós resolvemos isso...
Caso tenha resolvido, não esqueça de clicar na mãozinha ao lado da ferramenta "citar" e fechar o tópico
Boa tarde Sandroh,
Envio sim, assim que chegar em casa pela tarde te envio pois está no meu computador, ok?
Agradeço desde já pela atenção e ajuda.
Boa tarde Gomes!
Eu havia criado algo semelhante ao que você solicitou para um outro usuário do fórum. Eu posso definir via projeto do VBA quantos quartos eu quero para a minha UserForm... quando o form hotel for iniciado, ele olhará o valor da variável qtdQuartos e criará as CommandButtons/ComboBoxes de acordo com a quantidade que eu coloquei na variável.
Caso a quantidade ultrapasse 14, será gerada uma linha abaixo dos primeiros objetos, inserindo novamente a partir da esquerda.... quanto maior o nº de linhas, maior será a minha UserForm para que a mesma fique ajustada na tela.
Esse tipo de macro é mais chata de fazer, visto que você deverá definir tanto a Altura/Largura dos objetos como o Top e a posição a partir da esquerda, além de aumentar o tamanho da UserForm para adaptá-la ao nº de objetos criados... se você deseja ativar eventos nas CommandButtons (um OnClick, por exemplo), fica ainda mais complexo (será necessário criar objetos de classe, conforme segue no exemplo também).
Deixei o exemplo mais para você ter uma ideia geral do que deve ser feito. Conforme forem surgindo dúvidas é só gritar.
OBS: É importante que você defina de alguma forma qual será o nº de CommandButtons na sua linha... a partir dessa informação, você deve definir no seu código o momento de gerar uma nova linha e zerar o seu contado de CommandButtons na linha... assim, quando você atingir o limite da segunda linha, será gerada a terceira, e assim vai...
Por favor, verifique o exemplo em anexo.
Leia as
Utilize arquivos
AGRADEÇA clicando na mãozinha ao lado da ferramenta citar.
Marque o tópico como [Resolvido], clicando no √ ao lado do botão citar.
Abraços,
Murilo L
------------
e-mail: themrl_15@hotmail.com
skype: fareva_mlima
Boa tarde Sandro,
Segue um exemplo do que estou tentado fazer, peço desculpas de antemão pois sou beeem iniciante...
O que gostaria é que o acontece na userform 3 clicando no botão que fiz para exemplo, aconteça na userform 2 em todas as colunas simultâneamente...
É uma linha com 6 colunas, então quando eu clicar, aparecerá mais uma linha com 6 colunas...
Grato desde já
Muito obrigado themrl16,
Vou dar uma olhada e já retorno, pelo que li, parece ser bem complexo rs
Mas parece ser parecido com o que preciso, espero conseguir entender hahaha
Grato desde já