H o l a:
Te anexo el código para filtrar solamente los que tienen deuda
Private Sub CommandButton5_Click()
Dim strTabla As String
Dim rngMirango As Range
Dim rngMirango2 As Range
Dim intColumnas As Integer
Sheets("BaseDatos").Select
strTabla = "MiTablaDGR"
On Error Resume Next
'Creamos el nombre a la tabla de la hoja activa
ActiveWorkbook.Names("MiTablaDGR").Delete
Set rngMirango = ActiveSheet.Range("C1").CurrentRegion
Set rngMirango2 = rngMirango.Offset(1, 0).Resize(rngMirango.Rows.Count - 1, _
rngMirango.Columns.Count)
rngMirango2.Name = strTabla
intColumnas = rngMirango2.Columns.Count
'Formateamos ListBox
With Lista
.ColumnCount = 3
.ColumnWidths = "120 pt;70 pt;80 pt"
.ColumnHeads = True
End With
'Lista.RowSource = strTabla
'
'Carga en list solamente las deudas
'Act.Por.Dante Amor
Application.ScreenUpdating = False
Set h1 = Sheets("BaseDatos")
Set h2 = Sheets("filtro")
h2.Cells.Clear
If h1.AutoFilterMode Then h1.AutoFilterMode = False
u = h1.Range("A" & Rows.Count).End(xlUp).Row
h1.Range("A1:O" & u).AutoFilter Field:=3, Criteria1:="<>"
u = h1.Range("A" & Rows.Count).End(xlUp).Row
h1.Range("A1:C" & u).Copy
h2.[A1].PasteSpecial xlValues
u = h2.Range("A" & Rows.Count).End(xlUp).Row
Lista.RowSource = h2.Name & "!A2:C" & u
If h1.AutoFilterMode Then h1.AutoFilterMode = False
Application.CutCopyMode = False
Application.ScreenUpdating = True
'
'Fin.Act.Por.Dante Amor
'
On Error GoTo 0
Sheets("BaseDatos").Select
Columns("A:O").Select
ActiveWorkbook.Worksheets("BaseDatos").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("BaseDatos").Sort.SortFields.Add Key:=Range( _
"C2:C117"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("BaseDatos").Sort
.SetRange Range("A1:O117")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'
El filtro lo estoy llevando a la hoja "filtro" de esa forma se pueden cargar el listbox utilizando la propiedad RowSource y de esa manera respetar los títulos en el listbox.
Como el filtro ya está en la hoja "filtro", para imprimir, basta con enviar a imprimir la hoja "filtro":
Private Sub CommandButton12_Click()
'Worksheets.Add
'Se Transcriben los Datos a Imprimir
'ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'Worksheets.Delete
'
'Act.Por.Dante Amor
Sheets("filtro").PrintOut Copies:=1, Collate:=True
'Fin.Act.Por.Dante Amor
End Sub
Nota: La hoja "filtro" la puedes ocultar.
‘
F E L I Z A Ñ O T E D E S E A D a n t e A m o r.