Programar Alerta de Fechas de toda una Columna VBA EXCEL

Estoy desarrollando un archivo Excel que Analizara los tramites de mi empresa donde la idea es crear alertas a partir del tiempo introducido, logre programar la alarma pero solo pude hacerlo de cierta celda especifica, quisiera saber cual y como seria el código para programar la alarma de toda una columna, donde siga los patrones de hora, día, mes. Y que se reproduzca sistemáticamente.

1 Respuesta

Respuesta
2

Puedes hacerlo a manera que uses offset 1,0 es decir si la celda de inicio ya de dio la alarma entonces baja a la celda de abajo y así hasta que encuentre una celda sin datos. Todo eso mediante un ciclo.

¿

Podrías ayudarme con el código? ¿O la referencia de alguno?

Podrías hacerlo con un if 

If range("e1").value <>"" then range("e1").offset(1,0).activate

End if

Lo que dice el código es si el rango e1 es diferente de vacío entonces baja una celda de la misma columna y así cuando sea = a vacío no bajará.

Probaré, y te confirmo! Gracias.

Hola, Mira Acabo de probar lo tuyo pero no me sirvió, quiero anexarte el código que tengo de alarma para que me ayudes a interpretarlo y a observar como ponerle el offset; discúlpame es que soy muy nuevo en esto.

Sub ProgramarAlarma2()
Dim SetTime As String

SetTime = Hoja2.Range("A1").Text
Application.OnTime TimeValue(SetTime), "AbrirTramite2"
MsgBox "Tramite Programado"
End Sub

Sub AbrirTramite2()
UserForm1.Show
End Sub

En pocas palabras hice esto:

Private Sub Hoja2()

If Range("A1").Value <> "" Then Range("A1").Offset(1, 0).Activate

End If
End Sub

pero solo me reproduce la celda que le sigue abajo, no sigue captando desde la 3ra celda.

Puedes probar donde tienes hoja2. Range("a1").offset(1,0).text

Mete este código donde pusiste el anterior que dices que sólo te corre la línea de abajo

Range("a1:a200").select

Do while activecell <> empty

Activecell.offset(1,0).select

Loop

Hice Esto; 

Sub ProgramarAlarma2()
Dim SetTime As String

SetTime = Hoja2.Range("A1:A200").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
Application.OnTime TimeValue(SetTime), "AbrirTramite2"
MsgBox "Tramite Programado"
End Sub 

pero me genero error. :(

Debes de colocarle el rango arriba de do while por que le restas diciendo de que rango es donde va a tomar la condición de diferente de vacío en donde pusiste set= ahí sólo estás igualando esa variable pero abajo en el ciclo debes de colocar como te lo puse. Checalo y me dices.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas