Filtro avanzado en otra hoja

01/08/2005 - 13:40 por Alejandro | Informe spam
Que tal... quisiera realizar una copia de un filtro avanzado de registros
únicos en otra hoja y me dice q solo puede copiar en la hoja activa. Cómo lo
puedo solucionar??? La idea es sacar una copia de una lista de proveedores
(sin repetir) en otra hoja. Muchas gracias

Preguntas similare

Leer las respuestas

#11 Carlos Durán Urenda
01/08/2005 - 19:12 | Informe spam
Tendrias que crear una macro, puedes utilizar la grabadora de macros, pero
es mas eficiente si la escribes manualmente...

En el menu Herramientas / Macro / Editor de Visual Basic...

Una vez en el editor ve al Menu Insertar / Modulo


ahi escribes un codigo como el siguiente te lo explico brevemente

Sub FiltraDatos()
'Definicion de las variables
Dim HDatos As Worksheet
Dim HResultado As Worksheet
Dim r As Range

'Apunta a la hoja donde tienes tus datos, debes poner el nombre correcto de
la hoja
Set HDatos = ThisWorkbook.Worksheets("HOJADATOS")
'Apunta a la hoja donde depositaras el resultado, debes poner el nombre
correcto de la hoja
Set HResultado= ThisWorkbook.Worksheets("HOJARESULTADO")

'BORRA LOS RESULTADOS PREVIOS
'suponiendo que D10 apunta a uno de los encabezados de la tabla de los
resultados
'Corrige el rango si es necesario
HResultados.Range("D10").CurrentRegion.Offset(1).ClearContents

' FILTRA LOS DATOS
'Corregir los rangos, en este caso HDatos.Range("D11") representa una
celda dentro de la lista original
'HDdatos.Range("K4:K5") representa el rango del filtro
'HResultado.Range("D10") representa el rango de la hoja donde se
deposita el resultado del filtro
'True Representa que deseas registros unicos

HDatos.Range("D11").CurrentRegion.AdvancedFilter xlFilterCopy, _
HDdatos.Range("K4:K5"), HResultado.Range("D10"), True
HDocs.Range("D11").CurrentRegion.Offset(1).ClearContents

' para el segundo filtro repites un codigo similar, apuntando a las hojas de
calculo segun sea el caso
' y especificando que False en lugar de True, para indicar que no quieres
registros unicos

' si no entiendes alguna instruccion, puedes consultar la ayuda, colocandote
sobre la palabra y presionando F1

End Sub


Saludos
Carlos Durán








"Alejandro" escribió en el mensaje
news:
Ok. Muchas gracias...la última consulta: existe alguna forma de q sean
automáticos dichos filtros?? ya q yo voy agregando datos en la Hoja LIBRO
y para no estar haciendo el doble filtro constantemente. Muchas gracias.



"Carlos Durán Urenda" escribió en el mensaje
news:OPB1R$
ha!, vaya

el problema esta en que estas solicitando registros unicos, en este caso,
el filtro avanzado considera que lo que no quieres que se repita es el
valor "anulado" y por eso te muestra solo el primer registro

creo que lo mas conveniente sería, filtrar dos veces

primero filtrando los registros sin criterios para que no te repitan los
datos que te interesan

una vez obtenido ese listado estableces nuevamente los criterios y
vuelves a filtrar donde sea "<>Anulado", esta ves sin marcar la casilla
de solo registros unicos


Espero te sirva

Saludos
Carlos Durán



"Alejandro" escribió en el mensaje
news:OH%
Disculpa Carlos pero no funciona. Mi único criterio es "<>Anulado" y
cuando quiero poner el filtro solo me aparece el 1º dato y nada mas.
Explico mas detalladamente: en una hoja llamada LIBRO tengo una tabla en
donde una columna tiene el rótulo BENEFICIARIO y está ubicada en D5 de
allí para abajo están los datos que quiero copiar en otra hoja llamada
PROVEEDORES sin que se repitan y que no aparezcan los que dicen
"Anulado". En la hoja PROVEEDORES coloqué el rótulo BENEFICIARIO en H1 y
en H2 escribí "<>Anulado".
Proceso de filtrado: estando en la hoja PROVEEDORES, voy al filtro
avanzado y eligiendo la opción Copiar a otro lugar y marcando "Solo
registro únicos" coloqué lo siguiente: en rango de la lista:
LIBRO!$D$6:$D$99; en rango de criterios: $H$1:$H$2 y en Copiar a: $B$7.
El resultado q me dá es solo el primer dato de mi lista ubicado en
LIBRO!D6. Adonde está el error??? Muchas gracias.

"Carlos Durán Urenda" escribió en el mensaje
news:
verifica que el encabezado del criterio este escrito exactamente igual
al de la tabla, de preferencia copia el encabezado de la columna donde
te aparece el valor "Anulado" al encabezado del criterio
tambien asegurate de seleccionar para los criterios tanto los
encabezados como los valores de los criterios

Si "<>Anulado" es tu unico criterio no deberias tener problemas, sin
embargo, si tienes mas de un criterio, es decir filtros con criterios
en base a varias columnas, deberas de tomar en cuenta el tipo de
combinacion que rige sobre los criterios, cuando escribes los criterios
en el mismo renglon el tipo de combinacion es del tipo "Y", cuando
escribes los criterios en renglones diferentes el tipo de combinacion
es de tipo "O"

por ejemplo

CLASE REGION
A Norte

te mostrara todos los registros que pertenecen a la clase A y que a su
vez corresponden a la Region Norte

CLASE REGION
A
Norte

Te mostrara todos los registros que pertenecen a la clase A (sin
importar su region) y tambien todos los registros de la region Norte
(Sin importar su clase), es decir todos los de la Clase A "O" Region
Norte

Saludos
Carlos Durán



"Alejandro" escribió en el mensaje
news:
OK.. Así lo hice.. Otra consulta: en un principio en el rango criterio
no ponía nada pues solo quería un listado sin repetir de los
proveedores (rango de la lista) pero ahora me doy cuenta q aparece un
dato q no quiero, que textualmente dice "Anulado" por lo tanto y
siguiendo la ayuda coloqué en una celda la opción <>Anulado y en el
rango de criterios dicha celda,para q me filtre todos los q no sean
igual a anulado pero no funciona. También probé con <>"Anulado",
="<>Anulado", y tampoco funcionó. Como tendría q colocar dicho
filtro?? Muchas gracias


"Carlos Durán Urenda" escribió en el
mensaje news:%23c$
el filtro avanzado es bastante "necio" en algunos aspectos...

en este caso debes comenzar el filtro estando ubicado en la hoja
donde deseas los resultados, digamos...

Creas una nueva hoja, desde dicha hoja vas al menu Datos / Filtro /
Filtro Avanzado

Al seleccionar el rango de la lista cambias de hoja, sin cerrar la
ventana del filtro, y seleccionas manualmente toda la lista, lo mismo
para el rango de criterios

seleccionas dentro de la misma hoja la celda donde deseas que
comience a copiar y aceptas


Saludos
Carlos Durán




"Alejandro" escribió en el
mensaje news:
Que tal... quisiera realizar una copia de un filtro avanzado de
registros únicos en otra hoja y me dice q solo puede copiar en la
hoja activa. Cómo lo puedo solucionar??? La idea es sacar una copia
de una lista de proveedores (sin repetir) en otra hoja. Muchas
gracias

























Respuesta Responder a este mensaje
#12 Alejandro
02/08/2005 - 13:52 | Informe spam
Carlos Durán Urenda" escribió en el mensaje
news:%
Tendrias que crear una macro, puedes utilizar la grabadora de macros, pero
es mas eficiente si la escribes manualmente...

En el menu Herramientas / Macro / Editor de Visual Basic...

Una vez en el editor ve al Menu Insertar / Modulo


ahi escribes un codigo como el siguiente te lo explico brevemente

Sub FiltraDatos()
'Definicion de las variables
Dim HDatos As Worksheet
Dim HResultado As Worksheet
Dim r As Range

'Apunta a la hoja donde tienes tus datos, debes poner el nombre correcto
de la hoja
Set HDatos = ThisWorkbook.Worksheets("HOJADATOS")
'Apunta a la hoja donde depositaras el resultado, debes poner el nombre
correcto de la hoja
Set HResultado= ThisWorkbook.Worksheets("HOJARESULTADO")

'BORRA LOS RESULTADOS PREVIOS
'suponiendo que D10 apunta a uno de los encabezados de la tabla de los
resultados
'Corrige el rango si es necesario
HResultados.Range("D10").CurrentRegion.Offset(1).ClearContents

' FILTRA LOS DATOS
'Corregir los rangos, en este caso HDatos.Range("D11") representa una
celda dentro de la lista original
'HDdatos.Range("K4:K5") representa el rango del filtro
'HResultado.Range("D10") representa el rango de la hoja donde se
deposita el resultado del filtro
'True Representa que deseas registros unicos

HDatos.Range("D11").CurrentRegion.AdvancedFilter xlFilterCopy, _
HDdatos.Range("K4:K5"), HResultado.Range("D10"), True
HDocs.Range("D11").CurrentRegion.Offset(1).ClearContents

' para el segundo filtro repites un codigo similar, apuntando a las hojas
de calculo segun sea el caso
' y especificando que False en lugar de True, para indicar que no quieres
registros unicos

' si no entiendes alguna instruccion, puedes consultar la ayuda,
colocandote sobre la palabra y presionando F1

End Sub


Saludos
Carlos Durán








"Alejandro" escribió en el mensaje
news:
Ok. Muchas gracias...la última consulta: existe alguna forma de q sean
automáticos dichos filtros?? ya q yo voy agregando datos en la Hoja LIBRO
y para no estar haciendo el doble filtro constantemente. Muchas gracias.



"Carlos Durán Urenda" escribió en el mensaje
news:OPB1R$
ha!, vaya

el problema esta en que estas solicitando registros unicos, en este
caso, el filtro avanzado considera que lo que no quieres que se repita
es el valor "anulado" y por eso te muestra solo el primer registro

creo que lo mas conveniente sería, filtrar dos veces

primero filtrando los registros sin criterios para que no te repitan los
datos que te interesan

una vez obtenido ese listado estableces nuevamente los criterios y
vuelves a filtrar donde sea "<>Anulado", esta ves sin marcar la casilla
de solo registros unicos


Espero te sirva

Saludos
Carlos Durán



"Alejandro" escribió en el mensaje
news:OH%
Disculpa Carlos pero no funciona. Mi único criterio es "<>Anulado" y
cuando quiero poner el filtro solo me aparece el 1º dato y nada mas.
Explico mas detalladamente: en una hoja llamada LIBRO tengo una tabla
en donde una columna tiene el rótulo BENEFICIARIO y está ubicada en D5
de allí para abajo están los datos que quiero copiar en otra hoja
llamada PROVEEDORES sin que se repitan y que no aparezcan los que dicen
"Anulado". En la hoja PROVEEDORES coloqué el rótulo BENEFICIARIO en H1
y en H2 escribí "<>Anulado".
Proceso de filtrado: estando en la hoja PROVEEDORES, voy al filtro
avanzado y eligiendo la opción Copiar a otro lugar y marcando "Solo
registro únicos" coloqué lo siguiente: en rango de la lista:
LIBRO!$D$6:$D$99; en rango de criterios: $H$1:$H$2 y en Copiar a: $B$7.
El resultado q me dá es solo el primer dato de mi lista ubicado en
LIBRO!D6. Adonde está el error??? Muchas gracias.

"Carlos Durán Urenda" escribió en el
mensaje news:
verifica que el encabezado del criterio este escrito exactamente igual
al de la tabla, de preferencia copia el encabezado de la columna donde
te aparece el valor "Anulado" al encabezado del criterio
tambien asegurate de seleccionar para los criterios tanto los
encabezados como los valores de los criterios

Si "<>Anulado" es tu unico criterio no deberias tener problemas, sin
embargo, si tienes mas de un criterio, es decir filtros con criterios
en base a varias columnas, deberas de tomar en cuenta el tipo de
combinacion que rige sobre los criterios, cuando escribes los
criterios en el mismo renglon el tipo de combinacion es del tipo "Y",
cuando escribes los criterios en renglones diferentes el tipo de
combinacion es de tipo "O"

por ejemplo

CLASE REGION
A Norte

te mostrara todos los registros que pertenecen a la clase A y que a su
vez corresponden a la Region Norte

CLASE REGION
A
Norte

Te mostrara todos los registros que pertenecen a la clase A (sin
importar su region) y tambien todos los registros de la region Norte
(Sin importar su clase), es decir todos los de la Clase A "O" Region
Norte

Saludos
Carlos Durán



"Alejandro" escribió en el mensaje
news:
OK.. Así lo hice.. Otra consulta: en un principio en el rango
criterio no ponía nada pues solo quería un listado sin repetir de los
proveedores (rango de la lista) pero ahora me doy cuenta q aparece un
dato q no quiero, que textualmente dice "Anulado" por lo tanto y
siguiendo la ayuda coloqué en una celda la opción <>Anulado y en el
rango de criterios dicha celda,para q me filtre todos los q no sean
igual a anulado pero no funciona. También probé con <>"Anulado",
="<>Anulado", y tampoco funcionó. Como tendría q colocar dicho
filtro?? Muchas gracias


"Carlos Durán Urenda" escribió en el
mensaje news:%23c$
el filtro avanzado es bastante "necio" en algunos aspectos...

en este caso debes comenzar el filtro estando ubicado en la hoja
donde deseas los resultados, digamos...

Creas una nueva hoja, desde dicha hoja vas al menu Datos / Filtro /
Filtro Avanzado

Al seleccionar el rango de la lista cambias de hoja, sin cerrar la
ventana del filtro, y seleccionas manualmente toda la lista, lo
mismo para el rango de criterios

seleccionas dentro de la misma hoja la celda donde deseas que
comience a copiar y aceptas


Saludos
Carlos Durán




"Alejandro" escribió en el
mensaje news:
Que tal... quisiera realizar una copia de un filtro avanzado de
registros únicos en otra hoja y me dice q solo puede copiar en la
hoja activa. Cómo lo puedo solucionar??? La idea es sacar una copia
de una lista de proveedores (sin repetir) en otra hoja. Muchas
gracias





























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