将列中的值复制到另一个工作表中的另一列

时间:2015-07-10 16:42:53

标签: excel-vba vba excel

我创建了一个按钮,可将一个工作表中的所有单元格复制到新工作表中。但是,我希望第一个工作表的总数量(H)列进入新工作表的上一个数量(G)列。有了这个我想要当前数量(F)列清除值。对于每个新工作表,列的长度可能会增长,因此我无法设置特定范围。

ActiveSheet.Range(" F")。ClearContents ??

我所做的任何事情都有复制粘贴命令,我更喜欢直接的方法。 非常感谢!!!

2 个答案:

答案 0 :(得分:0)

这样的事情会起作用吗?

Columns("F:F").Select

Selection.ClearContents

答案 1 :(得分:0)

要选择F列中的整个列,请使用

ActiveSheet.Range("F1").EntireColumn.ClearContents

您也可以将此扩展到EntireRow等。

修改 - 现在我已经清楚了解您的要求。

如果您已经有一个将整个工作表复制到另一个工作表的按钮,那么我认为它也会复制所有原始数据。我不确切地知道您的工作表上的内容,但以下代码应该向您展示如何复制&粘贴整个列。

假设有两列,G和H.G的第一行命名为" Previous"并且H的第一行被命名为" Current"。以下代码将列G替换为列H,同时保留第一行中的列名:

Sub Test()

    'Clear Column G:
    Range(Cells(2, 7), Cells(Rows.Count, 7)).ClearContents

    'Copy & Paste H to G:
    Range(Cells(2, 8), Cells(Rows.Count, 8)).Copy
    Range("G2").Select
    ActiveSheet.Paste

    'Clear Column H:
    Range(Cells(2, 8), Cells(Rows.Count, 8)).ClearContents

End Sub

这是复制和粘贴。如果您没有需要保留的公式,只需剪切并粘贴即可绕过所有代码:

Sub Test()
    Range(Cells(2, 8), Cells(Rows.Count, 8)).Cut
    Range("G2").Select
    ActiveSheet.Paste
End Sub