我正在尝试编写一个宏,用于比较Column L
和Column N
中保存的2个值。以下代码保存
Set SpareCell = Range("R1")
Set BlankCell = Range("L14")
Count = 0
Count2 = 0
Do While BlankCell <> ""
Do While SpareCell <> ""
If BlankCell.Offset(Count) = SpareCell.Offset(Count2) Then
Range(BlankCell.Offset(Count), BlankCell.Offset(Count, -11)).Copy
Range(BlankCell.Offset(EndOfCredits), BlankCell.Offset(EndOfCredits, -11)).PasteSpecial
BlankCell.Offset(EndOfCredits) = SpareCell.Offset(Count2, -1)
EndOfCredits = EndOfCredits + 1
End If
Count2 = Count2 + 1
Loop
Count = Count + 1
Loop
第二次执行后,宏在行崩溃。任何想法都感激不尽。
基本上,从L14
开始的数据包含发票编号。从R1
开始的数据也包含发票编号,Q1
中左侧的数据是R
中发票中合并的发票编号。这可能会多次发生,因此Vlookup
将无效。复制和粘贴代码有希望将数据复制到匹配的行A-L
中,并将其粘贴到底部,并保存在EndOfCredits
中。然后粘贴Q
中的值代替L
抱歉 - 我没有足够的声誉来发布截图 - 很难相信,我知道!
答案 0 :(得分:0)
代码应该在条件直接使用单元格内容时运行(即将“.Text”或“.Value”添加到范围中):
Do While BlankCell.Text <> ""
Do While SpareCell.Text <> ""
If BlankCell.Offset(Count).Text = SpareCell.Offset(Count2).Text Then
顺便说一下,如果访问单个单元格的内容,您也应该应用这样的方法:
BlankCell.Offset(EndOfCredits).Value = SpareCell.Offset(Count2, -1).Value
最好的问候,Kawi42