web-dev-qa-db-ja.com

VBAの式に変数を挿入するにはどうすればよいですか

誰でもこれを解決できますか?

Sub test

Dim i as integer

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

End Sub
5
lcc

あなたの実際の目標は不明です

このコードから開始したい場合があります

_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)は4番目の列(つまり、列 "D")4およびi行のセルを参照し、iが1をループしているループ内にあるため10まで

    その場合:

    • 別の列を参照する場合は、_4_を適切な列インデックスに変更するだけです

    • 別の行を参照したい場合は、iを適切な行インデックスに変更します(1から10まで繰り返す必要があるが、行_i+2_から書き込みを開始する必要がある場合は、_3_になります)

  • これらのセルに書かれているformulaは次のとおりです。

    =SUM(E1:E15) D1で

    =SUM(E2:E15) D2で

    ....

    D10の=SUM(E10:E15)

    "=Sum(E" & i & ":E15)"を実際のニーズに変更するだけです

3
user3598756

アンパサンド(&)文字列を連結します。

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

文字列内ではなく、文字列間でアンパサンドを使用して結合します。

5
Wolfie

これも試してみてください:

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

それは別の方法です。

0
Vityata