2016-08-04 79 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 

第一次通過這個循環,代碼工作正常。第二次通過Worksheets(「Sheet1」)的值。Cells(i + 1,「F」)。Value是空的,NewLine是0.它似乎並不重要,我如何引用單元格值,是甚至是我使用我。它不會再讀取一個單元格。

有沒有人知道我在做什麼錯在這裏?

感謝

+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

同樣的問題。它在循環中第一次運行,但是第二次運行「Worksheet(」Sheet1「)。範圍(」F「和i + 1).Value」爲空,Newline爲0。 –