2016-04-19 14 views
0

このコードを使用して、セルをマスターデータにコピーしました。セル内のデータには数式が含まれています。このデータを他のシートに貼り付けるには、セルのフォーマットを数値に変更します。Excel VBA maxterデータ

Sub MaxterData() 

Sheets("Sheet1").Range("B2:E2").Copy 


Dim lastrow As Long 
lastrow = Range("A65536").End(xlUp).Row 

Sheets("Summary Info").Activate 
Cells(lastrow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 


End Sub 

答えて

1

これを試してみてください:

Sub MaxterData() 

Dim lastrow As Long 

With Sheets("Summary Info") 
    lastrow = .Range("A" & Rows.Count).End(xlUp).Row 
    .Cells(lastrow + 1, 1).Resize(, 4).Value = Sheets("Sheet1").Range("B2:E2") 
    .Cells(lastrow + 1, 1).Resize(, 4).NumberFormat = "General" 
End With 

End Sub 

.Select.Activateを使用しないようにしてください。ほとんどの場合、それは必要ではなく、コードの実行が遅くなります。

また、値を必要とする場合は、値を直接ターゲットに割り当てます。

+0

私はそれを見ることができるので、彼は書式設定ではなく値を貼り付けています。 @findwindow –

+0

@findwindowはい、私は何かを見逃すことができます。私に秒をください。 –

+0

私はすでにupvoted。私はちょうど言っていた。 – findwindow