1

vbaで変化するセル範囲の合計を計算しようとしています。残念ながら、セルの値は変数です。次の式を機能させることができないようです。

Private Sub calcOverheadRate(startCell As Integer, endCell As Integer)
     Total = endCell + 1
     Range("D" & Total).Formula = "=SUM("D" & startCell & ":" & "D" & endCell)"
End Sub

コンパイル エラーが表示されます:「Expected: end of statement

この問題を解決するために、関数を次のように変更しました。

Private Sub calcOverheadRate(startCell As Integer, endCell As Integer)

    Dim start As String
    Dim endC As String

    start = "D" & CStr(startCell)
    endC = "D" & CStr(endCell)

    Total = endCell + 1

    Range("D" & Total).Formula = "=SUM(start:endC)"

End Sub

関数は正常にコンパイルされます。実行すると、セルの値は「#NAME」であり、参照されてSUM(start:endC)いませんSUM(D5:D23)....

これを解決する方法についての考えをいただければ幸いです。

4

3 に答える 3

5

引用符が問題です:
Range("D" & Total).Formula = "=SUM(" & startCell & ":" & endCell & ")"

于 2012-07-05T13:24:56.817 に答える
1

& が文字列リテラルの引用符内にある必要があるという問題を理解しました

Range("D" & Total).Formula = "=SUM(" & start & ":" & endC & ")"
于 2012-07-05T03:36:01.870 に答える
0

How about you try using a table?

enter image description here

Here is a 1 min video on how to make a table in Excel:

http://www.screenr.com/VvZ8

于 2012-07-06T03:55:34.377 に答える