2017-07-12 17 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 

、これらの2つの方法は、仕事だけセルの値が数値(ロックされていますか?)で、別のセルの値に依存するかどうかは関係ありません。 結果として、 'Sheet1'から 'Sheet2'にD列をコピーしようとすると、次のいずれかが表示されます。

=#REF!

OR

それはシート2 'のために応じてセルの値をとることを意味する「シート1」に数式バーで定義された計算。

私はセルに書かれた実際の値をコピーする方法を見つけようとしており、結果につながる計算ではありません。

PS:本当に悪い説明、最初の投稿に申し訳ありません;) ありがとうございます。

+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

あなたが唯一のいくつかの他のセルの値であることが、いくつかのセルの値を代入しようとすると、あなたドンされている場合「tはちょうど細胞の.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") 
関連する問題