循环复制粘贴随机遗漏数据

时间:2015-12-16 19:34:39

标签: excel vba excel-vba loops

有任何人在excel vba中遇到问题,其中复制和粘贴行并检查某些条件的循环有时会遗漏信息,并且在我尝试调试并运行之后工作正常

我有一个循环

For rnum = 3 To LastRow
    'if all cells are equal to the Comboboxes then copy and paste the row
    ThisWorkbook.Activate

    If Sheets("Revised Budget").Cells(rnum, 1).Value = BUval And _
            Sheets("Revised Budget").Cells(rnum, 2).Value = TeamLocVal And _
            Sheets("Revised Budget").Cells(rnum, 3).Value = YrVal And _
            Sheets("Revised Budget").Cells(rnum, 9).Value = InstVal Then

        Sheets("Revised Budget").Range(Cells(rnum, 1), Cells(rnum, 12)).Copy
        NewWkbk.Sheets("Actual").Activate

        If NewWkbk.Sheets("Actual").Range("A1").Offset(1, 0).Value = "" Then
            NewWkbk.Sheets("Actual").Range("A1").Offset(1, 0).PasteSpecial
        Else
            NewWkbk.Sheets("Actual").Range("A1").End(xlDown).Offset(1, 0).PasteSpecial
        End If

        Application.CutCopyMode = False

    End If

Next rnum

3 个答案:

答案 0 :(得分:0)

你的变量是字符串还是整数? 如果其中任何一个是字符串,您可以尝试确保它不是您的字符串匹配大写的问题。

 ucase(Sheets("Revised Budget").Cells(rnum, 3).Value) = ucase(YrVal)

答案 1 :(得分:0)

考虑将您的所有.value更新为.value2。我遇到了(可能)类似的问题,并为我修复了它。

答案 2 :(得分:0)

我想我可能已经通过更多的研究找到了它。运行宏的页面包含已过滤的数据。我输入了一个ShowAllData代码,我相信应该解决这个问题。