2017-02-22 106 views
0

這是我的代碼通過行循環和添加值

With Worksheets("Sheet1") 
    For x = 5 To x = 30 Step 1 
    Set addRange1 = .Range(.Cells(x, 4), .Cells(x, myCount2)) 
    cell(x, myCount2 + 2).Value = Application.Sum(addRange1) 
Next 
End With 

第一行。將細胞(5,4)到單元(5,20)或東西。總結該行的值,並在單元格中顯示它(5,22) 重複最大爲x = 30

希望是清楚 獲取空白單元格其中sum值應該是

+0

你應該在'Cell'上得到'Sub或Function not defined'。使用'Cells',你還有'Option Explicit'在模塊的頂部,因爲你沒有聲明你的變量。 –

+0

我已經聲明addRange1和myCount2,只是沒有包含在帖子 –

+0

@ DarrenBartrup-Cook這段代碼片段在子btw內 –

回答

0

這將是正確的:

With Worksheets("Sheet1") 
    For x = 5 To 30 
     Set addRange1 = .Range(.Cells(x, 4), .Cells(x, myCount2)) 
     Cells(x, myCount2 + 2).Value = Application.Sum(addRange1) 
    Next 
End With 

For ... Next錯誤。而不是To x = 30它必須是To 30

信息這裏發生了什麼:如果您通過您的代碼走過一步一步的,你會注意到,你的For ... Next內的一切永遠不會執行。這是因爲For中的x = 30將x設置爲值30並且這是For的結尾,因此For從未執行過。

Step 1是沒有必要的,它是1默認情況下,你可以將其刪除或保留它,但它是沒有必要的。

而且Darren Bartrup-Cook提到它必須是Cells而不是Cell