복사 및 붙여넣기를 통해 각 행의 빈 셀을 채우는 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

관련 정보