感谢您花时间阅读我的问题。
我有一张带有2张标签的工作簿" Sheet1"和" Sheet2"。
On" Sheet1"我有范围B14:G65,I14:I65,合并范围J14:J65合并范围内的每个合并单元格跨越J:N或J14:N:14到J65:N65。
我需要将满足F列标准的范围值复制到" Sheet2"在同一范围内。
我有以下宏工作得很好,除非它到达合并的单元格时出错。如果细胞没有合并,它可以正常工作。希望有人可以帮助我。
我不能使用行复制功能,因为在H和P列中有公式:AD不能被覆盖并且从Sheet1复制整行会覆盖它,因此我需要这些范围。
Sub Test()
Dim rng As Range
Dim lastRow As Long
Dim cell As Variant
Dim count As Long
count = 0
With ActiveSheet.Previous
lastRow = .Range("F" & .Rows.count).End(xlUp).Row
Set rng = .Range("F14:F" & lastRow)
For Each cell In rng
If cell.Value = "WIP" Or cell.Value = "WNS" Then
Range(cell.Offset(0, -4), cell.Offset(0, 1)).Copy
Range("B14").Offset(count, 0).PasteSpecial xlPasteValues
Range(cell.Offset(0, 3), cell.Offset(0, 3)).Copy
Range("I14").Offset(count, 0).PasteSpecial xlPasteValues
Range(cell.Offset(0, 4), cell.Offset(0, 4)).Copy
Range("J14").Offset(count, 0).PasteSpecial xlPasteValues
count = count + 1
End If
Next
End With
End Sub
答案 0 :(得分:1)
想想我发现了自己的问题。
通过更改行
Range(cell.Offset(0, 4), cell.Offset(0, 4)).Copy
Range("J14").Offset(count, 0).PasteSpecial xlPasteValues
到
Range("J14").Offset(count, 0) = Range(cell.Offset(0, 4), cell.Offset(0, 4))