Notifications
Clear all

Ajuda vencimentos

7 Posts
4 Usuários
0 Reactions
1,602 Visualizações
(@mcordeiro)
Posts: 20
Eminent Member
Topic starter
 

Pessoal, estou precisando de uma ajuda, tenho uma planilha com contas, seus vencimentos e o status (ok ou pendente).

Preciso que a macro corra as contas e se o status for pendente e a diferença entre o vencimento e a celula C1 que possui a função Hoje seja menor que 2 ele pinte a celula do vencimento de vermelho, se for igual a dois pintar de laranja.
Tentei fazer o seguinte código mas falhou:

Sub vencimento()

ThisWorkbook.Worksheets("plan1").Select
Range("a3").Select

Do While Not IsEmpty(ActiveCell)

If ActiveCell.Offset(0, 1) = "pendente" And DateDiff("d", Range("c1"), ActiveCell.Offset(0, 2)) < 2 Then
ActiveCell.Offset(0, 2).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    ActiveCell.Offset(0, -2).Select
    ActiveCell.Offset(1, 0).Select
ElseIf ActiveCell.Offset(0, 1) = "pendente" And DateDiff("d", Range("c1"), ActiveCell.Offset(0, 2)) = 2 Then
    ActiveCell.Offset(0, 2).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 49407
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    ActiveCell.Offset(0, -2).Select
    ActiveCell.Offset(1, 0).Select

Else
    ActiveCell.Offset(1, 0).Select
End If

Loop
End Sub

Agradeço o apoio.

 
Postado : 11/08/2016 2:45 pm
(@edivan)
Posts: 119
Estimable Member
 

Amigo não há a necessidade de se usar macro para isso, pode se fazer com formatação condicional, veja o exemplo anexo....

Visite meu blog: programacaopassoapasso.wordpress.com

 
Postado : 11/08/2016 3:16 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde MCordeiro,

Montei um código, está no módulo 3.

*Nesse caso, como o colega EDIVAN falou, é possível usar formatação condicional e dependendo do caso (tamanho da base de dados) é mais rápido que as macros.

att,

 
Postado : 11/08/2016 3:39 pm
(@mcordeiro)
Posts: 20
Eminent Member
Topic starter
 

Amigo não há a necessidade de se usar macro para isso, pode se fazer com formatação condicional, veja o exemplo anexo....

Visite meu blog: programacaopassoapasso.wordpress.com

A ideia da formatação condicional é legal, mas ali não contemplou a condição pendente, mas vou olhara com calma.

 
Postado : 11/08/2016 7:09 pm
(@mcordeiro)
Posts: 20
Eminent Member
Topic starter
 

Boa tarde MCordeiro,

Montei um código, está no módulo 3.

*Nesse caso, como o colega EDIVAN falou, é possível usar formatação condicional e dependendo do caso (tamanho da base de dados) é mais rápido que as macros.

att,

Gostei do seu tambem, mas no caso como a base não terá um tamanho definido ou eu deixo o range grande ou troco o Casa por um DO While not isempty.

 
Postado : 11/08/2016 7:12 pm
(@mcordeiro)
Posts: 20
Eminent Member
Topic starter
 

Ambas as respostas foram boas e resolveram meu problema, mas como só posso deixar uma como resolvido deixa a do código pois ficou mais completa. Obrigado a todos

 
Postado : 11/08/2016 7:13 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

MCordeiro

Mas você pode agradecer aos 2 colaboradores, clicando na mãozinha.

Acesse o link abaixo para saber como funciona:

viewtopic.php?f=7&t=16757

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/08/2016 2:51 pm