1

Errorタイプの変数が宣言され、後で VBA プログラムで使用されるテストを作成したいと思います。=1/0アクティブシートのセルに書いた(5,6)ので、値#DIV/0!があり、次のコードを実行しようとします:

Sub try()
   Dim x As Error
   y = ActiveSheet.Cells(5, 6).Value
   MsgBox TypeName(y)
   x = ActiveSheet.Cells(5, 6).Value
End Sub

はfor をMsgBox出力しますが、 :への割り当ての行でエラーが発生します。ErroryxRun-time error "91": Object variable or With block variable not set

Errorここで何が間違っているのか、または変数または型が宣言されて使用される別の例を教えてもらえますか?

4

2 に答える 2

3

セル内のエラーはエラー値であり、Error オブジェクトではありません

エラーオブジェクトを使用するには:

   Dim x As Error
   Dim n As Long
   ActiveCell.Formula = "=1/0"
   For n = xlEvaluateToError To xlInconsistentListFormula
      Set x = ActiveCell.Errors(n)
      If x.Value Then MsgBox "Error in cell"
   Next n
于 2013-09-02T12:53:36.347 に答える