2016-08-04 7 views
1

私は比較的新しいVBAです。私はテーブルをループし、ループごとに別の値を取得しようとしています。セルの読み込みは、最初のループを介してのみ動作します

Sub Macro3() 
    Dim i As Integer 
    Windows("CC_1000H.xlsx").Activate 
    Sheets("CC_1000H").Select 

    Dim Count_Accounts As Integer 
    Dim NewLine As Integer 

    Count_Accounts = Worksheets("Sheet1").Cells(4, "H").Value 
    i = 0 
    Do Until i = Count_Accounts 
     i = i + 1 
     NewLine = Worksheets("Sheet1").Cells(i + 1, "F").Value 
     'Rows("4:4").Select Rows(NewLine).Select 
     '(More code) 
    Loop 
End Sub 

このループを初めて実行すると、コードは正常に動作します。 2回目に、Worksheets( "Sheet1")の値。セル(i + 1、 "F")。値が空でNewLineが0です。セルの値をどのように参照するかは関係ありません。私がまったく私を使用していても、そうであっても。 2回目のセルの読み込みは行いません。

私がここで間違っていることを誰もが知っていますか?

おかげ

+0

探しホープ '行いUntil'ループに入る前に、' i'初期値は何ですか? F列( 'F2'、' F3'、 'F4'など)のすべての行に値がありますか?ループに入るたびに行数を1ずつ進めているので、 –

+0

これは提供されたコードでは複製できません。手続き全体を投稿できますか? – Comintern

+0

確かに。 Count_Accountsとは何ですか?元の割り当てを見る必要があります。 – Parfait

答えて

0

は、あなたがこの

Sub Macro3() 
    Dim i As Long 
    Windows("CC_1000H.xlsx").Activate 
    Sheets("CC_1000H").Select 
    Dim Count_Accounts As Long 
    Dim NewLine As Long 
    Count_Accounts = Worksheets("Sheet1").Range("H" & Rows.Count).End(xlUp).Row 
    i = 0 
    Do Until i = Count_Accounts 
     i = i + 1 
     NewLine = Worksheets("Sheet1").Range("F" & i + 1).Value 
    Loop 
End Sub 
+0

同じ問題があります。これは最初のループで動作しますが、2回目の "Worksheets(" Sheet1 ")Range(" F "&i + 1).Value"は空白で、改行は0です。 –

関連する問題