Ir ao conteúdo
  • Cadastre-se
ppeterk

Excel RESOLVIDO Preencher células com formulário

Recommended Posts

Galera, boa tarde!

Coisa bem simples (eu imagino que seja simples) - Preciso preencher as células com quantidade - utilizando o formulário - considerando os critérios de matrícula (LINHA) e código do material (COLUNA) igual a imagem abaixo:

 

image.png.442d587fc38ac7a70843302cec0c848a.png

 

É tipo batalha naval rsrs

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cole o código abaixo no módulo do Form

Private Sub CommandButton1_Click()
 Dim x As Long, y As Long
  If Me.ComboBox1.Value = "" Or Me.ComboBox2.Value = "" Or Me.TextBox1.Value = "" Then Exit Sub
  x = Range("D3:D7").Find(ComboBox2.Value).Row
  y = Range("E2:J2").Find(ComboBox1.Value).Column
  Cells(x, y) = TextBox1.Value
End Sub

 

dica - o módulo adequado para se instalar o código que carrega o Form é um módulo comum, no seu caso, no Módulo1, que já existe, e não no módulo de EstaPasta_de_trabalho. Ainda, após mudar, remova o Private daquele código, deixe conforme abaixo e vincule-o novamente à Elipse Cadastrar.

Sub lsShow()
  UserForm1.Show
End Sub

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Osvaldo, muito obrigado pelo retorno. Deu muito certo.

 

Apenas não entendi muito bem sua dica. Gostaria de compreendê-la.

 

Mas consegui o que pretendia. Obrigado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, ppeterk disse:

Apenas não entendi muito bem sua dica. Gostaria de compreendê-la.

 

Os módulos mais utilizados para alojar macros são: os módulos comuns, os módulos de planilha e o módulo de EstaPasta_de_trabalho.

Os módulos comuns preferencialmente alojam códigos não relacionados/disparados por eventos e sim acionados manualmente. Se nomeado como Private, o código só poderá ser acessado por outro código que esteja no mesmo módulo comum, e ao tentar vincular esse código a um botão, por exemplo, ele não aparecerá na lista de escolha, ao passo que sem o Private (somente Sub) o código será público e poderá ser "chamado" a partir de outros módulos e até a partir de outro arquivo.

Já os outros módulos são destinados preferencialmente para eventos ou de planilha ou de arquivo. Podem também alojar procedimentos Sub, como você colocou, até funciona, mas não é o ideal.

No editor de VBA, se você der duplo clique no nome de alguma planilha, a janela que se abrirá será o módulo daquela planilha. No alto da janela à direita há duas caixas de seleção. Clique na setinha da caixa da esquerda e escolha Worksheet, e em seguida clique na setinha da caixa da direita e aí você verá todos os eventos de planilha que podem (e devem) ser alojados em módulos de planilha..

Se você repetir esse procedimento no módulo de EstaPasta, você verá os eventos de arquivo.

É tudo do pouco que sei.:P

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×