【问题标题】:Copy Block of Data with Blanks to Other Location将带空白的数据块复制到其他位置
【发布时间】:2017-03-27 15:32:52
【问题描述】:

我正在重用来自另一个线程的此字符串,以将带有空格的一整列(对齐其他信息所需)复制到新位置。但我看到它的复制动作将在第一个空白处停止,事实上它确实如此。我需要它做的是将空白和所有内容复制为一个块,然后将其放在 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 中的值不为空),我可以绕过第一个问题。

【问题讨论】:

    标签: excel vba copy paste


    【解决方案1】:

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

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

    【讨论】:

    • 可以缩短为:Range("P2", Cells(Rows.Count, "P").End(xlUp).Row).Copy
    猜你喜欢
    • 2018-04-23
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 2015-03-03
    相关资源
    最近更新 更多