Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com macro para excel no visual basic


fdkdente

Pergunta

Bom dia, estou trabalhando em cima de uma planilha onde eu devo melhorar o sistema de datas e prazos para evitar vencimentos inesperados.

*Lembrando que sou noob no assunto de macros e em VBA

O que fiz foi o seguinte:

Sub aviso_data()

MsgBox "Datas próximas do vencimento em vermelho"

If Range("B1").Value >= Range("B5").Value Then

Range("B5").Interior.ColorIndex = 3
Else
End If

If Range("B1").Value >= Range("B6").Value Then

Range("B5").Interior.ColorIndex = 3
Else
End If

If Range("B1").Value >= Range("B7").Value Then

Range("B7").Interior.ColorIndex = 3
Else
End If

If Range("B1").Value >= Range("B8").Value Then

Range("B8").Interior.ColorIndex = 3
Else
End If
End Sub
 

JP15rVB.png?1

Estou achando esse código muito simples e "manual", já que tenho que escolher uma por uma as células com a data do aviso.
Gostaria de saber como seria possível e qual o código para usar corretamente variáveis, por exemplo:
Sub aviso_data()

Dim data_aviso As Date
data_aviso = ("b5:b8")
MsgBox "Datas próximas do vencimento em vermelho"

If Range("B1").Value >= data_aviso Then
' Aqui poderia ter uma linha de código que pintasse o fundo das células cujo valor fosse menor ou igual a data de hoje
Else
End If
End Sub

Seria algo no sentido do código acima (ele está incorreto)

Se alguém souber, por favor me ajude. Obrigado.

Editado por fdkdente
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Opa amigo, fiz o seguinte código abaixo...

No meu exemplo eu montei duas colunas

Na coluna A eu deixei uma numeração qualquer apenas para controle, como se fosse um numero de fatura por exemplo

Na coluna B, deixei minhas datas de Vencimento

Os valores começam na linha 3 da planilha

e na Célula D1 eu deixei a fórmula =Hoje()

então a macro verifica linha a linha as células da Coluna B e a compara com a célula D1

Bom, acho que esse código pode te dar uma Luz para a sua planilha...

Sub Vencimento()


Dim intLinha As Integer
intLinha = 3


Do While Len(Range("a" & intLinha).Value) > 0
    
    If Range("B" & intLinha).Value <= Range("D1").Value Then
        Range("B" & intLinha).Interior.Pattern = xlSolid
        Range("B" & intLinha).Interior.Color = 255
    Else
        Range("B" & intLinha).Interior.Pattern = xlNone
    End If
    intLinha = intLinha + 1
Loop


End Sub
Link para o comentário
Compartilhar em outros sites

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

Opa amigo, fiz o seguinte código abaixo...

No meu exemplo eu montei duas colunas

Na coluna A eu deixei uma numeração qualquer apenas para controle, como se fosse um numero de fatura por exemplo

Na coluna B, deixei minhas datas de Vencimento

Os valores começam na linha 3 da planilha

e na Célula D1 eu deixei a fórmula =Hoje()

então a macro verifica linha a linha as células da Coluna B e a compara com a célula D1

Bom, acho que esse código pode te dar uma Luz para a sua planilha...

Sub Vencimento()


Dim intLinha As Integer
intLinha = 3


Do While Len(Range("a" & intLinha).Value) > 0
    
    If Range("B" & intLinha).Value <= Range("D1").Value Then
        Range("B" & intLinha).Interior.Pattern = xlSolid
        Range("B" & intLinha).Interior.Color = 255
    Else
        Range("B" & intLinha).Interior.Pattern = xlNone
    End If
    intLinha = intLinha + 1
Loop


End Sub

Perfeito, ajudou muito (:

Obrigado!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...