我只需将没有公式的值从工作表复制到另一个工作表。以下代码确实复制,但仅使用公式。我尝试了本网站中提供的一些解决方案,但它们给了我错误。
For i = 2 To LastRow
'sheet to copy from
With Worksheets("Hoist")
'check column H value before copying
If .Cells(i, 8).Value >= -90 _
And CStr(.Cells(i, 9).Value) <> "Approved" _
And CStr(.Cells(i, 9).Value) <> "" _
And CStr(.Cells(i, 10).Value) = "" Then
'copy row to "display" sheet
.Rows(i).Copy Destination:=Worksheets("display").Range("A" & j)
j = j + 1
End If
End With
Next i
最佳答案
尝试更改此行:
.Rows(i).Copy Destination:=Worksheets("display").Range("A" & j)
对此:
.Rows(i).Copy
Worksheets("display").Range("A" & j).PasteSpecial xlPasteValues
但这会删除所有格式。要包含格式,您需要添加另一行,例如:
Worksheets("display").Range("A" & j).PasteSpecial xlPasteFormats
关于vba - 如何使用 VBA 仅复制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667749/