Notifications
Clear all

Ajuda com Scrollbar manipulando células. (valor só sobe)

3 Posts
1 Usuários
0 Reactions
1,070 Visualizações
(@finaljustice)
Posts: 91
Trusted Member
Topic starter
 

Boa tarde,

Estou criando uma userform que coleta informações de uma planilha e exibe estas de maneira mais sucinta na userform. Para facilitar a manipulação e alteração da planilha decidi usar SCROLLBARS para aumentar e diminuir valores dentro de um certo intervalo.

Estou disponibilizando um exemplo do que eu fiz, porém não estou conseguindo fazer o número descer. Só consigo fazer o número aumentar (só a seta para a direita está funcionando). Como eu nunca usei scrollbars não tenho certeza do que estou fazendo exatamente, estou indo por exemplos que achei picados na internet.

Basicamente o valor que tenho deve variar entre 1600 e 1850 livremente sendo alterado na userform e na sheet, havendo a possibilidade de aumentar o valor e diminuir dentro desse intervalo pre estabelecido. Só estou conseguindo fazer o número aumentar, e quando chega no limite superior basicamente ela para de funcionar...

Alguém poderia me dar um auxilio por gentileza??
Agradeço antecipadamente sua atenção.

Att
Luis

 
Postado : 31/08/2015 12:52 pm
(@finaljustice)
Posts: 91
Trusted Member
Topic starter
 
Private Sub ScrollBar1_Change()
'a Ideia é essa userform manipular a sheet e que o valor que possa variar livremente entre 1600 e 1850
'ScrollBar1.Min = UserForm1.TextBox1
With ScrollBar1
    .Min = UserForm1.TextBox1
    .Max = 1850
    .LargeChange = 50
    .SmallChange = 1
    '.Value = serForm1.TextBox1U
End With

Sheets(1).Range("A1").Value = ScrollBar1.Value
UserForm1.TextBox1 = Sheets(1).Range("A1")
End Sub

Neste código só consigo fazer o valor subir usando o scrollbar, no entando quando aperto a seta para baixo para reduzir, este não abaixa. Percebi que tem haver com o .min que estou usando, porém se eu não utilizar esse comando o valor mínimo na hora de mexer na scrollbar vai ser a que foi estipulada, e tem que ser o exibido que está na planilha.

Basicamente seria uma temperatura, em que essa temperatura devo conseguir variar entre 1600ºC a 1850ºC. Mas, digamos que eu parei de mexer nas setas em um valor tipo 1740ºC então na hora de recomeçar ele deve estar nesse valor, o que não acontece se eu estipular um valor fixo minimo de 1600ºC. E esse valor que é exibido na Useform deve refletir em na planilha na celula A1.

Deve ser alguma coisa muito simples, alguém poderia me dar uma luz por gentileza?

Att,

Luis

 
Postado : 01/09/2015 12:18 pm
(@finaljustice)
Posts: 91
Trusted Member
Topic starter
 

Segue a resolução.

Private Sub UserForm_Initialize()
    With UserForm1
        With .ScrollBar1
            .Min = 1600
            .Max = 1850
            .LargeChange = 50
            .SmallChange = 1
            '.Value = UserForm1.TextBox1
        End With
        DisableUFEvents = True
        .TextBox1 = ThisWorkbook.Sheets(1).Range("A1").Text
        DisableUFEvents = False
    End With
End Sub
Dim DisableUFEvents As Boolean

Private Sub ScrollBar1_Change()
    If DisableUFEvents Then Exit Sub
    DisableUFEvents = True
    Me.TextBox1.Text = Me.ScrollBar1.Value
    DisableUFEvents = False
End Sub

Private Sub TextBox1_Change()
    If DisableUFEvents Then Exit Sub
    DisableUFEvents = True
    Me.ScrollBar1.Value = Val(Me.TextBox1.Text)
    DisableUFEvents = False
End Sub
 
Postado : 16/09/2015 6:52 am