Paleta de cores em userform
Essa é para aqueles que já tem uma certa familiaridade com macros no Excel, e já conhecem o uso dos userforms. Aqui você vai ver como criar uma paleta de cores em userform, como capturar o código dessas cores e como utilizar esses códigos em outros locais nas suas planilhas.
Este é um post mais curto, acredito que o vídeo abaixo consiga explicar tudo de forma muito mais simples do que um texto poderia fazer. Assim, pega a pipoca aí e aproveite a aula ;), o código de macro exibido no vídeo está mais abaixo.
Na parte inferior tem também a planilha usada no vídeo, caso queira fazer o download.
Vídeo de como usar uma paleta de cores em userform
Coloque o vídeo em tela cheia para assistir normalmente
Saiba como altero as cores do meu código VBA clicando aqui
Código da macro
Siga as instruções do vídeo para saber como e onde inserir o código abaixo.
Function PickNewColor(Optional i_OldColor As Double = xlNone) As Double Const BGColor As Long = 13160660 'Cor do background Const ColorIndexLast As Long = 32 'Index da última cor padrão da paleta Dim myOrgColor As Double 'Cor original Dim myNewColor As Double 'Cor selecionada Dim myRGB_R As Integer 'Valores RGB das cores que serão Dim myRGB_G As Integer 'exibidas como Dim myRGB_B As Integer 'cores "Atuais" 'Salva a cor original da paleta, caso não venhamos a mudá-la myOrgColor = ActiveWorkbook.Colors(ColorIndexLast) If i_OldColor = xlNone Then 'Pega os valores RGB do background Color2RGB BGColor, myRGB_R, myRGB_G, myRGB_B Else 'Pega os valores RGB de i_OldColor Color2RGB i_OldColor, myRGB_R, myRGB_G, myRGB_B End If 'Chama o seletor de cores If Application.Dialogs(xlDialogEditColor).Show(ColorIndexLast, myRGB_R, myRGB_G, myRGB_B) = True Then 'Usuário apertou "OK", então o Excel automaticamente mudou a paleta e leu a nova cor selecionada PickNewColor = ActiveWorkbook.Colors(ColorIndexLast) 'Reseta a paleta de cores para o valor original ActiveWorkbook.Colors(ColorIndexLast) = myOrgColor Else 'Usuário apertou em "Cancelar" a paleta de cores não mudou, retorna a cor anterior PickNewColor = i_OldColor End If End Function 'Converte uma cor para valor em RGB Sub Color2RGB(ByVal i_Color As Long, o_R As Integer, o_G As Integer, o_B As Integer) o_R = i_Color Mod 256 i_Color = i_Color \ 256 o_G = i_Color Mod 256 i_Color = i_Color \ 256 o_B = i_Color Mod 256 End Sub
Planilha de exemplo
[sociallocker id=”30968″] Download “Paleta de cores em userform” Função Excel - Paleta de cores em userform.xlsm – Baixado 2415 vezes – 34,39 KB
No se puede descargar