2010-10-10 312 views
3

有沒有辦法做到這一點作爲一行復制/粘貼而不使用剪貼板。 複製一個範圍 - 行到另一個表單粘貼範圍 - 整行。我需要價值觀,而不是公式。VBA:無剪貼板複製粘貼

Sheets("Data").Select 
ActiveCell.EntireRow.Copy 

Sheets("TSP").Select 
ActiveCell.PasteSpecial Paste:=xlPasteValues 
+0

你想只複製粘貼值嗎?或者也複製粘貼格式化的單元格? – 2016-07-13 14:12:46

+0

按照這裏的說明==> http://excelexperts.com/copy-values-vba – 2017-02-07 05:04:30

回答

9

此代碼複製值(不是公式)。

Sub a() 
    Worksheets("Sheet2").Range("TS").Value=Worksheets("Sheet1").Range("1:1").Value 
End Sub 

其中「TS」是範圍的名稱(一行)。

這是你想要實現的嗎?

編輯

要在當前行復制到Sheet2.Row2(例如),您可以嘗試:

Sub a() 
Dim myrow As Integer 
myrow = ActiveWindow.RangeSelection.Row 
Worksheets("Sheet2").Range("2:2").Value = Worksheets("Sheet1").Rows(myrow).Value 
End Sub 

HTH!

+0

我試過但失敗:Sub a() Dim TS As Range Set TS = Worksheets(「Sheet2」)。Range( 「2:2」) 工作表(「Sheet2」)。範圍(「TS」)。值=工作表(「Sheet1」)。範圍(「1:1」)。值 End Sub – Merlin 2010-10-11 03:30:37

+0

1st將sheet1,range 1:1找到活動的細胞?並且,如何設置activecell,sheet2上的wholeRow的範圍.... – Merlin 2010-10-11 03:37:00

+0

您的副本的來源是什麼?當前行?一個特定的預定義行? – 2010-10-11 04:08:09

1

由於某種原因,沒有。 PasteSpecial是關於剪貼板。

如果您只需要值,請使用For循環複製它們。