Como colocar 2 condições em uma mesma célula ou fazer uma delas por VBA?

Anônima
2010-04-13T23:42:17+00:00

Boa noite, estou precisando fazer uma edição em uma planilha mas estou com dificuldade e gostaria de pedir ajuda a vocês.

Atualmente minha planilha contém uma formatação condicional baseada no valor atual da célula e a partir deste valor ela colori o fundo da célula. Preciso adicionar uma cláusula IF em cada uma dessas céluals para que desenhe uma seta indicando algumas mudanças (esse IF é baseado em valores em um outro worksheet).

Meu problema é o seguinte: eu consigo desenhar a seta com um IF simples utilizando a fonte Wingdings 3, mas como eu necessito que o background da célula seja colorido (baseado no valor da célula), não consigo utilizar essas duas funções juntas.

Estava pensando em fazer a parte de colorir através de VBA, para que possa utilizar esse IF para desenhar as setas. Essa seria a melhor solução?

Como poderia fazer em VBA essa função para colorir as células?

Obrigado.

Microsoft 365 e Office 365 | Instalar, resgatar, ativar | Para uso doméstico | Outro

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

8 respostas

Classificar por: Mais útil
  1. Anônima
    2010-04-14T02:21:24+00:00

    Colorir o fundo da célula em determinada cor...não é tãocomplicado...

    estruturar o código com as condicionais que você  possui para que isto se conrtetize.... isto sim será...

    Algumas opções:

    'Esta macro colorir colorir cor cores determinada região  (range)

    Sub Colori_regiao_range()

    Range("b2:f10").Interior.ColorIndex = 7 ------> Infor a tua cor

    'Range("b2:f10").ClearContents ' limpar a região -------> Este comando está "comentado", não terá funcionalidade....

    End Sub

    Aqui vc tanto interage com a célula como um todo...

    Sub seleciona_Interior_fonte()

        Range("B2").Select

        Selection.Interior.ColorIndex = 5

        Selection.Font.ColorIndex = 8

    End Sub

    Esta opção, você poderá inclusive somar quantas células foram coloridas de vermelho por exemplo...

    Sub Numero_Celula_Vermelha()

    Dim Cellule As Range

    Dim total  As Variant

    For Each Cellule In Selection

    If Cellule.Interior.ColorIndex = 3 Then 'vermelha

    total = total + Cellule.Count

    End If

    Next

    MsgBox "Existem " & total & " Celulas vermelhas"

    Range("A1") = total

    End Sub

    Bom é um pedaço...espero que te sirva como exemplo para que possas adaptar melhor a tua necessidade...

    Roberto Carlos Bilio

    Goiânia - Go.

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários
  2. Anônima
    2010-04-14T05:41:29+00:00

    Obrigado pela ajuda, mas tenho uma dúvida, como fica uma condicional em VBA, comparando o conteudo da célula e so então colorir dependendo do valor? Realmente conheço nada de VBA, então posso estar perguntando algo bem estúpido.

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2010-04-14T00:32:46+00:00

    Entendi que vc quer desenhar uma seta e formatar o fundo dependendo de algum valor. O IF é onde vc vai colocar a seta. A formatação condicional para colorir o fundo.

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2010-04-14T00:17:57+00:00

    O IF que vc vai acrescentar não tem relação com a formatação condicional. Faça os dois que funciona.

    Como adiciono o IF se a célula já tem um valor nela?

    Esta resposta foi útil?

    0 comentários Sem comentários
  5. Anônima
    2010-04-14T00:14:37+00:00

    O IF que vc vai acrescentar não tem relação com a formatação condicional. Faça os dois que funciona.

    Esta resposta foi útil?

    0 comentários Sem comentários