Excel VBA Do-Loop zum Kopieren und Einfügen, um leere Zellen in jeder Zeile zu füllen

Excel VBA Do-Loop zum Kopieren und Einfügen, um leere Zellen in jeder Zeile zu füllen

Ich brauche Hilfe beim Anwenden einer geeigneten Excel VBA-Do-Schleife oder einer anderen Methode, um Zellinhalte zu kopieren und den nächsten Satz leerer Zellen in jede Zeile einzufügen. Während die Schleife durch jede Zeile läuft, kopiert und fügt sie nur die nächsten leeren Zellen ein und kopiert erneut den Inhalt der nächsten gefüllten Zelle und fügt ihn in die nächsten leeren Zellen ein, bis jede Zeile gefüllt ist. Ich muss dies auf eine Tabelle anwenden, die etwa 5.000 Zeilen enthält. Jede Hilfe wird sehr geschätzt. Die ursprüngliche Tabelle und das erwartete Tabellenergebnis sollten wie folgt aussehen: Die Beispieltabellen

Antwort1

Das Folgende sollte funktionieren. Bitte beachten Sie, dass das Folgende die Tabelle nur mit Werten überschreibt. Wenn Ihre Tabelle also Formeln enthält, gehen diese verloren, da sie mit Werten überschrieben werden.

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

verwandte Informationen