运行整个脚本vs一步一步时出错

时间:2016-06-21 18:17:54

标签: excel vba excel-vba

我已经创建了以下代码,在逐步运行时(使用F8键)可以很好地实现它,但是当我运行整个宏时它会失败。

此代码的目的是从Sheet 2中的单元格中搜索文本,一旦找到它,它就会将Sheet 1中的相邻文本复制到工作表2上(在代码中描述的以下事项中)。

当我的意思是代码失败时,我的意思是代码似乎进入了一个继续循环(在LOOP 1中)。然而,当我在chucks中运行代码时(使用F8),它似乎运行得很好(我说因为我解析的数据相当大而且需要很长时间(~2小时)才能显示手动遍历代码所能的每个可能的循环。

对于为什么会发生这种情况的任何建议/建议将不胜感激。

Public Sub FINDthatLINK2()

'x moves up and down
'y moves left and right

x1 = 1 'Defines variable x in Sheet 1

y1 = 1 'Defines variable y in Sheet 1

x2 = 1 'Defines variable x in Sheet 2

y2 = 1 'Defines variable y in Sheet 2

'=================================LOOP 2===================================

Do Until Sheets(2).Cells(x2, 2) = ""

'=================================LOOP 1===================================
'If there is space on the next column, add data. Otherwise, create a new
'row and copy all of the information into the new row + new data
Do Until Sheets(1).Cells(x1, y1) = ""

    If Sheets(1).Cells(x1, y1) = Sheets(2).Cells(x2, y2 + 1) Then

        If Sheets(2).Cells(x2, y2 + 2) = "" Then
            Sheets(2).Cells(x2, y2 + 2) = Sheets(1).Cells(x1, y1 + 1)
        Else
            Sheets(2).Cells(x2 + 1, y2).EntireRow.Insert
            Sheets(2).Cells(x2 + 1, y2) = Sheets(2).Cells(x2, y2)
            Sheets(2).Cells(x2 + 1, y2 + 1) = Sheets(2).Cells(x2, y2 + 1)
            Sheets(2).Cells(x2 + 1, y2 + 2) = Sheets(1).Cells(x1, y1 + 1)

结束如果

    End If

  x1 = x1 + 1

Loop

'==================================LOOP 1==================================

        x2 = x2 + 1
        x1 = 1
Loop 
'=============================LOOP 2===================================

End Sub

0 个答案:

没有答案