Excel - Macro para colorear celdas

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para colorear celdas

Publicado por anastasiya (4 intervenciones) el 20/04/2018 13:27:28
Hola a todos!

Lo que estoy tratando de hacer es, teniendo una columna de fechas hacer que las filas se coloreen segun esas fechas. Tal que por ejemplo si la fecha es anterior a la que estamos se coloreen de un color. Tengo el siguiente código pero no funciona.
Muchas gracias por adelantado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Color()
 
 
    Dim rqCell As Range
    Dim rqRng As Range
    Dim FechaAct As Date
    Dim Fecha As Date
 
     FechaAct = Date
     Fecha = DateAdd(m, 6, FechaAct)
     Set currentsheet = ActiveWorkbook.Sheets("Hoja1")
     Set rqRng = currentsheet.Range("D5:D999")
 
 For Each rqCell In rqRng
 
 If rqCell.Value < " FechaAct" Then
 
 rqCell.Interior.Color = RGB(200, 160, 27)
 
 End If
 
 Next
 
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ignacio
Val: 639
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para colorear celdas

Publicado por Ignacio (205 intervenciones) el 20/04/2018 20:52:05
Hola:

Tiene que ser forzosamente con macro?, podrías solucionarlo con formato condicional

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para colorear celdas

Publicado por anastasiya (4 intervenciones) el 23/04/2018 08:35:12
No en realidad no hace falta que sea macro, solo que como quiero hacer varias cosas a la vez me pareció más fácil con macros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Macro para colorear celdas

Publicado por JuanC (1237 intervenciones) el 21/04/2018 20:00:43
probaste poner " FechaAct" sin las comillas dobles?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para colorear celdas

Publicado por anastasiya (4 intervenciones) el 23/04/2018 08:37:22
si he probado eso, el problema está en la parte de Fecha =Dateadd(m,6,Date), y no entiendo porqué

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub MacroColor()
 
    Dim rCell As Range
    Dim rRng As Range
    Dim Fecha As Date
 
 
    Fecha = DateAdd(m, 6, Date)
    Set currentsheet = ActiveWorkbook.Sheets("Hoja1")
    Set rRng = currentsheet.Range("D5:D15")
 
    For Each rCell In rRng
 
        If rCell.Value < Fecha Then
 
            rCell.Interior.Color = RGB(200, 160, 27)
 
        Else
 
            rCell.Interior.Color = RGB(140, 160, 27)
        End If
 
    Next
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para colorear celdas

Publicado por Antoni Masana (2486 intervenciones) el 23/04/2018 10:24:38
Te pongo el codigo con las correcciones oportunas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit
 
Sub MacroColor()
    Dim rCell As Range, currentsheet As Worksheet, _
        rRng As Range, _
        Fecha As Date
 
    Fecha = DateAdd( "m" , 6, Date)   ' --- Suma 6 meses a la fecha actual
 
    Set currentsheet = ActiveWorkbook.Sheets("Hoja1")
    Set rRng = currentsheet.Range("D5:D15")
 
    For Each rCell In rRng
        If rCell.Value < Fecha Then
           rCell.Interior.Color = RGB(200, 160, 27)
        Else
           rCell.Interior.Color = RGB(140, 160, 27)
        End If
    Next
End Sub

https://msdn.microsoft.com/es-es/vba/language-reference-vba/articles/dateadd-function

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para colorear celdas

Publicado por anastasiya (4 intervenciones) el 24/04/2018 10:01:58
Gracias, el problema estaba justo ahí.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar