将空白数据块复制到其他位置

时间:2017-03-27 15:32:52

标签: excel vba copy paste

我正在重复使用另一个线程中的这个字符串,将整个列与空白(需要对齐其他信息)复制到一个新位置。但是我看到它的复制动作将停在第一个空白处,而实际上它就是这样。我需要做的是将空白和所有内容复制为一个块,然后将其放在Range下面。我考虑先填充所有空白,但只是将填充值一直发送到无穷大。将有比数据更多的空白。

Range(Range("P2"), Range("P2").End(xlDown)).Copy  '!!!Stops at frist blank!!!
For idx = 1 To 1

Columns("P:P").Cut
    Cells(Range("D2").End(xlDown).Row + 1, "D").Select
    ActiveSheet.Paste
Next

我不明白为什么不能这样做。如果有其他解决方案,我不需要它是这个代码。我的任务是将一个相关信息的布局从一个完整的行填充到“堆叠”布局,其中相关数据(带有一些空白)在列中重复。因此要分段。用整列切割副本已经大部分工作了。

它可以在移动之前根据另一个单元格的非空值复制范围。但是它需要降落在新范围底部的第一个空单元上。我会在几列中重复这一点,但可以单独进行。

我可以绕过第一个问题,如果我使用一些代码来查看BI到BO列中的单元格并用值(“0”或“ - ”)填充它们,如果BH中的值不是空白的话。 / p>

1 个答案:

答案 0 :(得分:1)

您的代码和问题有点令人困惑,但我认为这是您正在寻找的内容。这应该复制P列中的所有数据,包括空白。

Range(Range("P2"), Range("P" & ActiveSheet.Cells(ActiveSheet.Rows.Count, "P").End(xlUp).Row)).Copy