
Necesito ayuda sobre cómo aplicar un bucle de Excel VBA adecuado o copiar el contenido de la celda y pegar el siguiente conjunto de celdas vacías en cada fila. A medida que recorre cada fila, copia y pega solo las siguientes celdas vacías y nuevamente copia el contenido de la siguiente celda llena y pega en las siguientes celdas vacías hasta que se llene cada fila. Necesito aplicar esto a una tabla que contiene alrededor de 5000 filas. Cualquier ayuda será muy apreciada. La tabla original y el resultado esperado de la tabla deberían tener el siguiente aspecto: Las tablas de muestra
Respuesta1
Lo siguiente debería funcionar. Tenga en cuenta que lo siguiente sobrescribirá la tabla solo con valores, por lo que si su tabla tiene fórmulas, las fórmulas se perderán a medida que se sobrescriban con valores.
Sub SuperUserHelp()
Dim TempArray As Variant, x As Long, y As Long
Dim ValueNow As Variant, SheetName As String, TableAddress As String
SheetName = "Sheet1" 'Set your sheet name here
TableAddress = "A1:E5" 'Set your table range here
TempArray = Sheets(SheetName).Range(TableAddress).Value
For x = 1 To UBound(TempArray, 1)
ValueNow = Empty 'new row defaults to
For y = 1 To UBound(TempArray, 2)
If TempArray(x, y) = Empty Then
TempArray(x, y) = ValueNow
Else
ValueNow = TempArray(x, y)
End If
Next y
Next x
Sheets(SheetName).Range(TableAddress).Value = TempArray
End Sub