Dos condiciones para dos rangos en el evento Change.

02/10/2006 - 19:06 por ~ jose ~ | Informe spam
Hola, que tal?

Tengo una pregunta que haceros,
Tengo un código en el módulo de una hoja, que cuando hay cambios en
cualquier celda de este rango [A1:K65536] se ejecuta un código y lo
que pregunto es como puedo hacer para que si también hubiera cambios
en el rango [M1:P65536] se ejecute otro código, bueno en este caso
seria una 'Call'.
Expongo el código que tengo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:K65536]) Is Nothing Then Exit Sub

With Application
.ScreenUpdating = False
.EnableEvents = False


With Sheets("Piezas")
.[A1].CurrentRegion.EntireRow.Delete
[D:D].AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=.[A1], _
Unique:=True
.[A1].CurrentRegion.Sort Key1:=.[A1], Header:=xlGuess
End With

With Sheets("Piezas_pequenas")
.[A1].CurrentRegion.EntireRow.Delete
[D:D].AdvancedFilter _
Action:=xlFilterCopy, _
CopyToRange:=.[A1], _
Unique:=True
.[A1].CurrentRegion.Sort Key1:=.[A1], Header:=xlGuess
End With

.ScreenUpdating = True
.EnableEvents = True

End With
End Sub

Gracias,
jose

Preguntas similare

Leer las respuestas

#1 David
02/10/2006 - 19:35 | Informe spam
Hola, Jose.

En lo personal, prefiero no utilizar instrucciones como EXIT SUB, EXIT FOR,
etc., pues rompen la estructura de tus procedimientos y cuando quieres
depurar tu código son un verdadero dolor de cabeza. En su lugar, ver el caso
contrario de una condición podría ser una opción interesante. Considera
modificar tu código para que sea algo como esto:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Intersect(Target, [A1:K65536]) Is Nothing) Then
' ... Proceso a ejecutar cuando se modifique este rango.
ElseIf Not (Intersect(Target, [M1:P65536]) Is Nothing) Then
' ... Proceso a ejecutar cuando se modifique este otro rango.
End If
End Sub


Pruébalo, y si encuentras problemas, comentas...

saludos.



"~ jose ~" escribió:

Mostrar la cita
#2 ~ jose ~
05/10/2006 - 00:29 | Informe spam
Hola, me parece fantástico, de hecho lo voy a utilizar mas de lo que
pensaba, y también voy a probar a poner mas de dos condiciones por
hoja, bueno a decir verdad estoy pensando en poner en una hoja 20
condiciones.

Gracias, hasta luego.
jose

David wrote:
Mostrar la cita
Ads by Google
Search Busqueda sugerida