Duda en filtrado con Macro

Te haré nuevamente la pregunta como me pediste:
Hola, ésta es mi 1ra consulta.
Tengo la siguiente duda,
Tengo una macro que Toma un dato de una columna, se activa otro archivo, utiliza el filtro, se activa la columna del archivo original y en la celda de al lado en el que se tomó dato, hace un pegado especial (se transponen los archivos tomados que se filtraron).
Todo marcha bien, pero cuando el dato no se encuentra el dato en el filtro, me salta el error. Entonces tengo que modificar el código, y partir desde donde no encontró los datos. La idea es que el código siga de largo y salte las partes que no encuentre datos.
Éste es el código
Sub Macro1() 
For Each celda In Range("CB653:CB5916") 'Cambiar 1er rango si el que se detectó 
                     'no tiene Coloquial. (que no se encontró en el filtrado) 
                     'Partir desde el punto en que se dejó y no 
                     'desde el principio. 
    Windows("MSF_601_COLOQUIALES_22062010.xlsx").Activate 
    ActiveSheet.ListObjects("Tabla_Consulta_desde_ellprd").Range.AutoFilter Field _ 
        :=4, Criteria1:=celda, Operator:=xlAnd 
    Selection.Copy 
    Windows("REGISTRO EQUIPO LINEA BASE 160610 C0NCENTRADORA.xls").Activate 
    ActiveCell.Offset(0, 1).Select 
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
        True, Transpose:=True 
    ActiveCell.Offset(1, -1).Select 
Next 
End Sub 
Saludos...
Respuesta
Ahora sí, ¿podrías enviarme tu Libro de Excel a mi correo? Teclea en el asunto: TODOEXPERTOS- (skull - trasla) - Duda en filtrado con macro.
-
y?
¿Podría quedar simplemente brincándose al siguiente? Si es así, entonces solamente basta agregar una línea de código, como sigue:
-
Sub Macro1() 
For Each celda In Range("CB653:CB5916") 
   If coloquial = "" Then Next celda

   Windows("MSF_601_COLOQUIALES_22062010.xlsx").Activate 
   ActiveSheet.ListObjects("Tabla_Consulta_desde_ellprd").Range.AutoFilter Field _ 
        :=4, Criteria1:=celda, Operator:=xlAnd 
   Selection.Copy 
   Windows("REGISTRO EQUIPO LINEA BASE 160610 C0NCENTRADORA.xls").Activate 
   ActiveCell.Offset(0, 1).Select 
   Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
        True, Transpose:=True 
   ActiveCell.Offset(1, -1).Select 
Next 
End Sub 
-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas