2017-07-12 220 views
0

我有這張表,其中許多單元格有一個數值(例如:304 550.07),但實際上取決於同一工作表中其他單元格的值。例如:在「公式欄」中可以看到「D1 = C1 + 1」,「2」是D1單元格的實際數值。Excel 2010 VBA宏複製/粘貼

我擡起頭的方式來複制我所需要的列(d),並粘貼到另一片,這裏的代碼(不是我):

Sub sbCopyRangeToAnotherSheet() 
'Method 1 
Sheets("Sheet1").Range("D1:D10").Copy Destination:=Sheets("Sheet2").Range("A1") 

'Method 2 
'Copy the data 
Sheets("Sheet1").Range("D1:D10").Copy 
'Activate the destination worksheet 
Sheets("Sheet2").Activate 
'Select the target range 
Range("A1").Select 
'Paste in the target destination 
ActiveSheet.Paste 
Application.CutCopyMode = False 

End Sub 

所以,這兩種方法的工作,但只如果單元格的值是數值(鎖定?),而不是依賴於另一個單元格的值。 因此,當我嘗試將'Sheet1'的D列複製到'Sheet2'時,我得到的結果是:

=#REF!

OR

在「Sheet 1中」公式欄,這意味着它需要懸垂小區的值「SHEET2」中定義的計算。

所有這一切說,我試圖找到一種方法來複制單元格中寫入的實際值,而不是導致結果的計算。

PS:真的很抱歉,那些不好的解釋,首先tho;) 謝謝。

+1

檢查了這一點,因爲這是之前https://stackoverflow.com/questions/23937262/excel-vba-copy-paste-values-only-xlpastevalues – krib

回答

1

複製&粘貼只值你應該使用這樣的事情在你的代碼:

'copy range 
Sheets("Sheet1").Range("D1:D10").Copy 
'paste only values 
Sheets("Sheet2").Range("A1").PasteSpecial xlPasteValues 
+0

回答了幾次這正是我需要的!謝謝 ! –

0

如果你只是想分配一些細胞的值是一些其他單元格的值,而你不知道「不想複製格式,公式等,只需用細胞.Value屬性:

Sub sbCopyRangeToAnotherSheet() 
    Sheets("Sheet2").Range("A1:A10").Value = Sheets("Sheet1").Range("D1:D10").Value 
End Sub 

這樣就避免了所有使用剪貼板作爲在傳遞過程中的中介所固有的問題。

+0

感謝您的知識 –

0
Sheets.Range("D1:D10").SpecialCells(xlCellTypeVisible).Copy Destination:=Sheet2.Range("A1")