Notifications
Clear all

Ativar Userform Dependendo do valor da celula

7 Posts
2 Usuários
0 Reactions
1,011 Visualizações
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Este comando abaixo faz exatamente isso, porem como estou usando uma caixa de listagem, eu gostaria de nao ter que precionar ENTER, quero que ao mudar a celula A, ja chame a Useform.

Grato

Andre

 
Postado : 02/09/2016 3:15 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Como vc nao deu mais detalhes segue um codigo simples tente adaptar ou de mais detalhes com um exemplo

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value <> "" Then

userform1.Show

End If

End Sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 02/09/2016 4:59 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

Desculpe, esqueci de postar o codigo, rsrsrs.

Mas eu queo o seguinte, tenho uma lista suspensa com 6 escolhas e a celula A1 ira ficar com numeros de 1 a 6. Se marcar dinheiro a1=1, se deposito A1= 2 se debito A1=3 , se credito A1= 4..... Eu quero que caso a celula A1 = 4 e acima , ja chame a useform, se marco dinheiro A1 fica 1 e nada acontece, mas se seleciono debito ou cartao em d1 a1= 3,4 entao automaticamente ja chama a useform.

Grato, amanha testo sei codigo acima.

 
Postado : 02/09/2016 7:24 pm
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

funcionou nao

Mas este aqui sim, porem so chama a Useform se eu clicar com botao do mouse em qualquer ponto da planilha. Eu quero que ao modificar escolher na caixa a palavra cartao, pois em U6 sera = 5 , ja chame a Usefor. e por exemplo se eu clicar na Caixa de listagem e escolher dinheiro, que neste caso U6=1, entao nada muda e nao chama a useform.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address = "$U$6" Then

Exit Sub
End If

 Select Case Range("U6").Value
Case 5
'Dinheiro_Cartao.Show

'Case 6
'UserForm2.Show

End Select

End Sub
 
Postado : 03/09/2016 5:56 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

conegui aqui

Private Sub Worksheet_Calculate()
If Range("U6") = "5" Then Dinheiro_Cartao.Show
If Range("U6") = "6" Then Dinheiro_Cartao.Show
End Sub

Grato

Andre

 
Postado : 03/09/2016 6:21 am
(@fazerbem)
Posts: 697
Honorable Member
Topic starter
 

So mais esta aqui:

Private Sub UserForm_Initialize()
TextBox3.Value = "R$ " & Sheets("Venda1").Range("S4")
End Sub

Esta tudo certinho, porem na Plan celula S4 = R$ 54.54 , mas aparece 54,543 na Useform. Queria que aparecesse exatos 54,54, pois na plan so deixei 2 casas decimais.

Outro problema é se S4 = R$ 100.00 , neste caso so vai aparecer na textBox3 = R$ 100, queria que aparecesse R$ 100.00

Estando eu na Useform qual comando para fazer com que a TextBox1 ( dentro da Useform) Varie seu texto apresentando conforme umas das Myoption abaixo ?

Quero que se Myoption = 1 entao, Dinheiro
Se Myoption =2 entao Cartao

Dim Opt As String

Dim Myoption As String
If Opt1.Value = True Then
Myoption = "1"
Else
If Opt2.Value = True Then
Myoption = "2"
Else
If Opt3.Value = True Then
Myoption = "3"
Else
If Opt4.Value = True Then
Myoption = "4"
Else
If Opt5.Value = True Then
Myoption = "5"
Else
If Opt6.Value = True Then
Myoption = "6"
Else
If Opt7.Value = True Then
Myoption = "7"
Else
If Opt8.Value = True Then
Myoption = "8"
Else
If Opt9.Value = True Then
Myoption = "9"
Else
If Opt10.Value = True Then
Myoption = "10"

End If
End If
End If
End If
End If
End If
End If
End If
End If
End If

Grato

Andre

 
Postado : 03/09/2016 9:10 am
(@mprudencio)
Posts: 2749
Famed Member
 

Como sempre o ideal seria disponibilizar o arquivo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 03/09/2016 10:49 am