2015-07-10 107 views
0

我創建了一個按鈕,可將一個工作表中的所有單元複製到新的工作表中。但是,我希望第一張工作表的總數量(H)列進入新工作表的前一個數量(G)列。因此,我希望當前數量(F)列清除值。對於每張新紙張,色譜柱的長度可能會增加,因此我無法設置特定的範圍。將列中的值複製到另一個工作表中的另一列

ActiveSheet.Range(「F」)。ClearContents ??

我所做的任何事情都有複製粘貼命令,我寧願直接的方法。 非常感謝!

回答

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 
+0

謝謝是的 - 但我在尋找如何將整個列的內容複製到新工作表中的另一列。 –

+0

我不確定我是否理解你的問題。你已經創建了一個按鈕來做到這一點,對吧? – AdmiralWen

+0

我創建了一個將整個工作表複製到新工作表的按鈕。然後,我希望sheet1中的列H(總數量)中的值覆蓋新工作表的列G(以前的數量)中的值。這個想法是,在一段時間後(比如說一個月),用戶會在下一個時間段創建一個新的工作表 - 數量將被更新。對不起,這是明確的泥 –

0

會這樣的工作?

Columns("F:F").Select 

Selection.ClearContents 
+0

ClearContents確實有效 - 它從1列複製到另一個不工作... –

+0

好的,我想你想從H複製到G並清除F,是否正確?在這種情況下,我認爲你可以這樣做:'列(「G:G」)。選擇 Selection.Copy Columns(「F:F」)。Select ActiveSheet.Paste' – ikcodez

相關問題