[英]Copy paste as values Excel VBA
我有這段代碼,但是我需要它來復制粘貼數據作為值。 我知道它可能很簡單,但是我沒有使用.Paste函數,所以我不知道如何轉換它。 我是一個初學者。 提前謝謝了!
Sub Movetabletototal()
Dim Count As Integer
Dim copyRng As Range, pasteRng As Range
Dim totalWS As Worksheet, mixerWS As Worksheet
Set totalWS = Worksheets("TOTAL")
Set mixerWS = Worksheets("MIXER TOTAL")
Set copyRng = mixerWS.Range("P3:Q" & mixerWS.Cells(mixerWS.Rows.Count, 17).End(xlUp).Row)
Dim newRow As Long
newRow = totalWS.Cells(totalWS.Rows.Count, 1).End(xlUp).Row
If newRow > 1 Then newRow = newRow + 1
copyRng.Copy totalWS.Range(totalWS.Cells(newRow, 1), totalWS.Cells(newRow + copyRng.Rows.Count, copyRng.Columns.Count))
End Sub
您需要在代碼中使用PasteSpecial
。 將最后一行更改為此:
'.
'. Your code will be the same till here
'.
copyRng.Copy
Set pasteRng = totalWS.Range(totalWS.Cells(newRow, 1), _
totalWS.Cells(newRow + copyRng.Rows.Count, copyRng.Columns.Count))
pasteRng.PasteSpecial xlPasteValues
End Sub
或者,您可以使用如下所示的值(如上所示設置范圍):
pasteRng.Value = copyRng.Value
如果您僅對值感興趣,則無需使用Copy
, Paste
或PasteSpecial
。 相反,只需使用直接值分配即可:
Dim destinationRange as Range
With totalWs
Set destinationRange = .Cells(newRow, 1).Resize(copyRange.Rows.Count, copyRange.Columns.Count)
End With
destinationRange.Value = copyRange.Value
您也可以嘗試
.PASTESPECIAL(-4163)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.