1

わかりました基本的に、販売するすべてのコミックをリストする販売管理システムを手に入れました。別のコミックを追加する方法を追加しようとしています。順調に進んでいますが、以下のコードで試した合計などを表示する式を更新する必要がありますが、セル番号を検索で返された行番号に設定しようとすると、オブジェクトが必要なエラーがスローされます。

Dim cellnum As Integer
Set cellnum = range("B4:B500").Find("TOTALS").Row

Dim cellnum_minus As Integer
Set cellnum_minus = cellnum - 1

Dim cellnum_plus As Integer
Set cellnum_plus = cellnum + 1

range("O" & cellnum).Value = "=SUM(O4:O" & cellnum_minus & ")"
range("Q" & cellnum).Value = "=AVERAGE(O4:O" & cellnum_minus & ")"
range("R" & cellnum).Value = "=MAX(R4:R" & cellnum_minus & ")"
range("S" & cellnum).Value = "=MIN(S4:S" & cellnum_minus & ")"
range("C" & cellnum_plus).Value = "=C" & cellnum & "/10"
range("D" & cellnum_plus).Value = "=D" & cellnum & "/10"
range("E" & cellnum_plus).Value = "=E" & cellnum & "/10"
range("F" & cellnum_plus).Value = "=F" & cellnum & "/10"
range("G" & cellnum_plus).Value = "=G" & cellnum & "/10"
range("H" & cellnum_plus).Value = "=H" & cellnum & "/10"
range("I" & cellnum_plus).Value = "=I" & cellnum & "/10"
range("J" & cellnum_plus).Value = "=J" & cellnum & "/10"
range("K" & cellnum_plus).Value = "=K" & cellnum & "/10"
range("L" & cellnum_plus).Value = "=L" & cellnum & "/10"
range("M" & cellnum_plus).Value = "=M" & cellnum & "/10"
range("N" & cellnum_plus).Value = "=N" & cellnum & "/10"
4

1 に答える 1

1

変数に値を代入するときは、「set」を使用しません。SetRange オブジェクトを取得して割り当てる場合のように、オブジェクトへの参照を割り当てるために使用されます。のようにSet myRange = Range("A1:B2")

違う

Dim cellnum As Integer
Set cellnum = range("B4:B500").Find("TOTALS").Row

正しい

Dim cellnum As Long
cellnum = range("B4:B500").Find("TOTALS").Row

また、Integer の代わりに Long を使用します。とにかくVBAはIntをLongに変換します。さらに、より大きな数を格納する必要があるエラーを回避します。

于 2013-01-29T18:34:38.467 に答える