publicado el 5 de julio5 años 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 el 5 de julio5 años 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. Editado el el 5 de julio5 años por Mauricio_ODN
publicado el 5 de julio5 años Autor 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 el 5 de julio5 años 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 5 de julio5 años El filtro funcionaría mejor así: Sub filtro() Range("A5").AutoFilter Field:=4, Criteria1:=Sheets("base").Range("c4").Value End Sub
publicado el 6 de julio5 años Autor 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
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