Notifications
Clear all

Mudar cor de letras de um botão

5 Posts
2 Usuários
0 Reactions
1,038 Visualizações
(@lezao)
Posts: 0
New Member
Topic starter
 

Boa tarde!

Meus amigos, estou precisando q qnd a minha celula C51 aparecer a palavra "Esgotado" a letra do botão Nº 10 fica em vermelho!

É possivel isso???

 
Postado : 01/03/2018 1:09 pm
(@basole)
Posts: 487
Reputable Member
 

Lezão não sei se eu que estou daltônico, mas aqui pra mim o botão 10 já está vermelho.

Como o valor da celula C51 é alterada através do calculo de formulas usei o evento calculate.

Cole o código no editor da planilha NOVA e para testar, altere a cor do botão para uma cor diferente do vermelho.

E Altere os valores para alterar o status da célula.


Private Sub Worksheet_Calculate()
    Dim shp As Shape
    
    If Range("C51").Value = "ESGOTADO!" Then
        
        For Each shp In ActiveSheet.Shapes
            If shp.Type = 1 Then
                If shp.TextFrame2.TextRange.Text = "10" Then
                    shp.TextFrame.Characters.Font.ColorIndex = 3
                    Exit For
                End If
            End If
        Next shp
        
    End If
    
End Sub

 
Postado : 01/03/2018 5:03 pm
(@lezao)
Posts: 0
New Member
Topic starter
 

Boa noite Basole!
sua teoria deu certo qnd a celular c51 esta com a palavra " esgotado! ", mas quero q volte a ficar na cor branco senaun estiver esgotado....
ESGOTADO= cor vermelha
NADA ESCRITO=cor branca

 
Postado : 01/03/2018 7:27 pm
(@basole)
Posts: 487
Reputable Member
 

Opa! mas agora você incluiu mais uma questão.

Vou ter que dobrar meus honorários kkk k..

Bom veja agora com as alterações:


Private Sub Worksheet_Calculate()
    
    If Range("C51").Value = "ESGOTADO!" Then
        Color_Botao "10", 3
    ElseIf Range("C51").Value = "" Then
        Color_Botao "10", 2
    End If
    
End Sub

Function Color_Botao(sNumBt As String, cor As Long)
    Dim shp As Shape
    
    For Each shp In ActiveSheet.Shapes
        If shp.Type = 1 Then
            If shp.TextFrame2.TextRange.Text = sNumBt Then
                shp.TextFrame.Characters.Font.ColorIndex = cor
                Exit For
            End If
        End If
    Next shp
    
End Function

Abs.

 
Postado : 01/03/2018 7:57 pm
(@lezao)
Posts: 0
New Member
Topic starter
 

Meu amigo era isso mesmo q eu estava precisando.
Seus honorários serão pagos sim, é só vc vir pro BARRETÃO, q nós tomas umas brejas !!!!

Vlw, Basole muito obrigado!

 
Postado : 02/03/2018 9:37 am