web-dev-qa-db-ja.com

VBAセルの範囲を合計する

私は、アクティブセルの列とユーザーの入力を使用して、単一行のセルの範囲を一緒に追加する単純なVBAマクロを記述しようとしています。範囲は、ユーザーがアクティブな列に入力した整数を追加することによって計算され、それが終了列です。問題は、実行時エラー '424'が表示され、「オブジェクトが必要」と表示されることです。実行すると、合計ラインで怒ります。

これが私のコードです。私はVBAから始めたばかりなので、それほど難しくありません...

Sub Food()
Dim first As Variant
Dim last As Integer
Dim days As Integer
Dim month As Variant
Dim total As Double
first = ActiveCell.Column
days = InputBox("Days in the month?")
last = first + days
month = Range(Cells(first, 4), Cells(last, 4))
total = Excel.WorksheetFunction.Sum(Report.Range(month))
Worksheets(1).Cells(1, 13).Value = total
End Sub
4
Josh

エラーは、範囲を合計しようとしている方法です。このようにしてみてください:

total = WorksheetFunction.Sum(month)

VBAで問題が発生した場合は、それを分離して個別に解決してください。たとえば、あなたの場合、分離の例として、このようなものが助けになるでしょう:

Option Explicit

Sub TestMe()

    Dim rngRange As Range
    Set rngRange = Range("A1:A5")

    'Any of these is ok:
    Debug.Print WorksheetFunction.Sum(rngRange)
    Debug.Print WorksheetFunction.Sum(Range("A1:A5"))
    Debug.Print WorksheetFunction.Sum(1, 2, 3)
    Debug.Print WorksheetFunction.Sum(Array(1, 2, 3))
    Debug.Print WorksheetFunction.Sum(Array(1, 1, 545), Array(-2))

End Sub
0
Vityata