Macro que se ejecuta siempre se cumpla o no la con

Estimados Expertos,
Hace poco envié esta duda:
Quiero que se ejecute una macro, automáticamente, si en cualquiera de las celdas de la columna A, de la Hoja1, desde la A10 hasta la A 100, se introduce una fecha superior a la que hay en la celda B5 de la Hoja2.
Estoy hablando de excel 2007, por si la orden es distinta para otras versiones.
Un saludo.
Y me dieron esta respuesta, pero se ejecuta siempre, cumpla o no, la condición, ¿tal vez me faltó algo por copiar?
28/11/2010
Experto
Hola introduce este código en la hoja que introduces las fechas
Private Sub Worksheet_Change(ByVal Target As Range)
 datos = "A10:A100"
  Sheets("hoja2").Select
  If Target.Value > Cells(5, 2).Value Then
 Tumacro
  End If
 End Sub
Solo cambia la linea Tumacro
Por la macro que tengas
Saludos

1 respuesta

Respuesta
1
Prueba esto:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target.Row >= 10 And Target.Row <= 100 Then
  Sheets("hoja2").Select
  If CDate(Target.Value) > CDate(Hoja2.Range("B5").Value) Then
    Tu macro
  End If
End If
End Sub
La he probado y resulta que:
Cuando cumple la condición todo va bien, es decir, se ejecuta la macro, pero cuando no la cumple me lleva a la hoja 2, y yo lo que quiero es que no haga nada si no se cumple, es decir, que me deje en la hoja 1, como si no existiera macro, osea, que me deje donde estoy escribiendo que es en la hoja 1, ya que la hoja 2, celda b5 la tengo sólo para comparar las fechas de la hoja 1 desde la fila a10 hasta la a100.
No sé si me explicado bien
Espero tu respuesta.
Se me paso esto
reemplaza la linea    MsgBox "Tu macro"
Por el nombre de tu macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas