Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11744 / 76734 ←次へ | 前へ→

【70522】Re:ループ中のDIM 追伸
発言  ichinose  - 11/11/24(木) 8:54 -

引用なし
パスワード
   おはようございます。

私の拙い記述でもある程度のご理解は、して頂いたと思うのですが・・・、
>実行時に、エラーとするか、無視するか、
>VBAの仕様ということですね。^^
実行時にエラーとすること等できない仕様になっていることが
以下のコードがエラーにならないことでご理解頂けると思います。

Sub test()
  Dim g0 As Long
  For g0 = 1 To 10
    If g0 >= 6 Then
     Dim a As String
    End If
    a = a & "1"
  Next
  MsgBox a
End Sub


上記コードだと、
g0が6以上なって、Dim宣言ステーとメンとを実行している というように
みえますが、そうだとすると、エラーになりますが、実際にはエラーとは
ならず、aは 1111111111 と表示されます。

私たちが記述した  --->コンパイル--------->中間コード--------------------
VBAコード        文法チェックと    この時点で
            中間コード作成    変数aがローカルに
                      作成するコードが作成

--------------------->インタプリタで実行
           プロシジャー実行時の最初で
           変数aの領域は認知

よって、上記のtestが正常に作動しているのだと思われます。
3 hits

【70498】ループ中のDIM ふねふね 11/11/21(月) 13:08 質問
【70500】Re:ループ中のDIM UO3 11/11/21(月) 15:25 発言
【70501】Re:ループ中のDIM ふねふね 11/11/21(月) 17:24 発言
【70502】Re:ループ中のDIM ichinose 11/11/21(月) 17:42 発言
【70503】Re:ループ中のDIM 追伸 ichinose 11/11/21(月) 17:53 発言
【70507】Re:ループ中のDIM 追伸 ふねふね 11/11/22(火) 9:27 お礼
【70522】Re:ループ中のDIM 追伸 ichinose 11/11/24(木) 8:54 発言

11744 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free