我的代码,用于将行从一个工作表复制到另一个工作表。
For Each i In Worksheets("BOM").Range(rangeStr)
Set cell = dataCol.Find(What:=i.Value, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If cell Is Nothing Then
MsgBox "part not found"
Else
dataRow = "B" & cell.Row & ":I" & cell.Row
bomRow = "B" & i.Row & ":I" & i.Row
Worksheets("datasheet").Range(dataRow).Copy Destination:=Worksheets("BOM").Range(bomRow)
End If
Next
单元格的格式不同,有些具有红色背景,绿色等。如何只复制单元格中的值而没有格式?
答案 0 :(得分:2)
您可以为此更改单个.Copy/Destination
行,以实现“复制/粘贴特殊-值”。
Worksheets("datasheet").Range(dataRow).Copy
Worksheets("BOM").Range(bomRow).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
注意:您需要Application.CutCopyMode = False
才能取消选择“复印范围”。
但是,您根本不需要Copy
。只需像这样将单元格的值设置为其他单元格的值:
Worksheets("BOM").Range(bomRow).Value = Worksheets("datasheet").Range(dataRow)