Microsoft Excel es especialmente aficionado a rangos contiguos . Cuando una serie se divide en celdas vacías , Excel agrega una capa de dificultad de las tareas de cálculo. A veces la solución es llenar los espacios en blanco , copiar filas que contienen datos y pegar los valores en las filas vacías debajo. Si está trabajando con una gran hoja de cálculo , es probable que no quieres hacer esto a mano . En su lugar , utilice una aplicación de Visual Basic para Aplicaciones ( VBA ) macro para buscar las filas disponibles y pegar en los datos automáticamente. Instrucciones
1
Open " Microsoft Excel ", versión 2002 o posterior.
2
Crear una hoja de trabajo para probar la macro. Incluya filas con los datos y las filas que están en blanco . Escriba lo siguiente:
célula B1: test1
célula C1: test1
celular A4: test2
célula B4: test2
celda C4 : test2
celda D4 : test2
célula A5: test3
B5 Cell: test3
celular C5: test3
Móvil A9 : test4
3
Pulse " Alt + F11 " para abrir el Editor de Visual Basic
4
Inserte un módulo de relleno para mantener el código VBA. . Seleccione "Insertar " y luego " Módulo " en el menú .
5
Iniciar una nueva subrutina llamada " PasteAvail . " Escriba lo siguiente en el módulo de código :
Sub PasteAvail ()
Pulse " Enter". Excel agregará una "Sub End" declaración.
6
Declare las variables que va a utilizar . Escriba el siguiente entre el "Sub " y declaraciones " End Sub " :
MaxRows Dim As Long , LASTROW As Long , i As Long
maxCols Dim As Integer, Integer FirstRow Como
Página 7
Asignar variables para que contengan el número total de filas y columnas en la hoja de trabajo . El valor real de estas variables dependerá de la versión de Excel que esté utilizando. Escriba lo siguiente:
MaxRows = Rows.Count
maxCols = Columns.Count
8
Asignar variables para almacenar números de fila para la primera y última filas que contienen datos . Esto evita un largo bucle a través de todas las filas de la hoja de cálculo . Escriba lo siguiente: . .
FirstRow = 1
LASTROW = Cells ( MaxRows , 1 ) End ( xlUp ) Row
9
Añada código para mirar a cada fila , de principio a fin , decidir si la fila está en blanco, y copiar o pegar , según sea necesario . Escriba lo siguiente: .
For i = FirstRow Para LASTROW
filas ( i ) Seleccionar
WorksheetFunction.CountBlank Si ( Rows ( i)) = maxCols Entonces
ActiveSheet.Paste
demás
Selection.Copy
End If
Siguiente i
10
Deja la "End Sub" declaración en su sitio.
11
Ejecute la macro. Seleccione " Ejecutar " y luego " Ejecutar Sub /UserForm " en el menú .
12
Pulse " Alt + F11 " para volver a la hoja de cálculo de Excel y ver los resultados .