problema para Héctor Miguel

23/10/2009 - 20:22 por José Rafael | Informe spam
Hola Héctor:
Me pasaste un valioso código para copiar datos... (es sensacional !) y me
gustaría saber si se puede aumentar el filtrado con los datos que te
facilito dentro del código actualizado a otras hojas como podrás ver.
Gracias anticipadas.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$6" Then Exit Sub
Worksheets("Base de datos").Range("a1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("plantilla datos").Range("f5:f6"), _
CopyToRange:=Worksheets("Datos previos").Range("B1:P1"), _
Unique:=False

'aqui viene mi petición .
'si quisiera que ademas del rango f5:f6(grupo) de la hoja "plantilla
datos", se contemplaran _
otros rangos como por ejemplo
b5:b6(comercial);d5:d6(ruta);h5:h6(tipo);j5:j6(email)y l5:l6(situación) _
¿como seria el código para que despues del filtrado de todos ellos, se
copie en el rango b1:p1 de la _
hoja "Datos previos"?. ¿se puede hacer? ... es un filtrado para hacer
circulares

End Sub


Saludos cordiales
José Rafael - Valencia
 

Leer las respuestas

#1 Héctor Miguel
24/10/2009 - 00:12 | Informe spam
hola, José Rafael !

... se puede aumentar el filtrado... del codigo actualizado a otras hojas ...



los titulos (igual que la base de datos) en las celdas B5, D5, F5, H5, J5 y L5
y los criterios para el filtrado de datos en las celdas B6, D6, F6, H6, J6 y L6

cambia la primer linea...
de esto: -> If Target.Address <> "$F$6" Then Exit Sub
a esto. -> If Intersect(Target, Range("b6,d6,f6,h6,j6,l6")) Is Nothing Then Exit Sub

cambia la linea del criterio...
de esto: -> CriteriaRange:=Worksheets("plantilla datos").Range("f5:f6"), _
a esto: -> CriteriaRange:=Worksheets("plantilla datos").Range("b5:l6"), _

saludos,
hector.

__ codigo anterior __
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$6" Then Exit Sub
Worksheets("Base de datos").Range("a1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("plantilla datos").Range("f5:f6"), _
CopyToRange:=Worksheets("Datos previos").Range("B1:P1"), _
Unique:=False

'aqui viene mi peticion .
'si quisiera que ademas del rango f5:f6(grupo) de la hoja "plantilla datos", se contemplaran _
otros rangos como por ejemplo b5:b6(comercial);d5:d6(ruta);h5:h6(tipo);j5:j6(email)y l5:l6(situacion) _
como seria el codigo para que despues del filtrado de todos ellos, se copie en el rango b1:p1 de la _
hoja "Datos previos"?. se puede hacer? ... es un filtrado para hacer circulares

End Sub

Preguntas similares