Filtro de datos Excel con vba

Tengo una base de datos de cartera en excel con campos: cliente, domicilio, fecha, cantidad, pagaré, vencimiento, observaciones, etc. Necesito extraer los datos del cliente en especifico que tiene varios pagares y extraer toda la información para resumirlo en un estado de cuenta, Ya lo hice con filtro avanzado y macro para no ser repetitivo en el comando filtro, pero necesito que con la sola Condición cliente de la base de datos me extraiga la información detallada ya que con el filtro avanzado no responde a la condición cliente de la base de datos. En el estado de cuenta puedo usar bdextraer para los campos domicilio, observaciones pero no para extraer los datos de los pagarés si son varios. Espero me haya explicado, gracias por su paciencia y por compartir su tiempo y conocimientos.

1 Respuesta

Respuesta
1

Carlos: En un modulo Estándar que tengas, y si no lo tienes lo creas, citas el código que te adjunto, modificándolo a tus Necesidades.

Creas un Botón y le adjudicas la Macro. En éste caso BuscaCopiaDatos.

'Este procedimiento Copia Desde la "Hoja1" a la "Hoja3", los datos que Cumplen con el Criterio escrito en Cells(1,6) >> "A1:F1"
'La columna que sondea es la Número 5, o sea la "E"
Sub BuscaCopiaDatos()
Application.ScreenUpdating = False
Dim HojaOrigen As String, HojaDestino As String
Dim FilaOrigen As Integer, FilaOrigenDestino As Integer
Dim FilaDondeBuscar As String
Dim Criterio As String
Dim ColumnaCriterio As Integer

HojaOrigen = "Hoja1"
HojaDestino = "Hoja3"

FilaOrigen = 3
FilaDestino = 2

Sheets(HojaDestino).Range("A2:XFD1048576").ClearContents

While Sheets(HojaOrigen).Cells(FilaOrigen, 1) <> Empty
Criterio = Sheets(HojaOrigen).Cells(1, 6).Value
ColumnaCriterio = 5
If Sheets(HojaOrigen).Cells(FilaOrigen, ColumnaCriterio) = Criterio Then
FilaDondeBuscar = Cells(FilaOrigen, 1).Row
Sheets(HojaDestino).Cells(FilaDestino, 1) = FilaDondeBuscar & " .- " & Criterio
Sheets(HojaDestino).Cells(FilaDestino, 2) = Sheets(HojaOrigen).Cells(FilaOrigen, 2)
Sheets(HojaDestino).Cells(FilaDestino, 3) = Sheets(HojaOrigen).Cells(FilaOrigen, 3)
Sheets(HojaDestino).Cells(FilaDestino, 4) = Sheets(HojaOrigen).Cells(FilaOrigen, 4)
FilaDestino = FilaDestino + 1
End If
FilaOrigen = FilaOrigen + 1

Wend
Application.ScreenUpdating = True

End Sub

Espero no tengas dificultades. Un saludo >> Jacinto

Carlos:Con el fin de cerrar temas, y dado que ésta pregunta me sale pendiente te ruego la valores o en su caso me comentes si necesitas información adicional. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas