Excel planilha vba cores aleatorias frase

Sex, 22 de Abril de 2011 09:21 Expedito Marcondes
Imprimir

Saberexcel - o site de quem precisa aprender Macros Microsoft Excel VBA.

Essa macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), insere cores aleatórias em todas as palavras contidas em determinadas células,
neste caso específico insere em uma célula(H3) uma condição IF, para que voce possa testar e entender melhor o exemplo, por exemplo se o valor da célula [H3] for igual a "cores", o macro irá inserir cores no interior da célula e também cores aleatórias em cada palavra da célula a cada execução da macro, caso escolha o valor da célula "branco", então não vai inserir cores no interior da célula, somente cores aleatórias em todas as palavras contidas na frase na célula A1. Por exemplo a frase ficaria assim, com cores aleatórias a cada execução do macro.

             A   B       
1 Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel  
2    


Espero que gostem do exemplo, Fique com Deus, Expedito Marcondes.
Esta planiha faz parte do MODULO COMO FAZER - Programação Microsoft Excel VBA_V
( há alguns exemplos dos módulos COMO FAZER Programação MS Excel VBA, como demonstração)  - São muito bons.


Public Sub cores_aleatorias_frase()
Dim vRange As Range
Dim vCorInterior As Integer
Dim sbArray
Dim i As Long, vTemp As Long

'Todas as palavras de uma célula com a cor da fonte aleatória

 
  Set vRange = Saber1.Range("A1")

  If vRange.Value = "" Then
     MsgBox "Não há nenhum texto na célula", vbInformation, "Saberexcel - site das macros"
     Exit Sub
  End If
 
  sbArray = Split(vRange.Value)
  Randomize
  '[A1].Select
  For i = 0 To UBound(sbArray)
    vCorInterior = Int((56 * Rnd) + 1)
    vRange.Characters(Start:=vTemp + i, Length:=Len(vRange)).Font.ColorIndex = vCorInterior
   
    '(condição IF) somente para ilustrar o teste mudar a cor de fundo do intervalo de células
    If [H3].Value = "cores" Then
       [A1:J1].Interior.ColorIndex = vCorInterior
       [H5].Value = "H3 = palavra 'cores' Mudará as cores da fonte de cada letra da frase e interior da célula"
       [H5].Font.ColorIndex = 11
    Else
       [A1:J1].Interior.ColorIndex = xlNone
       [H5].Value = "H3 = palavra 'branco' Mudará apenas as cores da fonte de cada letra da frase"
       [H5].Font.ColorIndex = 7
    End If
   
    vTemp = vTemp + Len(sbArray(i))
   
  Next i

  Set vRange = Nothing
  Erase sbArray
End Sub


Essas macros abaixo são apenas auxiliar para o teste, para facilitar, mas uso muito em aplicações em programas acho de boa utilidade.
Sub visualizar_macros_vbe()
 Dim Resposta As String
 
 Resposta = MsgBox("Deseja visualizar as macros no módulo VBE?", vbYesNo, "Saberexcel - o site das macros")
 If Resposta = 6 Then ' 6 é igual a vbyes
    Application.Goto reference:="cores_aleatorias_frase"
 Else
    Saber1.Shapes("sb").Visible = True
 End If
End Sub

Sub oc()
Saber1.Shapes("sb").Visible = False
End Sub





Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Saberexcel




   Baixe o exemplo de planiha contendo os macros acima (Registre-se em nosso site)
Excel planilha vba cores aleatorias frase (72.45 KB)



Publicidade
Compre com segurança, garantia e ótimos preços

Eletrônicos - Submarino.com.br

Tags:
Última atualização em Qua, 10 de Agosto de 2011 08:27