cambiar color celda segun fecha

23/01/2007 - 12:35 por martagabriel | Informe spam
Hola,
Tengo una duda sobre como redactar una macro para excel .
Tengo una columna con fechas en las celdas. necesito que una semana
antes de que la fecha de la celda sea el dia actual la celda cambie de
color.
hasta ahora tengo esto:
cuando se pase la fecha cambia de color pero me pierdo al poner una
semana antes.
si pudieráis ayudarme os lo agradecería.
Gracias
un saludo
Marta


Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Open("C:\Documents and
Settings\administrador\Escritorio\test_fechas.xls.xls")

x = 1

Do Until objExcel.Cells(x,1).Value = ""
If CDate(objExcel.Cells(x,1).Value) < Date Then
objExcel.Cells(x,1).Interior.ColorIndex = 3
End If
x = x + 1
Loop

Preguntas similare

Leer las respuestas

#1 martagabriel
25/01/2007 - 10:05 | Informe spam
hola,
Gracias
me funciona pero como lo hago si la columna tiene las primeras celdas
en blanco, luego las celdas de las fechas y lego otra vez celdas en
blanco.

Do Until objExcel.Cells(x,7).Value = ""

con esta linea se supone que no hay lineas en blanco en la columna y
cuando encuentra una para.
pero si la quito me pone en rojo toda la columna entera hasta el final,
con lo cual me da error.
¿cómo le digo que empieza a partir de la columna F, y que si
encuentra celdas en blanco no haga nada y si las encuentra que haga el
cálculo?
Espero haberme explicado
Gracias
un saludo
Marta






On 23 ene, 15:56, David wrote:
Hola, Marta.

Sólo tendrías que modificar la instrucciónIF, sumándole 7 a la fecha del
sistema:

> IfCDate(objExcel.Cells(x,1).Value) <Date + 7 Then
> objExcel.Cells(x,1).Interior.ColorIndex = 3
> EndIf- - - - - -

"" escribió:

> Hola,
> Tengo una duda sobre como redactar una macro para excel .
> Tengo una columna con fechas en las celdas. necesito que una semana
> antes de que la fecha de la celda sea el dia actual la celda cambie de
> color.
> hasta ahora tengo esto:
> cuando se pase la fecha cambia de color pero me pierdo al poner una
> semana antes.
> si pudieráis ayudarme os lo agradecería.
> Gracias
> un saludo
> Marta

> Set objExcel = CreateObject("Excel.Application")
> objExcel.Visible = True
> Set objWorkbook = objExcel.Workbooks.Open("C:\Documents and
> Settings\administrador\Escritorio\test_fechas.xls.xls")

>x= 1

> Do UntilobjExcel.Cells(x,1).Value= ""
> IfCDate(objExcel.Cells(x,1).Value) <DateThen
> objExcel.Cells(x,1).Interior.ColorIndex = 3
> EndIf
> x=x+ 1
> Loop
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida