
적절한 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