2016-05-04 16 views
-1

私は以下のコードに問題があります。これは私が望むものですが、結果を上書きし続けます。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" 

答えて

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 
+0

ありがとう、それは私の問題を解決しました:) – Mehrdad