Jump to content

Recommended Posts

Posted

Bom,

Alguem poderia me ajudar? Estou precisando fazer com que um form criado no vba excel contendo um textbox e uma label, onde (textbox) recebe um valor numerico e o (label) deixei preparado pra aparecer os valores acumulados.

Nao estou conseguindo fazer esse treco funcionar,

Tipo, quero que quando eu digitar 100,00 na textbox apareça na label, quando eu alterar ou seja, digitar mais 50,00 ele possa pegar os 100,00 e somar com mais 50,00 e na label alterar para o valor atualizado. Quando eu digitar -30 ele diminuir o valor na labem, de sorte que funcione bem

grato

Posted

Edsudani

tenho um forme de cadastro, onde este cadastro escreve na planilha do excel, o que eu estou precisando é acumular o valor na mesma celular.

tipo, eu faço o cadastro de um cliente e o valor inicial dele é de 100,00

caso ele mê pague 30 eu quero ir em alterar digitar no campo valor -30 e na label que tem o valor acumulado atualizar

a label é onde vai me mostrar na tela do cadastro do cliente quanto ele ainda me deve

na textbox que digito o valor é nela mesmo que quero tbm alteerar

ex. se ele me comprar mais algo no valor de 50,00 eu vou em alterar digito na textbox 50,00 ele acumula e me mostra na label (valor acumulado)

se ele me pgar algum valor eu vou e digito -valorpago e a label atualiza pra mim

me ajude!

Posted

boas já viste o meu post anterior, a pag 15 tem a solução.

tens que  indicar de vais sumar ou subtrair  e normalmente é feito com botões.

coloca 2 botões  um para sumar outro para subtrair.

no evento clik botao sumar

 label1.caption = val(val(label1.caption) + val (text1.text))
text1.text = ""

no evento do botao -

 label1.caption = val(val(label1.caption) - val (text1.text))
text1.text = ""

ou teres uma condição para substituires os botões.

 if qualquercoisa = x then
'faz a soma
else
'faz a subtração
end if

ps: o botão sumar e subtrair podem ter outros nomes como «comprar e pagar» ou outros.

cumps

acao

Posted

acao

obg pela orientecao, mais ainda ha um probleminha, que nao esta pegando o valor e colocando na label, estou meio enrolado nisso aqui.

cara criei os dois botoes, "somar" e " abater"

quero que ao cadastrar a pessoa e divigitar um valor quando clicar em "somar" ele escreva pra mim na celula e me mostre na labem onde vai ter o o valor acumulado

please!

Posted

acao

obg pela orientecao, mais ainda ha um probleminha, que nao esta pegando o valor e colocando na label, estou meio enrolado nisso aqui.

cara criei os dois botoes, "somar" e " abater"

quero que ao cadastrar a pessoa e divigitar um valor quando clicar em "somar" ele escreva pra mim na celula e me mostre na labem onde vai ter o o valor acumulado

please!

no meu post anterior coloquei o cod..

no evento clik do botao colocas:

label1.caption = val(val(label1.caption) + val (text1.text))
text1.text = ""

atenção que tens que mudar o nome do label e textbox de acordo com os teus.

ou então

no evento clik do botao colocas:

Dim valorLabel As Integer
Dim valortextbox As Integer
valorLabel = Val(Label1.Caption)
valortextbox = Val(Text1.Text)
Label1.Caption = valorLabel + valortextbox
Text1.Text = ""

isto para o botao sumar, para o subtrair é so  alterar o sinal + para - 

cumps

acao

Posted

acao

deu certo agora com a tua ajuda na postagem anterior, agora estou com uma duvida. tipo:

quando eu faço a somatoria ou a subtração ele aparece no label, (correto) mas nao fica gravado.

ou seja quando fecho a tela entro novamente a label esta em branco, nao me mostra os dados gravados.

outra coisa, eu tenho no forme um botao por nome OK pra confirmar as alterações. quando eu click no botao somar ou sbtrair ele nao cadastra ou seja, nao atera na celula onde esta armazenada. so grava na tabela do excel quando clico em OK.

🙂

ou negocio dificil esse treco de programação! mais vou aprender vlw!

Posted

boas

Private Sub CmdInserirDadosFormulario_Click()
ActiveWorkbook.Sheets("Folha1").Activate
Range("A1").Select
'extrai valor celila B1
textbox1.text = ActiveCell.Offset(0, 1).Value
End Sub

Private Sub CmdInserirDadosPanilha_Click()
ActiveWorkbook.Sheets("Folha1").Activate
Range("A1").Select
'inserir dados celula B1
ActiveCell.Offset(0, 1).Value = label1.caption
End Sub

cumps

acao

Posted

acao

nao entendi mano!

no codigo anterior que vc postou pra mim, deu legal, so que eu preciso que o botao (somar) adicione o valor tanto na label como tambel na coluna onde ficarao os valor. e que fique sempre mostrando os valores tanto na label como na textbox.

]

veja se da pra entende!  abraço....

Posted

acao

nao entendi mano!

no codigo anterior que vc postou pra mim, deu legal, so que eu preciso que o botao (somar) adicione o valor tanto na label como tambel na coluna onde ficarao os valor. e que fique sempre mostrando os valores tanto na label como na textbox.

]

veja se da pra entende!  abraço....

veja se com este exemplo voce consegue chegar lá.

http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=452631

senao conseguir coloque aqui o codigo para depois ajudar.

cumps

acao

Posted

ACAO

nao entendi, nao consegui!

olha, me ajuda em outra coisa aqui:

no form de cadastro coloquei dois  botoes de opções (ativo) e (desativar), que quero que funcionem basicamente assim:

quando eu cadastar ou alterar o cadastro e marcar a pessoa com (ativo) a pessoa aparecerá na coluna do excel com nome "Cliente", se escolher a opção (desativar), o nome do cliente sairá da coluta cliente e aparecerá na coluna "Congelado". e assim vice e versa.

pode me ajudar nisso ae?

abraço

Posted

boas

veja se é possivel colocar aqui o seu ficheiro ou apenas a parte do que necessita.

não se esqueça de eliminar dados importantes como pessoais etc.

assim seria mais facil para mim entender as suas dificuldades.

cumps

acao

Posted

boas

referenta ainda à primeira ajuda.

a caixa de texto «txtValor.Text» apenas serve para somar e subtrarir o valor?

se sim, aqui na sub trocas pelo label «lblValorAcumulado.Caption»

se necessitas dela para mais alguma coisa acrescentas mais o label «lblValorAcumulado.Caption» ligado à celula que quiseres.

Private Sub SalvaRegistro(ByVal id As Long, ByVal indice As Long)
    With wsCadastroClientes
        .Cells(indice, colCodigo).Value = id
        .Cells(indice, colData).Value = Me.txtData.Text
        .Cells(indice, colNome).Value = Me.txtNome.Text
        .Cells(indice, colBairro).Value = Me.txtBairro.Text
        .Cells(indice, colTelefone).Value = Me.txtTelefone.Text
        .Cells(indice, colValor).Value = Me.txtValor.Text
        .Cells(indice, colEmail).Value = Me.txtEmail.Text
        .Cells(indice, colObservacao).Value = Me.txtObservacao.Text
        .Cells(indice, colRenda).Value = Me.txtRenda.Text
    End With

    Call AtualizaRegistroAtual
End Sub

referente a:

olha, me ajuda em outra coisa aqui:

no form de cadastro coloquei dois  botoes de opções (ativo) e (desativar), que quero que funcionem basicamente assim:

quando eu cadastar ou alterar o cadastro e marcar a pessoa com (ativo) a pessoa aparecerá na coluna do excel com nome "Cliente", se escolher a opção (desativar), o nome do cliente sairá da coluta cliente e aparecerá na coluna "Congelado". e assim vice e versa.

pode fazer assim:

coloque os botões opção dentro de uma frame, mas tem que ser adicionados para dentro e não arrastados para automaticamente fazer um array aos botões, num dos botoes coloque a propriedade value como true, corra o form aonde tem os botoes e se clicar num e o chek mudar fez o pretendido.

PS: só podemos ter um botão marcado, não pode ser possivel ter os dois marcados ou desmarcados.

coloque duas variaveis no modulo:

Public vActivo As Boolean
Public vDesactivo As Boolean

no evento clik dos botões coloque:

Private Sub OptActivo_Click()
If OptActivo.Value = vbChecked Then
vActivo = True
Else
vActivo = False
End If
End Sub

Private Sub OptDesactivo_Click()
If OptDesactivo.Value = vbChecked Then
vDesactivo = True
Else
vDesactivo = False
End Sub

altere a sub SalvaRegistro.

Private Sub SalvaRegistro(ByVal id As Long, ByVal indice As Long)
    With wsCadastroClientes
        .Cells(indice, colCodigo).Value = id
        .Cells(indice, colData).Value = Me.txtData.Text
          If vActivo = True Then
         'veja se a coluna é esta
        .Cells(indice, colNome).Value = Me.txtNome.Text
        Else
        .Cells(indice, colNome).Value = ""
        End If
        If vDesactivo = True Then
        'coloque a coluna desejada
        .Cells(indice, colCongelado).Value = Me.txtNome.Text
        Else
        .Cells(indice, colCongelado).Value = ""
       End If
        .Cells(indice, colBairro).Value = Me.txtBairro.Text
        .Cells(indice, colTelefone).Value = Me.txtTelefone.Text
        .Cells(indice, colValor).Value = Me.txtValor.Text
        .Cells(indice, colEmail).Value = Me.txtEmail.Text
        .Cells(indice, colObservacao).Value = Me.txtObservacao.Text
        .Cells(indice, colRenda).Value = Me.txtRenda.Text
    End With

    Call AtualizaRegistroAtual
End Sub

cumps

acao

Posted

acao

esta dando erro nesse codigo quando clico em alguma das duas opções

'codigo para os botoes de comando ATIVO e DESATIVADO

Private Sub optAtivo_Click()

If optAtivo.Value = vbChecked Then

vAtivo = True

Else

vAtivo = False

End If

End Sub

Private Sub optDesativado_Click()

If optDesativado.Value = vbChecked Then

vDesativado = True

Else

vDesativado = False

End Sub

'fim do codigo

🙂

Posted

acao

esta dando erro nesse codigo quando clico em alguma das duas opções

'codigo para os botoes de comando ATIVO e DESATIVADO

Private Sub optAtivo_Click()

If optAtivo.Value = vbChecked Then

vAtivo = True

Else

vAtivo = False

End If

End Sub

Private Sub optDesativado_Click()

If optDesativado.Value = vbChecked Then

vDesativado = True

Else

vDesativado = False

End Sub

'fim do codigo

😉

falta um end if no sub optDesactivado.

Posted

acao resolvi o problema!

agora mais uma coisinha.... apos confirmar o cadastro os botoes nao apontam para o status se esta ativo ou desativado ao passar os registro...

na sub Limpa coloque:

nomeBotaoOpçao.Value = Vbchecked 

ou

nomeBotaoOpçao.value = true

vaja tambem se é necessario colocar a variavel correspondente ao botao! se sim faça assim:

vActivo =true

ou

vDesactivo =true

o nomeBotaoOpçao é o nome do botao que você que checado.

edit: acrescentar cod.

cumps

acao

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.