Un solo filtro 3 busquedas

18/11/2008 - 23:55 por JHOAKIN | Informe spam
Hola buen dia, tengo el siguiente problema tengo un libro con tres hojas y
las tres tiene una columna en comun que esta la clave del articulo a las tres
les he puesto filtro en un caso practico quisiera que con selecionar en el
primer filtro de de los datos de las otras dos hojas se podra?

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
19/11/2008 - 05:52 | Informe spam
hola, !

... tengo un libro con tres hojas y... una columna en comun que esta la clave del articulo
a las tres les he puesto filtro en un caso practico quisiera que
con selecionar en el primer filtro de los datos de las otras dos hojas se podra?



- al aplicar filtros tambien puedes combinar criterios -?-
- tambien seria de utilidad si comentas con mas exactitud los rangos, hojas y tipo de datos -?-

en via de mientras, la siguiente propuesta "asume" que los rangos filtrados inician en la celda [A1]
tambien se asume que al modificar los autofiltros se dispara el evento '_calculate' (o pon una funcion =ahora())
y que el campo/columna por la que filtras es la segunda columna (filtro 2)
y (finalmente) que los nombre de las hojas son "hoja1", "hoja3" y "hoja5"
(ajusta segun sea tu caso real)

copia/pega (o escribe) lo siguiente en el modulo de codigo de tu libro (ThisWorkbook)
y... si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim Criterio, Ajustar, n As Byte: On Error GoTo Salida
Criterio = ActiveSheet.AutoFilter.Filters(2).Criteria1
Select Case LCase(ActiveSheet.Name)
Case "hoja1": Ajustar = Array("hoja3", "hoja5")
Case "hoja3": Ajustar = Array("hoja1", "hoja5")
Case "hoja5": Ajustar = Array("hoja1", "hoja3")
Case Else: Exit Sub
End Select: Application.EnableEvents = False
For n = LBound(Ajustar) To UBound(Ajustar)
Worksheets(Ajustar(n)).Range("a1").AutoFilter 2, Criterio
Next
Salida:
Application.EnableEvents = True
End Sub
Respuesta Responder a este mensaje
#2 JHOAKIN
19/11/2008 - 16:25 | Informe spam
Gracias Hector, te comento lo siguente en la hoja1 que es la principal y en
la celda A1 empieza el autofiltro y esta la clave del articulo, en la hoja2 y
hoja3 tambien empiza el autofiltro en la celda A1.
lo que nesecito es cuando en la hoja1 entre al autofiltro y busque algun
articulo me regresa esa busqueda del articulo con sus datos en ese momento
que busque el mismo articulo en la hoja2 y en la hoja3 y cuando pase a hoja2
ahi este la informacion de articulo en base al filtro de la hoja1 y asi en la
hoja3

puedo enviarte el archivo con mis datos?

"Héctor Miguel" escribió:

hola, !

> ... tengo un libro con tres hojas y... una columna en comun que esta la clave del articulo
> a las tres les he puesto filtro en un caso practico quisiera que
> con selecionar en el primer filtro de los datos de las otras dos hojas se podra?

- al aplicar filtros tambien puedes combinar criterios -?-
- tambien seria de utilidad si comentas con mas exactitud los rangos, hojas y tipo de datos -?-

en via de mientras, la siguiente propuesta "asume" que los rangos filtrados inician en la celda [A1]
tambien se asume que al modificar los autofiltros se dispara el evento '_calculate' (o pon una funcion =ahora())
y que el campo/columna por la que filtras es la segunda columna (filtro 2)
y (finalmente) que los nombre de las hojas son "hoja1", "hoja3" y "hoja5"
(ajusta segun sea tu caso real)

copia/pega (o escribe) lo siguiente en el modulo de codigo de tu libro (ThisWorkbook)
y... si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim Criterio, Ajustar, n As Byte: On Error GoTo Salida
Criterio = ActiveSheet.AutoFilter.Filters(2).Criteria1
Select Case LCase(ActiveSheet.Name)
Case "hoja1": Ajustar = Array("hoja3", "hoja5")
Case "hoja3": Ajustar = Array("hoja1", "hoja5")
Case "hoja5": Ajustar = Array("hoja1", "hoja3")
Case Else: Exit Sub
End Select: Application.EnableEvents = False
For n = LBound(Ajustar) To UBound(Ajustar)
Worksheets(Ajustar(n)).Range("a1").AutoFilter 2, Criterio
Next
Salida:
Application.EnableEvents = True
End Sub



Respuesta Responder a este mensaje
#3 Héctor Miguel
19/11/2008 - 18:04 | Informe spam
hola, !

... en la hoja1 que es la principal y en la celda A1 empieza el autofiltro y esta la clave del articulo
en la hoja2 y hoja3 tambien empiza el autofiltro en la celda A1.
lo que nesecito es cuando en la hoja1 entre al autofiltro y busque algun articulo
me regresa esa busqueda del articulo con sus datos en ese momento que busque el mismo articulo en la hoja2 y en la hoja3
y cuando pase a hoja2 ahi este la informacion de articulo en base al filtro de la hoja1 y asi en la hoja3
puedo enviarte el archivo con mis datos?



solo necsitas modificar donde mis supuestos no estaban apegados a la realidad...
-> los nombres de las hojas y el numero del filtro

copia/pega (o escribe) lo siguiente en el modulo de codigo de tu libro (ThisWorkbook)
y no te olvides de incluis (al menos) una funcion "volatil" para forzar un (re)calculo... =hoy() en alguna celda <= OJO

y... si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim Criterio, Ajustar, n As Byte: On Error GoTo Salida
Criterio = ActiveSheet.AutoFilter.Filters(1).Criteria1
Select Case LCase(ActiveSheet.Name)
Case "hoja1": Ajustar = Array("hoja2", "hoja3")
Case "hoja2": Ajustar = Array("hoja1", "hoja3")
Case "hoja3": Ajustar = Array("hoja1", "hoja2")
Case Else: Exit Sub
End Select: Application.EnableEvents = False
For n = LBound(Ajustar) To UBound(Ajustar)
Worksheets(Ajustar(n)).Range("a1").AutoFilter 1, Criterio
Next
Salida:
Application.EnableEvents = True
End Sub
Respuesta Responder a este mensaje
#4 JHOAKIN
21/11/2008 - 16:08 | Informe spam
Hola Hector antes que nada mucho gusto por estar en este foro eres de gran
ayuda, te comento que mi problema quedo resuelto, lo que hice fue buscar
entre las preguntas que respondes y por ahi encontre una que resolvio esto.
de antemano MIL GRACIA.

"Héctor Miguel" escribió:

hola, !

> ... en la hoja1 que es la principal y en la celda A1 empieza el autofiltro y esta la clave del articulo
> en la hoja2 y hoja3 tambien empiza el autofiltro en la celda A1.
> lo que nesecito es cuando en la hoja1 entre al autofiltro y busque algun articulo
> me regresa esa busqueda del articulo con sus datos en ese momento que busque el mismo articulo en la hoja2 y en la hoja3
> y cuando pase a hoja2 ahi este la informacion de articulo en base al filtro de la hoja1 y asi en la hoja3
> puedo enviarte el archivo con mis datos?

solo necsitas modificar donde mis supuestos no estaban apegados a la realidad...
-> los nombres de las hojas y el numero del filtro

copia/pega (o escribe) lo siguiente en el modulo de codigo de tu libro (ThisWorkbook)
y no te olvides de incluis (al menos) una funcion "volatil" para forzar un (re)calculo... =hoy() en alguna celda <= OJO

y... si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim Criterio, Ajustar, n As Byte: On Error GoTo Salida
Criterio = ActiveSheet.AutoFilter.Filters(1).Criteria1
Select Case LCase(ActiveSheet.Name)
Case "hoja1": Ajustar = Array("hoja2", "hoja3")
Case "hoja2": Ajustar = Array("hoja1", "hoja3")
Case "hoja3": Ajustar = Array("hoja1", "hoja2")
Case Else: Exit Sub
End Select: Application.EnableEvents = False
For n = LBound(Ajustar) To UBound(Ajustar)
Worksheets(Ajustar(n)).Range("a1").AutoFilter 1, Criterio
Next
Salida:
Application.EnableEvents = True
End Sub



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida