查找搜索的问题

时间:2013-12-13 09:05:55

标签: excel excel-vba vba

我正在尝试编写一个宏,用于比较Column LColumn 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

中的值

抱歉 - 我没有足够的声誉来发布截图 - 很难相信,我知道!

1 个答案:

答案 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