我目前正在开发一个项目,我需要在一个工作簿中复制目标范围并将其粘贴到另一个工作簿中,省略所有空白单元格(其中有很多)。
到目前为止,我已经设法将它们全部连续粘贴在一起,但我还是没有成功地对它进行结构化。
For Each c In rngSourceRange.SpecialCells(xlCellTypeVisible)
If Len(c) <> 0 Then
rngDestination = c.Value
Set rngDestination = rngDestination.Offset(0, 1)
End If
Next c
Application.CutCopyMode = False
格式应该是这样的。前19个单元格应该连续排在一起,然后它应该向下移动一行返回到第一列并列出接下来的19个条目,依此类推,直到我完全没有要复制的单元格。现在我试图包含另一个for循环,但它产生了一个非常无用的结果。
For Each c In rngSourceRange.SpecialCells(xlCellTypeVisible)
If Len(c) <> 0 Then
For lcol = 1 To 19
wkbCrntWorkBook.Sheets("Tabelle1").Cells(lrow, lcol).Value = c.Value
lrow = lrow + 1
Next lcol
End If
Next c
Application.CutCopyMode = False
请帮我正确构建此数据集。如果有任何帮助,我可以显示我的其余代码。
答案 0 :(得分:1)
在您的第一个代码中,在此声明之后:
Set rngDestination = rngDestination.Offset(0, 1)
尝试添加以下语句:
If rngDestination.Column > 19 Then _
Set rngDestination = rngDestination.EntireRow.Offset(1).Cells(1)