Ir ao conteúdo
  • Cadastre-se

Excel Preencher células com formulário


Ir à solução Resolvido por Visitante,

Posts recomendados

  • Solução

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

 

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...