Excel VBA Do-Loop 複製並貼上以填入每行中的空白儲存格

Excel VBA Do-Loop 複製並貼上以填入每行中的空白儲存格

我需要有關如何應用合適的 Excel VBA do-loop 或以其他方式複製單元格內容並在每行中貼上下一組空白單元格的協助。當它循環遍歷每一行時,它僅複製並貼上下一個空白單元格,然後再次複製下一個填充單元格的內容並貼上到下一個空白單元格上,直到每行都被填充。我需要將其應用到包含大約 5,000 行的表。任何幫助將不勝感激。原始表和預期表結果應如下所示: 樣本表

答案1

下面應該可以解決這個問題。請注意,下面的內容將僅用值覆蓋表格,因此如果您的表格有公式,則公式將丟失,因為它們被值覆蓋。

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

相關內容