VBA: range.copy no copia todo el rango.
Mi hoja de datos tiene en la columna A información (números entre 10 y 13) que uso para filtrarla. Para ilustrar:
Número | Elemento |
---|---|
10 | Manzana |
11 | Azul |
10 | Naranja |
12 | Carbono |
13 | Steve |
10 | Plátano |
Y así sucesivamente. Miles de filas.
Quiero filtrar la tabla en base a la información de la columna A, luego copiar y pegar en una nueva hoja, en el mismo libro. El código:
ActiveWorkbook.Worksheets("Datos").Range("A1").AutoFilter Field:=1, Criteria1:="10"
ActiveWorkbook.Worksheets("Datos").Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Copy _
ActiveWorkbook.Worksheets("Frutas").Range("A2")
He estado usando este código para varios proyectos y todos funcionaron bien, pero estoy teniendo problemas en mi último proyecto. Solo la primera y segunda fila se están copiando (solo las filas de Manzana y Naranja en mi ejemplo). A veces solo está copiando el encabezado y la primera fila de datos. Esto ocurre tanto cuando ejecuto el código (F5) como cuando lo depuro (F8). Incluso implementé una pausa de tiempo en medio del filtro y la copia-pegado. No funcionó.
Curiosamente, cuando seleccioné una celda aleatoria en medio de la depuración, funcionó. Copiaba las filas enteras que necesitaba. Así que cambié el código a:
ActiveWorkbook.Worksheets("Datos").Range("A1").AutoFilter Field:=1, Criteria1:="10"
Range("D2").Select
ActiveWorkbook.Worksheets("Datos").Range("A2:B" & Range("A" & Rows.Count).End(xlUp).Row).Copy _
ActiveWorkbook.Worksheets("Frutas").Range("A2")
Eso tampoco funcionó. Estoy confundido y perdido. Cualquier ayuda sería apreciada.
EDIT: El código actual:
With Workbooks("Conferência OPS (R5).xlsx").Worksheets("OPS (Ábaco)")
.Range("A1").AutoFilter Field:=1, Criteria1:="10"
Workbooks("Conferência OPS (R5).xlsx").Worksheets("OPS (Ábaco)").Range("A2:H" & Range("A" & Rows.Count).End(xlUp).Row).Copy _
Workbooks("Conferência OPS (R5).xlsx").Worksheets("R10 (Ábaco x SOF)").Range("A2")
davy.ai
Parece haber algunas posibles causas para el problema que estás experimentando, pero aquí tienes algunas sugerencias que pueden ayudar:
Esto asegurará que solo se copien las celdas visibles (después de aplicar el filtro) en la hoja de trabajo “Fruits”.
Espero que estas sugerencias ayuden a resolver el problema que estás enfrentando.