Como mudar a cor do formulário toda vez que ele for aberto.
Neste tutorial criaremos um código VBA para mudar a cor do formulário sempre for aberto, ou seja, toda vez que o formulário for executado ele abrirá com uma nova cor.
No Editor do Visual Basic crie um formulário simples como este da imagem abaixo:
No evento Initialize do Formulário adicione o seguinte código:
Private Sub UserForm_Initialize()
DimsCor As Integer 'Declaraa variável sCor
Randomize
' o número 7 representa o valor máximo e o 1 o valor mínimo,
' você pode alterar esses números de acordo com suas necessidades
sCor = CInt(Int((7 * Rnd()) + 1))
If sCor = 1 Then
UserForm2.BackColor = vbGreen
ElseIf sCor = 2 Then
UserForm2.BackColor = vbRed
ElseIf sCor = 3 Then
UserForm2.BackColor = vbBlue
ElseIf sCor = 4 Then
UserForm2.BackColor = vbYellow
ElseIf sCor = 5 Then
UserForm2.BackColor = vbMagenta
ElseIf sCor = 6 Then
UserForm2.BackColor = vbCyan
ElseIf sCor = 7 Then
UserForm2.BackColor = vbWhite
End If
End Sub
Deverá ficar como na imagem abaixo:
Neste exemplo usamos a função Randomize para gerar um número aleatório de 01 a 07 quando o formulário for acionado e usamos a função condicional If para especificar a cor do formulário de acordo com o número que foi gerado aleatoriamente o qual também define o valor da propriedade BackColor (cor do formulário).
Faça um teste executando o formulário e verá que ele muda de cor a cada execução.
Veja alguns exemplos:
Um detalhe interessante é que neste exemplo foram usadas as constantes: vbBlack, vbBlue, vbCyan, vbGreen, vbMagenta, vbRed, vbWhite e vbYellow, porém, usando a função RGB podemos obter outras cores, portanto, se você quiser exibir outras cores eu aconselho a utilizar função RGB, porque através desta função podemos usar o valor das combinações de cores.
Veja um exemplo de como ficaria o código usando a função RGB:
UserForm2.BackColor = RGB(191, 219, 255)
Para ir mais além: Para melhorar a aparência de seu formulário sugiro alterar também as cores de outros elementos do formulário, como: Botões de Comando, Rótulos, Quadros, Botão de rotação, etc.
Veja como ficaria o código do formulário utilizado neste tutorial com a alteração de cores de todos os controles:
Agora veja algumas imagens do formulário em tempo de execução.
Faça download do arquivo usado como exemplo neste tutorial: Baixar Arquivo