Notifications
Clear all

Enviar backcolor do label para a planilha

9 Posts
2 Usuários
0 Reactions
1,298 Visualizações
(@odracir)
Posts: 12
Active Member
Topic starter
 

Quando o valor &H00000080& ( cor verde) do backcolor do label é enviado para a planilha, aparece o número 49152.
Como preciso voltar com o valor &H00000080& para o UserForm no dia seguinte, não sei como formatar o número para que o backcolor volte a ficar verde.

 
Postado : 09/03/2016 9:03 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu não entendi o que pretende, mas o numero que indicou é a representação hexadecimal de uma determinada cor, e no meu teste não é verde.
Mas porque enviar para a planilha e depois pretender definir este valor como a cor quando iniciar o formulario novamente, não é mais fácil deixar o valor definido no evento initialize do form ?

Private Sub UserForm_Initialize()
    With Me
      .Label1.BackColor = &H00000080&
    End With
End Sub

Tambem pode utilizar : .Label1.BackColor = vbGreen

Veja uma tabela de cores no link abaixo :
http://dmcritchie.mvps.org/excel/colors.htm

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 09/03/2016 11:59 am
(@odracir)
Posts: 12
Active Member
Topic starter
 

Tenho em um mesmo label a troca das cores verde, vermelho e amarelo e, no fim do dia quero guardar na planilha qual a última cor que ficou no label para ser resgatada no dia seguinte.
Realmente eu errei, o código hexadecimal da cor verde é &H0000C000& e ao ser transportada para a planilha vem o número 49152.
No vcGreen também retorna o numero 49152.

Tenho um togglebutton que no primeiro clique muda o label que está verde para vermelho e no segundo clique muda para verde.
No mesmo label um clique muda para amarelo e um duplo clique volta para verde.

O problema está em levar da planilha uma formatação de abertura do label, no dia seguinte, com a as cores do fechamento do forme no dia anterior.

 
Postado : 09/03/2016 5:19 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

O Valor hexadecimal "&H0000C000&" quando enviado para uma celula ele é convertido e sua representação decimal é o numero citado "49152", o qual você pode usa-lo normalmente para definir da mesma forma que deve estar definindo o hexadecimal, ou seja :

    With Me
      .Label1.BackColor = 49152
    End With

Supondo que este valor está na celula "A1", é só capturar e armazena-lo em uma variável e depois utilizar na rotina, ficaria algo tipo :

Private Sub CommandButton1_Click()
    
    Dim LbColor

    LbColor = Range("A1").Value
    
    With Me
      .Label1.BackColor = LbColor
    End With

End Sub

Espero que seja isto.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 09/03/2016 8:58 pm
(@odracir)
Posts: 12
Active Member
Topic starter
 

Private Sub CommandButton1_Click()

Dim LbColor

LbColor = Range("A1").Value

With Me
.Label1.BackColor = LbColor
End With

End Sub

Grande Mauro, com relação ao número 49152 troquei o hexadecimal por ele lá nos códigos e funcionou perfeitamente também com o vermelho e o amarelo.
O problema é que tenho 70 togglebutton e 70 label e quero colocar na planilha somente as cores do dia de hoje, ou seja, usar uma única linha na planilha e, hoje no final do dia quando eu clicar no botão para salvar as cores na planilha, ele apaga as cores do dia de anterior e salva as cores de hoje na planilha.

 
Postado : 10/03/2016 11:51 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Grande Mauro, com relação ao número 49152 troquei o hexadecimal por ele lá nos códigos e funcionou perfeitamente também com o vermelho e o amarelo.
O problema é que tenho 70 togglebutton e 70 label e quero colocar na planilha somente as cores do dia de hoje, ou seja, usar uma única linha na planilha e, hoje no final do dia quando eu clicar no botão para salvar as cores na planilha, ele apaga as cores do dia de anterior e salva as cores de hoje na planilha.

ODRACIR, eu simplesmente respondi a questão da definição das cores e postei uma forma basica de se fazer da forma que entendi, mas acontece que não sei como é o seu projeto, nem como envia estes valores para a planilha e nem em que ranges, se está utilizando uma celula para cada definição dos botões, lembre-se, eu estou só por suposição, não conheço o seu projeto, então o ideal seria anexar as rotinas que está utilizando ou até melhor seu modelo com detalhes, assim ficará mais fácil de entender e chegar a um resultado positivo e evitar estarmos por tentativa de erro e acertos.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/03/2016 1:10 pm
(@odracir)
Posts: 12
Active Member
Topic starter
 

Ok estou anexando a planilha.
Obrigado por enquanto.

 
Postado : 10/03/2016 2:26 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

ODRACIR, dei uma olhada rapida e pelo que vi você já tem as linhas que buscam na aba "BD" o que foi gravado anteriormente na rotina do "Private Sub UserForm_Initialize()", só que estão desabilitadas, e para que funcione pelo menos da forma que entendi é só acrescentar a linha que pega a linha ("cont") mas sem o "+1", ficando assim :

Private Sub UserForm_Initialize()
    Labhora = Time
    Labdata = Date

    Worksheets("BD").Select
    cont = Worksheets("BD").UsedRange.Rows.Count

   L1.BackColor = Cells(cont, 2)
   L2.BackColor = Cells(cont, 3)
   L3.BackColor = Cells(cont, 4)

.............
.................
End Sub

faça os testes e veja se é isto.
[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/03/2016 7:48 pm
(@odracir)
Posts: 12
Active Member
Topic starter
 

Caro Mauro, ficou perfeito, fico imensamente agradecido pela suas dicas.
Adicionei [A2].ClearContents no botão que envia as cores para a planilha.
Obrigaduuuuuuuuu

 
Postado : 11/03/2016 6:26 am