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

相关内容