2017-02-28 84 views
3

任何人都可以解決這個問題嗎?如何在VBA中插入變量公式

Sub test 

Dim i as integer 

For I = 1 to 10 
    ActiveCell.Offset(0, 2).Formula = "=Sum(E15,&i&)" 
Next I 

End Sub 
+0

你需要採取的'i'出來的'「'。但什麼是你想'Sum'? –

回答

4

你很接近,試圖用連字符(&)連接字符串。

ActiveCell.Offset(0, 2).Formula = "=Sum(E15," & i & ")" 

使用字符串之間的連字號合併他們,而不是裏面的字符串。

+0

是什麼目的了公式'= SUM(E15,1)'? –

+0

這是工作,非常感謝!!!!! – lcc

+0

謝謝,如果它是公認的答案,那麼請標記它以便[email protected],我同意目前還不清楚OP是在努力實現什麼,但這是解決他們特定問題的方法:) – Wolfie

0

你可以試試這個問題,以及:

Option Explicit 

Sub TestMe() 

    Dim i As Long 

    For i = 1 To 10 
     ActiveCell.Offset(i, 2).Formula = WorksheetFunction.Sum(i, i) 
    Next i 

End Sub 

這是做它的另一種方式。

1

您的實際目標是不清楚

你可能要開始表單驗證碼

Sub test() 
    Dim i As Integer 

    For i = 1 To 10 
     cells(i, 4).Formula = "=Sum(E" & i & ":E15)" 
    Next 
End Sub 

並調整到你的需求,因爲他們知道:

  • 它目前中寫道細胞「D1:D10」

    因爲cells(i, 4)引用了單元格i ñ第4列(即:列「d」)4和i行,我們是一個循環,i通過1至10

    所以如果循環內:

    • 要引用不同的列則只是改變4到正確的列索引

    • 要引用不同的行則只是改變i到適當的行索引(可能有些i+2如果需要通過1迭代到10,但開始從編寫行3

  • 寫入的那些細胞的formula是:

    =SUM(E1:E15)在D1,

    在D2 =SUM(E2:E15)

    ....

    =SUM(E10:E15)在D10。

    所以只是改變"=Sum(E" & i & ":E15)"到您的實際需求

+0

其實我試過這個「= Sum(E&i&」:E15)「 但我忘記在&符號之間留出空格,&和「我」 這就是我無法使用此代碼的原因>< – lcc

+0

我提供的代碼也是如此嗎? – user3598756

+0

是的,它適用於我!非常感謝! – lcc