Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
saber quantas textboxs foram preenchidas no formulario
-
- Consultor
- Mensagens: 285
- Registrado em: Qua Dez 09, 2015 5:54 pm
saber quantas textboxs foram preenchidas no formulario
Boa tarde amigos,
estou á procura de ajuda:
tenho um formulario e queria que ao gravar na planilha os dados das textboxs, ela numa coluna especifica me dê a soma das textboxs que foram preenchidas, ou se for mais facil, criar mais uma textbox que de esse resultado.
Exemplo:
o formulario tem 4 textboxs(textbox1,textbox2,textbox3,textbox4)
preenchi a textbox1 e a textbox2.
o codigo que tenho é cada textbox ser copiada para colunas diferentes da planilha, mas neste caso dava um resultado de 2 , era enviado para uma outra coluna.
a soma que quero não é valores escritos nas textboxs,mas sim ir á planilha á coluna e saber que no preenchimento daqueles dados, so foram preenchida 2 textboxs das 4 existentes.
obrigado
estou á procura de ajuda:
tenho um formulario e queria que ao gravar na planilha os dados das textboxs, ela numa coluna especifica me dê a soma das textboxs que foram preenchidas, ou se for mais facil, criar mais uma textbox que de esse resultado.
Exemplo:
o formulario tem 4 textboxs(textbox1,textbox2,textbox3,textbox4)
preenchi a textbox1 e a textbox2.
o codigo que tenho é cada textbox ser copiada para colunas diferentes da planilha, mas neste caso dava um resultado de 2 , era enviado para uma outra coluna.
a soma que quero não é valores escritos nas textboxs,mas sim ir á planilha á coluna e saber que no preenchimento daqueles dados, so foram preenchida 2 textboxs das 4 existentes.
obrigado
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: saber quantas textboxs foram preenchidas no formulario
Boa tarde,
Não entendi bem um que pretendes, mas segue um norte:
Vai retornar numa msgbox o que foi preenchido e o que não foi preenchido....
Não entendi bem um que pretendes, mas segue um norte:
Código: Selecionar todos
Sub CommandButton1_Click()
Dim fTextBox As Object
Dim xTxtName As String
Dim xEptTxtName As String
For Each fTextBox In UserForm1.Controls
If TypeName(fTextBox) = "TextBox" Then
If fTextBox.Text = "" Then
xEptTxtName = xEptTxtName & fTextBox.Name & " is empty" & vbNewLine
Else
xTxtName = xTxtName & fTextBox.Name & " is not empty" & vbNewLine
End If
End If
Next
If xEptTxtName <> "" Or xTxtName <> "" Then
MsgBox xEptTxtName & vbNewLine & xTxtName
End If
End Sub
-
- Consultor
- Mensagens: 285
- Registrado em: Qua Dez 09, 2015 5:54 pm
Re: saber quantas textboxs foram preenchidas no formulario
Bom dia JoseA,
obrigado pela resposta.
a ideia que pretendo é ao clicar no botao gravar, ele copie o valor das textboxs para a respetiva coluna da planilha(isso ja ele faz) e numa ultima coluna defenida por mim ele saiba quantas das textboxs foram preenchidas.
envio dados ema nexo para tentar perceber.
mais uma vez obrigado
obrigado pela resposta.
a ideia que pretendo é ao clicar no botao gravar, ele copie o valor das textboxs para a respetiva coluna da planilha(isso ja ele faz) e numa ultima coluna defenida por mim ele saiba quantas das textboxs foram preenchidas.
envio dados ema nexo para tentar perceber.
mais uma vez obrigado
- Anexos
-
- exemplo.rar
- (117.78 KiB) Baixado 65 vezes
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: saber quantas textboxs foram preenchidas no formulario
Apague o código do seu CommandButton1 e copie/cole:
Código: Selecionar todos
Private Sub CommandButton1_Click()
Folha1.Activate
Dim cont, Vaz
Vaz = 0
For cont = 1 To 4
If Len(Me.Controls("TextBox" & cont)) > 0 Then
Vaz = Vaz + 1
End If
Next cont
'Selecionar a célula A3
Range("A2").Select
'Procurar a primeira célula vazia
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
'carregar os dados digitados nas caixas de texto para a planilha
ActiveCell.Value = UserForm1.TextBox1.Value
ActiveCell.Offset(0, 1).Value = UserForm1.TextBox2.Value
ActiveCell.Offset(0, 2).Value = UserForm1.TextBox3.Value
ActiveCell.Offset(0, 3).Value = UserForm1.TextBox4.Value
ActiveCell.Offset(0, 4).Value = Vaz
If MsgBox("Registo Gravado com Sucesso" + vbCrLf + "Continuar a Registar?", vbQuestion + vbYesNo) = vbYes Then
'Limpar as caixas de texto
UserForm1.TextBox1.Value = Empty
UserForm1.TextBox2.Value = Empty
UserForm1.TextBox3.Value = Empty
UserForm1.TextBox4.Value = Empty
'Colocar o foco na primeira caixa de texto
UserForm1.TextBox1.SetFocus
Else
UserForm1.TextBox1.Value = Empty
UserForm1.TextBox2.Value = Empty
UserForm1.TextBox3.Value = Empty
UserForm1.TextBox4.Value = Empty
End If
End Sub
-
- Consultor
- Mensagens: 285
- Registrado em: Qua Dez 09, 2015 5:54 pm
Re: saber quantas textboxs foram preenchidas no formulario
JoseA,
obrigado, é mesmo esse o efeito.
vou adaptar ao meu formulario.
so umapergunta para ver se entendi o codigo:
muito obrigado pela ajuda
obrigado, é mesmo esse o efeito.
vou adaptar ao meu formulario.
so umapergunta para ver se entendi o codigo:
, quer dizer que todas as textboxs que eu tiver no formulario foram maior que 0, elas vao fazer o codigo funcionar, é isso.If Len(Me.Controls("TextBox" & cont)) > 0 Then
muito obrigado pela ajuda
- joseA
- Jedi
- Mensagens: 1048
- Registrado em: Qui Out 22, 2009 7:22 am
- Localização: Cel. Fabriciano - MG
Re: saber quantas textboxs foram preenchidas no formulario
Isso, vai verificar se os TextBox's tenham um valor maior que zero, ou seja, estejam preenchidos. Quando testar ai vai ver que retorna lá na coluna desejada o nº de preenchidos.
Saudações
Saudações
-
- Consultor
- Mensagens: 285
- Registrado em: Qua Dez 09, 2015 5:54 pm
Re: saber quantas textboxs foram preenchidas no formulario
boa tarde JoseA,
obrigado pela ajuda e explicaçao.
Obrigado
obrigado pela ajuda e explicaçao.
Obrigado
-
- Consultor
- Mensagens: 285
- Registrado em: Qua Dez 09, 2015 5:54 pm
Re: saber quantas textboxs foram preenchidas no formulario
joseA boa tarde,
estava a tentar adaptar no meu formulario e percebi uma coisa, primeiro com combobox, mas isso julgo ter adaptado certo, so troquei o codigo para ler as combobox, mas eu no formulario tenho outras comboboxs que nao entrao nesta contagem, existe maneira de colocar so as comboboxs que quero a fazer a soma,
exemplo:
ComboboxIPO é o nome que tenho so para as combobox que quero fazer a contagem, tenho comboboxIPO,comboboxIPO1,comboboxIPO2,comboboxIPO3,comboboxIPO4,comboboxIPO5,
tentei nesta fase do codigo substituir a "textbox" por comboboxIPO,mas ela so fez a contagem de 1 combobox preenchida, a que tem esse nome,
tentei tb, aqui dá sempre como as 6 tivessem preenchidas
se colocar assim dá erro
estava a tentar adaptar no meu formulario e percebi uma coisa, primeiro com combobox, mas isso julgo ter adaptado certo, so troquei o codigo para ler as combobox, mas eu no formulario tenho outras comboboxs que nao entrao nesta contagem, existe maneira de colocar so as comboboxs que quero a fazer a soma,
exemplo:
ComboboxIPO é o nome que tenho so para as combobox que quero fazer a contagem, tenho comboboxIPO,comboboxIPO1,comboboxIPO2,comboboxIPO3,comboboxIPO4,comboboxIPO5,
tentei nesta fase do codigo
Código: Selecionar todos
Dim cont, Vaz
Vaz = 0
For cont = 1 To 4
If Len(Me.Controls("TextBox" & cont)) > 0 Then
Vaz = Vaz + 1
tentei tb
Código: Selecionar todos
Dim cont, Vaz
Vaz = 0
For cont = 1 To 6
If Len("UserForm_Menu.ComboBoxCodIPO" & "UserForm_Menu.ComboBoxCodIPO1" & "UserForm_Menu.ComboBoxCodIPO2" _
& "UserForm_Menu.ComboBoxCodIPO3" & "UserForm_Menu.ComboBoxCodIPO4" & "UserForm_Menu.ComboBoxCodIPO5" & cont) > 0 Then
Vaz = Vaz + 1
End If
Next cont
se colocar
Código: Selecionar todos
Dim cont, Vaz
Vaz = 0
For cont = 1 To 6
If Len(Me.Controls("UserForm_Menu.ComboBoxCodIPO" & "UserForm_Menu.ComboBoxCodIPO1" & "UserForm_Menu.ComboBoxCodIPO2" _
& "UserForm_Menu.ComboBoxCodIPO3" & "UserForm_Menu.ComboBoxCodIPO4" & "UserForm_Menu.ComboBoxCodIPO5" & cont) > 0 Then
Vaz = Vaz + 1
End If
Next cont