VBA EXCEL:循环覆盖结果

时间:2016-05-04 09:27:20

标签: excel-vba loops vba excel

我在使用下面的代码时出现问题,这完全符合我的要求,但它会覆盖结果。

它搜索文本“debitor”,如果是,则复制。

当它找到经常发生的多个结果时,它会覆盖结果。

提前致谢。

Dim sht As Worksheet
Dim LastRow As Long

Set sht = ThisWorkbook.Worksheets("ark1")

LastRow = sht.Cells(sht.Rows.Count, "B").End(xlUp).Row

Do
For x = 13 To 20
        If autECLSession.autECLPS.GetTextRect(x, 26, x, 32) = "Debitor" Then
            Range("B" & LastRow).Offset(1, 0).Value = Trim(autECLSession.autECLPS.GetTextRect(x, 9, x, 17))
        End If
    Next
    autECLSession.autECLPS.SendKeys "[pf8]"
    autECLSession.autECLOIA.WaitForInputReady
Loop Until autECLSession.autECLPS.GetTextRect(22, 2, 22, 36) = "EO0D0018A Der kan ikke bladres frem"

1 个答案:

答案 0 :(得分:0)

您不会更新LastRow,因此您最终会一次又一次地写入同一个单元格。 插入如下增量:

    If autECLSession.autECLPS.GetTextRect(x, 26, x, 32) = "Debitor" Then
        Range("B" & LastRow).Offset(1, 0).Value = Trim(autECLSession.autECLPS.GetTextRect(x, 9, x, 17))
        LastRow = LastRow + 1
    End If