_基本

「定数式が必要です」変数は定数に代入不可【ExcelVBA】

「定数式が必要です」が発生した

通常コンパイルエラー「定数式が必要です」が発生する場合は、定数への代入がおかしいと考えます。

例)
・定数に変数を代入した
・定数にRangeなどのオブジェクトを代入した
・配列を定数で宣言した

「定数式が必要です」が発生するサンプルコード

Public Sub sample()

    '■定数に変数は代入できない
    Dim i As Long: i = 10
    Const MAX_ROW = i
    
    '■Range等のオブジェクトは代入できない
    Const MAX_ROW = Range("A1")

    '■RangeでValueだけも変数なので代入できない
    Const MAX_ROW = Range("A1").Value
    
    ■まとめ
    ' 変数 は 変数 に代入が できます
    ' 変数 は 定数 に代入が できません
    ' 定数 は 変数 に代入が できます
    ' 定数 は 定数 に代入が できません
    
End Sub

注意点

関連記事

コメント

タイトルとURLをコピーしました