Gracias a Mike, quien proporcionó la pregunta de Excel de esta semana:
Estoy tratando de escribir una macro y soy nuevo en esto. Tengo una hoja de cálculo de Excel que tiene cientos de páginas y muchas columnas de ancho. Me gustaría que la macro buscara solo la columna "A" para "" (sin datos) y luego usar los datos de la fila anterior, seleccionar de las columnas "A" a "CB" y luego completar hasta que detecte datos en un celda de la columna "A". Luego, debe repetir hasta que todo esté hecho.
La macro siguiente hará el truco:
Public Sub CopyDown() LastRow = Range("A65536").End(xlUp).Row For i = 1 To LastRow If Range("A" & i).Value = "" Then Range("A" & i - 1 & ":CB" & i - 1).Copy Destination:=Range("A" & i) End if Next i End Sub
Pero es posible que no tenga que usar una macro para hacer lo que quiera. Una forma más rápida es utilizar los trucos introducidos en la sugerencia del 12/12/98 para lograr lo mismo sin una macro.
El primer truco consiste en seleccionar todas las celdas en blanco de su selección. Resalte de A1 a CB en la última fila de sus datos. Seleccione Editar> Ir a> Especial> Blancos> Aceptar.
A continuación, desea ingresar la misma fórmula en todas esas celdas en blanco. Para hacer esto, presione la tecla igual, presione la flecha hacia arriba, luego mantenga presionada la tecla Ctrl y presione Enter. Esto replicará la fórmula en todas las celdas en blanco.
Finalmente, cambie las fórmulas a valores. Resalte todo el rango de datos, seleccione Editar> Copiar, Editar> Pegado especial> Valores> Aceptar.
Tenga en cuenta que si los datos originales de Mike contenían fórmulas o algunas filas que estaban parcialmente en blanco, entonces este procedimiento no funcionará, sería mejor seguir con la macro que se muestra arriba.