我需要帮助,了解如何应用合适的 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