
我需要有關如何應用合適的 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