Salvar dados de for...
 
Notifications
Clear all

Salvar dados de form em cells com variável IF

4 Posts
2 Usuários
0 Reactions
1,221 Visualizações
(@ricard_ho)
Posts: 6
Active Member
Topic starter
 

Olá, meus amigos.
Gostaria de receber a ajuda valiosa de vocês, por favor!

Criei um userform para cadastro de aulas (AULAS), onde o botão pesquisa me busca o nome de um professor em determinada tabela com algumas fórmulas básicas para cálculo de honorários.
Nesta tabela há células específicas para cada professor (aulas lecionadas, turma, etc.).
Criei um botão salvar, no intuito de, usando a variável IF, ao buscar o nome do professor, esses dados caíssem nas células específicas de cada professor.

A pane: tentei usar o código abaixo, mas os dados não são salvos:

Private Sub BOTAO_SALVAR_Click()
totalregistro = Worksheets("aulas").UsedRange.Rows.Count + 1


If CAIXA_NOME = ("A38") Then
With Worksheets("aulas")
.Cells(totalregistro, "a3") = CAIXA_TURMA.Value
.Cells(totalregistro, "b3") = CAIXA_TURNO.Value
.Cells(totalregistro, "c3") = CAIXA_MES.Value
.Cells(totalregistro, "d3") = CAIXA_DIA.Value
.Cells(totalregistro, "e3") = CAIXA_QUANTIDADE.Value
.Cells(totalregistro, "f3") = CAIXA_ADIANTAMENTO.Value
.Cells(totalregistro, "g3") = CAIXA_DATA.Value

If CAIXA_NOME = ("A39) then
With Worksheets("aulas")
.Cells(totalregistro, "s3") = CAIXA_TURMA.Value
.Cells(totalregistro, "s3") = CAIXA_TURNO.Value
.Cells(totalregistro, "s3") = CAIXA_MES.Value
.Cells(totalregistro, "s3") = CAIXA_DIA.Value
.Cells(totalregistro, "s3") = CAIXA_QUANTIDADE.Value
.Cells(totalregistro, "s3") = CAIXA_ADIANTAMENTO.Value
.Cells(totalregistro, "s3") = CAIXA_DATA.Value

E ASSIM PARA CADA PROFESSOR...

End With
MsgBox "Gravado com sucesso."

Podem me ajudar? Valeu!
Ricardo

 
Postado : 18/01/2014 9:17 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Ricardo,

Boa Tarde!

A priori, assim sem ver seu código completo ou o seu arquivo fica um tanto quanto difícil de lhe dizer o que fazer exatamente e afirmar que vai dar certo. A melhor maneira de obter ajuda aqui no fórum é compactar, com ZIP, seu arquivo (por menor que seja o mesmo) e anexá-lo aqui.

O que pude perceber nesse pequeno trecho de código que você enviou é que a sintaxe do comando IF está incorreta. Você não pode utilizar o comando If dessa forma:

IF (condição verdadeira) Then
     'faça isso
IF (condição verdadeira) Then
     'faça isso
IF (condição verdadeira) Then
     'faça isso
End If

Para testar várias condições que possam ser verdadeiras, num comando IF você deve utilizar assim:

If (condição verdadeira) Then
     'faça isso
ElseIf (condição verdadeira) Then
     'faça isso
ElseIf (condição verdadeira) Then
     'faça isso
End If

Muito mais prático, no lugar de IF - ELSEIF - END IF, é utilizar o comando SELECT CASE, assim:

Select Case CAIXA_NOME
Case Range("A38").Value
     'faça isso
Case Range ("A39").Value
.
.
.
End Select

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 19/01/2014 1:48 pm
(@ricard_ho)
Posts: 6
Active Member
Topic starter
 

Olá, Wagner. Obrigado.

Gostei da sua explicação, mas sendo verdadeira a condição, qual comando darei, já que cada objeto salvará dados em células específicas?
Por exemplo:
ao buscar o professor x, como configurarei o botão salvar para salvar os dados das txtbox do userform na planilha indicada. Pelo que sei, usando count + 1.row, os dados sairão em células diferentes das que quero, em sequência.

Pode ser que o professor x esteja no intervalo g3:k12, local onde há células para as txtbox do form, como turma, turno, quantidade de aulas lecionadas, etc.

Entendeu? Resumindo: gostaria de usar o comando para que os dados fossem salvos em células específicas daquele professor.

Obrigado de coração!

 
Postado : 19/01/2014 2:53 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Ok, Ricardo.

Compacte seu arquivo e anexe-o aqui.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 20/01/2014 9:00 pm