Saltar al contenido

filtro vacias


Recommended Posts

publicado

Hola amigos 

De nuevo solicitando su apoya para resolver un tema, al filtrar ciertos datos y requiero copiar la información para procesarla solo que cuando no hay datos se produce un error 1004  como podria condicionarla con un if thense 

Sub copiar_filtro()

ActiveSheet.Range("$A$5:$D$11").SpecialCells(xlCellTypeVisible).Copy


End Sub


Sub filtro()


Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value
    
End Sub

filtro vacias.xlsm

 

de antemano gracias

 

 

 

 

publicado

Hola @juancyuky

No se puede descargar un archivo, pero una solución rápida y práctica podría ser:

 

Sub filtro()

A = Application.WorksheetFunction.CountIf(Range("$A$5:$D$11"), Sheets("base").Range("c4").Value)
If A >= 1 Then Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value
'If A <> 0 Then Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value
    
End Sub

Espero se de utilidad, Sigo atento.

publicado

Hola Mauricio,

 

Voy a intentar con tu valioso aporte y en este momento anexe el xlsm que al parecer no se cargo anteriormente

y te comento si me resulto

Muchas gracias!!!

filtro vacias.xlsm

publicado

A veces con algún truquillo salimos del paso:

Sub copiar_filtro() 'Copiamos también la fila 4
Set Rango = ActiveSheet.Range("$A$4:$D$11").SpecialCells(xlCellTypeVisible)
If Rango.Rows.Count > 1 Then Rango.Copy
End Sub

o también:

Sub copiar_filtro(): On Error GoTo SinDatos
ActiveSheet.Range("$A$5:$D$11").SpecialCells(xlCellTypeVisible).Copy
Exit Sub
SinDatos:
   MsgBox "*** Sin datos***", vbInformation
End Sub

 

publicado

El filtro funcionaría mejor así:

Sub filtro()
Range("A5").AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value
End Sub

 

publicado

Gracias Antoni,

finalmente me funciono con el siguiente código:

Sub filtro_final()

'final

A = Application.WorksheetFunction.CountIf(Range("$A$5:$D$11"), Sheets("base").Range("c4").Value)
If A >= 1 Then Range("A5").CurrentRegion.AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value
If A = 0 Then MsgBox "NO HAY DATOS QUE COPIAR" 
End Sub

gracias por sus aportes tuve otras ideas para tomar en cuenta, doy por cerrado el tema y adjunto el docto.final

 

 

 

 

 

 

 

 

 

filtro vacias.xlsm

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.