Actualización de celdas

Gracias de antemano por todos los que habéis hecho posible esta página. Tengo que decir que no me manejo mucho con la programación en excel. Bueno mi duda es la siguiente y es como podría crear un macro si tengo en la columna A el nombre de un curso, en la columna B la fecha del curso y en la C si el curso esta disponible o no es decir así:
A B C
Curso 1       22/08/2010            Curso no disponible
Curso 2 23/09/2010  Curso disponible
Lo que quiero es que si en la columna c pone curso no disponible la fecha de la columna b cambie aumentando el plazo en 3 meses y entonces vuelva a estar el curso disponible es decir que ponga luego
A B C
Curso 1      22/11/2010            Curso disponible
Curso 2      23/09/2010            Curso disponible
Espero que me puedas ayudar y gracias por adelantado

1 Respuesta

Respuesta
1
Tomo tu problema...
No tardo...
QRX.
Aquí el Procedimiento.
.
Sub MODIFICA_FECHA()
'
'
'
Range("B1").Activate
Do While True
If ActiveCell.Value = "" Then Exit Do
If ActiveCell.Offset(0, 1).Value = "Curso no disponible" Then
DATO_ANO = Year(ActiveCell.Value)
DATO_MES = Month(ActiveCell.Value)
DATO_DIA = Day(ActiveCell.Value)
If DATO_MES > 9 Then
DATO_MES = DATO_MES - 12
DATO_ANO = DATO_ANO + 1
End If
DATO_MES = DATO_MES + 3
ActiveCell.Value = CDate(CStr(DATO_DIA) + "/" + CStr(DATO_MES) + "/" + CStr(DATO_ANO))
ActiveCell.Offset(0, 1).Value = "Curso disponible"
End If
ActiveCell.Offset(1, 0).Activate
Loop
Range("B1").Activate
End Sub
.
Muchas, gracias voy a ver si me funciona y luego te comento. Gracias
...
La verdad es que funciona perfectamente pero lo más complejo del asunto es que no tienen porque actualizarse todas a la vez si una vez cumplida su fecha es decir que si el tenemos:
A B C
Curso 1       22/08/2010            Curso no disponible
Curso 2       23/09/2010            Curso disponible
curso 1 termina el dia 22/08/2010 y estamos a dia 22/08/2010 solo se actualiza el curso1 quedando así:
A                        B                        C
Curso 1       22/11/2010            Curso disponible
Curso 2 23/09/2010  Curso disponible
y cuando estemos a día 23/09/2010 es cuando se actualiza el curso 2 quedando así:
A B C
Curso 1       22/11/2010            Curso disponible
Curso 2 23/03/2011 Curso disponible
Como ves no tiene porque aumentar la fecha en tres meses sino que cada curso puede llevar su plazo.
Perdona las molestias y por no haberme explicado bien
Perdona que la verdad es que no se actualizan pero sigo teniendo el problema de que el plazo de tiempo no es igual para todos los cursos
Aquí está el procedimiento, con unos pequeños cambios y realizando los cambios de acuerdo al criterio.
.
Sub MODIFICA_FECHA()
'
'
'
   Range("B1").Activate
   Do While True
      If ActiveCell.Value = "" Then Exit Do
      If ActiveCell.Offset(0, 1).Value = "Curso no disponible" Then
         If Now >= ActiveCell.Value Then
            DATO_ANO = Year(ActiveCell.Value)
            DATO_MES = Month(ActiveCell.Value)
            DATO_DIA = Day(ActiveCell.Value)
            If DATO_MES > 9 Then
               DATO_MES = DATO_MES - 12
               DATO_ANO = DATO_ANO + 1
            End If
            DATO_MES = DATO_MES + 3
            ActiveCell.Value = CDate(CStr(DATO_DIA) + "/" + CStr(DATO_MES) + "/" + CStr(DATO_ANO))
            ActiveCell.Offset(0, 1).Value = "Curso disponible"
         End If
      End If
      ActiveCell.Offset(1, 0).Activate
   Loop
   Range("B1").Activate
End Sub
.
Y aquí está el archivo de ejemplo.
.
Aumenta el mes según el criterio.
.
Comenta, ¿Cómo va la solución?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas