2017-08-09 57 views
2

有人能幫助我稍微調整這個所以它複製並粘貼剛纔值的細胞,而不是公式?複製值,而不是公式

Set copyRange = wsInfoFrom.Range("A1:A" & lastrow) 
copyRange.SpecialCells(xlCellTypeVisible).Copy wsInfoTo.Range("A" & Rows.Count).End(xlUp).Offset(1, 0) 
Worksheets("View").Activate 

問候, 密爾

+0

感謝Gary的學生,我是新來這個網站,如果你沒猜錯的:) – Mils

+0

你miight尋找這個? - 「https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-pastespecial-method-excel」 –

+0

我希望你將能夠使用'...。價值= ... .Value'但'.SpecialCells(xlCellTypeVisible)'複雜的事情,所以由德英阮答案(使用'wsInfoFrom'和'wsInfoTo',而不是'ActiveSheet')和裏卡多·羅德里格斯很可能是最容易實現的。 – YowE3K

回答

1

先選擇源範圍 然後選擇目標範圍 集副本SC和PasteSpecial的目標範圍,你去:d

Set copyRange = ActiveSheet.Range("A1:A" & lastrow) 
copyRange.SpecialCells(xlCellTypeVisible).Copy 
ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues 
Worksheets("View").Activate 
+0

這正是我需要的,但我不得不去適應它從一個不同的表,而不是活動工作表提取數據。很多謝謝Mils – Mils

+0

:D,忘了更換紙張。我沒有相同的工作簿,因此必須將該變量更改爲活動工作表。很高興聽到這項工作。請查看評論中的技術細節鏈接。 –

2

像這樣的東西應該工作

Sheets("Sheet1").Columns(1).Copy 
Sheets("Sheet2").Columns(2).PasteSpecial xlPasteValues 

不必在此刻脫穎而出提供給我,但我相信你會在使用PasteSpecial的你這樣的例如:

wsInfoTo.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues 
+0

在我看來,這個話題想要將上面的行值複製到下面的行中。不是從A列到B列;)但是,這是接近的答案ANW –