Dúvida para selecionar cores no VBA
Enviado: 12 Jan 2022 às 02:59
Boa noite pessoal, tudo bem com vocês? Me surgiu uma dúvida aqui referente ao VBA e mudança de cores nas células. Vou tentar explicar com um exemplo genérico a minha dúvida. Eu criei esse quadro abaixo, que possui um botão para pintar as células abaixo e uma imagem de engrenagem, que eu transformei num userform:

Quando clicar naquela engrenagem, irá aparecer esse userform:

Ao clicar nos botões de cores, eles irão apenas mudar o valor da célula A1. Veja no esquema abaixo:

Ou seja, os botões das cores no userform irão mudar o valor da célula A1 para 1 ou 2 ou 3.
Prosseguindo, no “Botão que pinta as células abaixo” eu coloquei a seguinte fórmula:

O IF funcionou perfeitamente, o problema é o conteúdo que está dentro das macros Cor_01, Cor_02 e Cor_03.
Digamos que eu cliquei na primeira cor (aquele verde água) e então o valor da célula A1 será 1.
Quando eu clico no “Botão que pinta as células abaixo” acontece o seguinte erro:

O erro está contido na linha da cor, ou seja, em Color =
Eu usei essa fórmula acima para a Cor_01, Cor_02 e Cor_03 justamente pq se eu colocasse ela sem o If e somente para uma cor, ela funciona normalmente:

Porém, eu quero usar uma condição If no “Botão que pinta as células abaixo” para diferenciar as três cores do userform, então eu mantive o With Range (“D8,D10,D12,F12,F10,F8”).Interior e nas macros que o If ativa eu copiei somente oq está abaixo do With Range e mudei apenas o código da cor para que corresponda com a cor que está no userform... e não está dando certo. Será que vocês podem me ajudar com isso?
Qualquer dúvida a respeito da explicação, eu respondo por aqui. Obrigado pela atenção!!
PS. Eu preciso necessariamente criar a fórmula no "Botão que pinta as células abaixo" no formato:
With Range (“D8,D10,D12,F12,F10,F8”).Interior
If [A1] = "1" Then
Cor_01
ElseIf [A1] = "2" Then
Cor_02
ElseIf [A1] = "3" Then
Cor_03
End If
End With
End Sub

Quando clicar naquela engrenagem, irá aparecer esse userform:

Ao clicar nos botões de cores, eles irão apenas mudar o valor da célula A1. Veja no esquema abaixo:

Ou seja, os botões das cores no userform irão mudar o valor da célula A1 para 1 ou 2 ou 3.
Prosseguindo, no “Botão que pinta as células abaixo” eu coloquei a seguinte fórmula:

O IF funcionou perfeitamente, o problema é o conteúdo que está dentro das macros Cor_01, Cor_02 e Cor_03.
Digamos que eu cliquei na primeira cor (aquele verde água) e então o valor da célula A1 será 1.
Quando eu clico no “Botão que pinta as células abaixo” acontece o seguinte erro:

O erro está contido na linha da cor, ou seja, em Color =
Eu usei essa fórmula acima para a Cor_01, Cor_02 e Cor_03 justamente pq se eu colocasse ela sem o If e somente para uma cor, ela funciona normalmente:

Porém, eu quero usar uma condição If no “Botão que pinta as células abaixo” para diferenciar as três cores do userform, então eu mantive o With Range (“D8,D10,D12,F12,F10,F8”).Interior e nas macros que o If ativa eu copiei somente oq está abaixo do With Range e mudei apenas o código da cor para que corresponda com a cor que está no userform... e não está dando certo. Será que vocês podem me ajudar com isso?
Qualquer dúvida a respeito da explicação, eu respondo por aqui. Obrigado pela atenção!!
PS. Eu preciso necessariamente criar a fórmula no "Botão que pinta as células abaixo" no formato:
With Range (“D8,D10,D12,F12,F10,F8”).Interior
If [A1] = "1" Then
Cor_01
ElseIf [A1] = "2" Then
Cor_02
ElseIf [A1] = "3" Then
Cor_03
End If
End With
End Sub