Excel VBA Do-Loop para copiar y pegar para llenar celdas vacías en cada fila

Excel VBA Do-Loop para copiar y pegar para llenar celdas vacías en cada fila

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

información relacionada