none
Como trocar a cor da celula usando uma função RRS feed

  • Pergunta

  • Boa noite,

    Tenho interesse em criar uma função que seja capás de trocar a cor de fundo de uma celula. Tentei de passar a celula como referencia, porém, não consegui fazer o ajuste na celula em questão aparece um erro.

    Public Function Analise(ByRef Celula As Range) As String
    If Celula.Value >= 30 Then
      Analise = "Aprovado"
    
      With Celula.Interior
        .ColorIndex = 6
        .Pattern = xlSolid
      End With
    
      Else
        Analise = "Reprovado"
      End If
    End Function

    O código ainda contem um código que não havia previsto, a célula célula na qual fiz referencia é inadequada, pois, mesmo contendo o valor que desejo verificar a célula a ter o fundo pintado é a mesma onde a função deve ser executada.

    Aguém possui algum exemplo ou sugestão a respeito?

    Obrigado.

    segunda-feira, 22 de abril de 2013 02:08

Respostas

  • Boa noite Anderson.

    Se não estou enganado, não é possível realizar uma "formatação" através do resultado de uma "Function". Como forma de contornar isso, vc poderia realizar a inclusão desses critérios de formatação de 4 formas (não consigo pensar em nada além disso):

    1. Colocar um evento que execute sempre que a planilha for alterada contendo o código para formatação;
    2. Criar uma macro que execute a formatação a seu comando (não através de Function);
    3. Realizar o cadastramento dos critérios de formatação condicional manualmente, sem macros;
    4. Utilizar uma macro para realizar o cadastramento dos critérios de formatação condicional para o intervalo desejado.

    Espero que ajude.


    Filipe Magno


    segunda-feira, 22 de abril de 2013 03:25

Todas as Respostas

  • Boa noite Anderson.

    Se não estou enganado, não é possível realizar uma "formatação" através do resultado de uma "Function". Como forma de contornar isso, vc poderia realizar a inclusão desses critérios de formatação de 4 formas (não consigo pensar em nada além disso):

    1. Colocar um evento que execute sempre que a planilha for alterada contendo o código para formatação;
    2. Criar uma macro que execute a formatação a seu comando (não através de Function);
    3. Realizar o cadastramento dos critérios de formatação condicional manualmente, sem macros;
    4. Utilizar uma macro para realizar o cadastramento dos critérios de formatação condicional para o intervalo desejado.

    Espero que ajude.


    Filipe Magno


    segunda-feira, 22 de abril de 2013 03:25
  • Boa tarde, Felipe

    Compreendo já tentei usando uma sub rotinha sendo chamada pela função, porém, sem sucesso. Conforme minhas tentativas e sua resposta, o procedimento mais adequado será utilizar o um evento da planilha ou da pasta.

    Obrigado

    Abraço

    terça-feira, 23 de abril de 2013 17:47