将单元格范围(仅值而非公式)复制到同一文件中的另一个 sheet
Copy (only value and not formula) range of cells to another sheet in same file
我正在使用以下代码。此代码将单元格公式复制到另一个 sheet。有谁知道如何修改它以仅复制单元格值而不复制公式?
sub copyRangeOver()
Dim i As Integer
i = 631
Dim copyRange As Range
Set copyRange = ThisWorkbook.Worksheets("Coupling xyz data").Range("J" & 1 & ":V" & i)
Dim countD As Integer
countD = 1
copyRange.Copy Destination:=Cells(countD, 1)
Dim j As Integer
j = 466
Set copyRange = ThisWorkbook.Worksheets("Spring xyz data").Range("J" & 1 & ":V" & j)
copyRange.Copy Destination:=Cells(i + 1, 1)
End Sub
您需要特殊粘贴:
copyRange.Copy
Cells(countD, 1).PasteSpecial Paste:=xlPasteValues
您可以进行直接值传输,这比复制和粘贴特殊值更快,而且不涉及剪贴板。
Sub copyRangeOver()
Dim i As Long, j As Long, countD As Long
Dim copyRange As Range
i = 631
countD = 1
With ThisWorkbook.Worksheets("Coupling xyz data")
Set copyRange = .Range("J" & 1 & ":V" & i)
Cells(countD, 1).Resize(copyRange.Rows.Count, copyRange.Columns.Count) = _
copyRange.Value
End With
j = 466
With ThisWorkbook.Worksheets("Spring xyz data")
Set copyRange = .Range("J" & 1 & ":V" & j)
Cells(i + 1, 1).Resize(copyRange.Rows.Count, copyRange.Columns.Count) = _
copyRange.Value
End With
End Sub
这重复了您之前的工作,尽管在我看来这些值的目的地有些含糊不清。对于接收值的行,您在第二个中使用 i,在第一个中使用 CountD,但似乎没有他们之间的关系。
这是通常的做法。
copyRange.Copy
Cells(i + 1, 1).PasteSpecial xlPasteValues
application.cutcopymode=0
我正在使用以下代码。此代码将单元格公式复制到另一个 sheet。有谁知道如何修改它以仅复制单元格值而不复制公式?
sub copyRangeOver()
Dim i As Integer
i = 631
Dim copyRange As Range
Set copyRange = ThisWorkbook.Worksheets("Coupling xyz data").Range("J" & 1 & ":V" & i)
Dim countD As Integer
countD = 1
copyRange.Copy Destination:=Cells(countD, 1)
Dim j As Integer
j = 466
Set copyRange = ThisWorkbook.Worksheets("Spring xyz data").Range("J" & 1 & ":V" & j)
copyRange.Copy Destination:=Cells(i + 1, 1)
End Sub
您需要特殊粘贴:
copyRange.Copy
Cells(countD, 1).PasteSpecial Paste:=xlPasteValues
您可以进行直接值传输,这比复制和粘贴特殊值更快,而且不涉及剪贴板。
Sub copyRangeOver()
Dim i As Long, j As Long, countD As Long
Dim copyRange As Range
i = 631
countD = 1
With ThisWorkbook.Worksheets("Coupling xyz data")
Set copyRange = .Range("J" & 1 & ":V" & i)
Cells(countD, 1).Resize(copyRange.Rows.Count, copyRange.Columns.Count) = _
copyRange.Value
End With
j = 466
With ThisWorkbook.Worksheets("Spring xyz data")
Set copyRange = .Range("J" & 1 & ":V" & j)
Cells(i + 1, 1).Resize(copyRange.Rows.Count, copyRange.Columns.Count) = _
copyRange.Value
End With
End Sub
这重复了您之前的工作,尽管在我看来这些值的目的地有些含糊不清。对于接收值的行,您在第二个中使用 i,在第一个中使用 CountD,但似乎没有他们之间的关系。
这是通常的做法。
copyRange.Copy
Cells(i + 1, 1).PasteSpecial xlPasteValues
application.cutcopymode=0