Foros del Web » Soporte técnico » Ofimática »

Ejecutar macro cuando se encuentre un valor en un rango de celdas

Estas en el tema de Ejecutar macro cuando se encuentre un valor en un rango de celdas en el foro de Ofimática en Foros del Web. Yo quiero que para el rango A1 hasta A20 tome el valor 2 entonces se ejecute la macro1 y si toma el valor 3 se ...
  #1 (permalink)  
Antiguo 22/11/2007, 10:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 1
Antigüedad: 16 años, 5 meses
Puntos: 0
Ejecutar macro cuando se encuentre un valor en un rango de celdas

Yo quiero que para el rango A1 hasta A20 tome el valor 2 entonces se ejecute la macro1 y si toma el valor 3 se ejecute la macro2, y asi sucesivamente.....

Yo he hecho:
Private Sub Worksheet_SheetChange(ByVal Target As Excel.Range)

If Target.Address = "a1" And Target.Value = 2170 Then
MsgBox "Esta cuenta tiene que reclasificarse"
MACRO1
End If
If Target.Address = "a1" And Target.Value = 2170 Then And Target.Value = 5000 Then
MsgBox "Esta cuenta tiene que reclasificarse"
MACRO2
End If
End Sub

Esto funciona cuando es una celda, pero como hacerlo para cuando es el rango A1:A20????
  #2 (permalink)  
Antiguo 23/11/2007, 08:13
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Re: Ejecutar macro cuando se encuentre un valor en un rango de celdas

bienvenido al foro,...

la manera en que se me ocurre a mi es con un bucle que valla verificando los valores por celda con offset(-1,0)

Range("A1").select
Do while activecell.value <> empty

agrega tu codigo aca...

activecell.offset(-1,0).select
loop



PD: siempre y cuando el valor de la celda A21 este vacio, saludos
__________________
-- Nunca te des por vencido, aún vencido -- Web

Última edición por Pablus00; 23/11/2007 a las 08:14 Razón: me olvide parte del codigo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:03.