Filtro Avanzado Registros UNICOS

10/03/2005 - 19:45 por HMS | Informe spam
Hola a todos.
Conseguí una macro, para extraer datos Unicos de una Base de datos.
Sin embargo quisiera que el resultado, no sólo sea la columna que le indico
que necesite filtrar, sino que necesito me "pegue" toda la base de datos
resultante del filtro de registros Unicos.
Les adjunto la macro, de antemano gracias a tod@s.
HMS

Sub ListaUnica()
Dim rListPaste As Range
Dim iReply As Integer

On Error Resume Next

Set rListPaste = Application.InputBox _
(Prompt:="Por favor selecciones la celda donde desea pegar los datos",
Type:=8)

If rListPaste Is Nothing Then
iReply = MsgBox("No hay Rangos seleccionados," _
& " terminado", vbYesNo + vbQuestion)
If iReply = vbYes Then Exit Sub
End If
'Especifico lugar en el que quiero que aparezca la Lista o BD Filtrada ej
Hoja1.Rango
Range("A1", Range("A65536").End(xlUp)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=rListPaste.Cells(1, 1), Unique:=True
End Sub

Preguntas similare

Leer las respuestas

#1 KL
10/03/2005 - 21:52 | Informe spam
Hola HMS,

Prueba el codigo q sigue.

Saludos,
KL

Sub ListaUnica()
Dim rListPaste As Range
Dim iReply As Integer

On Error Resume Next

Set rListPaste = Application.InputBox _
(Prompt:="Por favor selecciones la celda " _
& "donde desea pegar los datos", Type:=8)

If rListPaste Is Nothing Then
iReply = MsgBox("No hay Rangos seleccionados," _
& " terminado", vbYesNo + vbQuestion)
If iReply = vbYes Then Exit Sub
End If
'Especifico lugar en el que quiero que aparezca la Lista
'o BD Filtrada ej Hoja1.Rango
Fila = Cells(65536, 1).End(xlUp).Row
Col = Cells(1, 256).End(xlToLeft).Column
Range(Cells(1, 1), Cells(Fila, Col)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=rListPaste.Cells(1, 1), _
Unique:=True
End Sub


"HMS" wrote in message
news:
Hola a todos.
Conseguí una macro, para extraer datos Unicos de una Base de datos.
Sin embargo quisiera que el resultado, no sólo sea la columna que le
indico que necesite filtrar, sino que necesito me "pegue" toda la base de
datos resultante del filtro de registros Unicos.
Les adjunto la macro, de antemano gracias a
HMS

Sub ListaUnica()
Dim rListPaste As Range
Dim iReply As Integer

On Error Resume Next

Set rListPaste = Application.InputBox _
(Prompt:="Por favor selecciones la celda donde desea pegar los datos",
Type:=8)

If rListPaste Is Nothing Then
iReply = MsgBox("No hay Rangos seleccionados," _
& " terminado", vbYesNo + vbQuestion)
If iReply = vbYes Then Exit Sub
End If
'Especifico lugar en el que quiero que aparezca la Lista o BD Filtrada ej
Hoja1.Rango
Range("A1", Range("A65536").End(xlUp)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=rListPaste.Cells(1, 1), Unique:=True
End Sub

Respuesta Responder a este mensaje
#2 HMS
10/03/2005 - 23:33 | Informe spam
Gracias KL.
Sin embargo me copia la misma Base de datos!!!, no me filtra nada.
Consulta :
Como podría hacerse un macro que le pregunte al usuario que le indique la
Columna de la que quiere extraer o filtrar registros los UNICOS.
Y que una vez seleccionada la Columna en la que se requiere filtrar los
Registros Unicos, que le pregunte al usuario en donde quiere que aparezca la
nueva lista filtrada.
Una vez que se hicieron los dos pasos anteriores, que el resultado sea una
copia de la BD original, y que incluya TODAS las columnas originales de la
BD.
De antemano Gracias por tus valiosos aportes.

HMS

"KL" wrote in message
news:%23IE$
Hola HMS,

Prueba el codigo q sigue.

Saludos,
KL

Sub ListaUnica()
Dim rListPaste As Range
Dim iReply As Integer

On Error Resume Next

Set rListPaste = Application.InputBox _
(Prompt:="Por favor selecciones la celda " _
& "donde desea pegar los datos", Type:=8)

If rListPaste Is Nothing Then
iReply = MsgBox("No hay Rangos seleccionados," _
& " terminado", vbYesNo + vbQuestion)
If iReply = vbYes Then Exit Sub
End If
'Especifico lugar en el que quiero que aparezca la Lista
'o BD Filtrada ej Hoja1.Rango
Fila = Cells(65536, 1).End(xlUp).Row
Col = Cells(1, 256).End(xlToLeft).Column
Range(Cells(1, 1), Cells(Fila, Col)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=rListPaste.Cells(1, 1), _
Unique:=True
End Sub


"HMS" wrote in message
news:
Hola a todos.
Conseguí una macro, para extraer datos Unicos de una Base de datos.
Sin embargo quisiera que el resultado, no sólo sea la columna que le
indico que necesite filtrar, sino que necesito me "pegue" toda la base de
datos resultante del filtro de registros Unicos.
Les adjunto la macro, de antemano gracias a
HMS

Sub ListaUnica()
Dim rListPaste As Range
Dim iReply As Integer

On Error Resume Next

Set rListPaste = Application.InputBox _
(Prompt:="Por favor selecciones la celda donde desea pegar los datos",
Type:=8)

If rListPaste Is Nothing Then
iReply = MsgBox("No hay Rangos seleccionados," _
& " terminado", vbYesNo + vbQuestion)
If iReply = vbYes Then Exit Sub
End If
'Especifico lugar en el que quiero que aparezca la Lista o BD Filtrada ej
Hoja1.Rango
Range("A1", Range("A65536").End(xlUp)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=rListPaste.Cells(1, 1), Unique:=True
End Sub





Respuesta Responder a este mensaje
#3 KL
10/03/2005 - 23:57 | Informe spam
Hola HMS,

Sin embargo me copia la misma Base de datos!!!, no me filtra nada.



Es porque el Filtro Avanzado al seleccionar matrices con multiples columnas
usa como criterio de lo "unico" el q toda la fila entera sea unica y no solo
la primera columna. Por lo tanto probablemente te falla ya q aun teniendo el
mismo valor en la columna [A] las filas podrian tener valores diferentes en
otros campos :-((
Tomando en cuenta este factor, a mi me funciona perfectamenete.

Si no es lo q quieres comentalo.

Saludos,
K
Respuesta Responder a este mensaje
#4 HMS
11/03/2005 - 00:47 | Informe spam
Gracias KL.
Mira tengo una BD con 12 Columnas.
En la primer columna, supongamos que tengo Cod Producto.
Y así sucesivamente, en la columna 11 tengo Ciudad y en la 12 Pais.

Puede ser que en algun momento sólo necesite Filtrar o copiar en otro lado
solo los registros Unicos de Cualquiera de las Columnas, vamos a suponer que
necesito una BD sólo con los registros unicos de los Codigos de los
Productos.
pero también podría ser que necesite solo una BD de solo con los registros
unicos ya sea de la Ciudad o del país.

Podrías ayudarme con la macro, como te expuse en el post anterior, Como
podría hacerse una macro que le pregunte al usuario que le indique la
Columna de la que quiere extraer o filtrar registros los UNICOS.
Y que una vez seleccionada la Columna en la que se requiere filtrar los
Registros Unicos, que le pregunte al usuario en donde quiere que aparezca la
nueva lista filtrada.

De nuevo gracias por tus respuestas.
HMS

"KL" wrote in message
news:%
Hola HMS,

Sin embargo me copia la misma Base de datos!!!, no me filtra nada.



Es porque el Filtro Avanzado al seleccionar matrices con multiples
columnas usa como criterio de lo "unico" el q toda la fila entera sea
unica y no solo la primera columna. Por lo tanto probablemente te falla ya
q aun teniendo el mismo valor en la columna [A] las filas podrian tener
valores diferentes en otros campos :-((
Tomando en cuenta este factor, a mi me funciona perfectamenete.

Si no es lo q quieres comentalo.

Saludos,
K

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