- ベストアンサー
[VBA] 型宣言の順番について
- VBAの初級者が宣言文を書く際、型宣言の順番について相談です。
- 現在はプロシージャの一番上に全ての宣言文を書いており、大きい型のものから順番に書いています。
- 他のソースコードを見ると、変数を使う直前で都度宣言することもあるため、正しい宣言の方法について教えていただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>変数数を使う直前で都度宣言している C++やJavaをメインで使っている人の場合、その方がコードを書きやすく解りやすいようです。 >こういう理由で自分はこう宣言している 私の場合、VBAのヘルプに「プロシージャ内で Dim ステートメントを使用する場合は、通常、Dim ステートメントをプロシージャの最初で記述します。」とあるので、SubやFunctiionの後に纏めて書く様にしています。 ぶっちゃけ正しく動くならばどうでもいい話ですが。
その他の回答 (2)
- Prome_Lin
- ベストアンサー率42% (201/470)
お気持ちは、すごく分かりますが、意味はないと思います。 私も、キッチリ順番を決めたい気持ちはすごくありますので、お気持ちは分かるのですが、自己満足の世界でしかないかと思います。 その変数を使う前であれば、いつ宣言しても、プログラム上、何の意味もないからです。 しかし、明確な順番みたいなのがあると、気分的に安心できるのは確かですが・・・ 私は、とりあえず、大きな意味のあるもの、と自分で思ったものからにしています。
お礼
ありがとうございます。 とても参考になりました。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
Sub test() Dim FSO As Object Dim oDic As Object Dim wbSour As Workbook, wbDest As Workbook Dim wsSour As Worksheet, wsDest As Worksheet Dim r as Range Dim tmp As Variant Dim destDir As String Dim i As Long, j As Long, k As Long ・・・・・ End Sub ↓ Sub test() Dim I As Long ' XXXXXXXXXXXXXXX Dim J As Long ' XXXXXXXXXXXXXXX Dim K As Long ' XXXXXXXXXXXXXXX Dim varTmp As Variant ' XXXXXXXXXXXXXXX Dim strDir As String ' XXXXXXXXXXXXXXX Dim objFSO As Object ' XXXXXXXXXXXXXXX Dim objDic As Object ' XXXXXXXXXXXXXXX Dim wbkSour As Workbook ' XXXXXXXXXXXXXXX Dim wbkDest As Workbook ' XXXXXXXXXXXXXXX Dim wstSour As Worksheet ' XXXXXXXXXXXXXXX Dim wstDest As Worksheet ' XXXXXXXXXXXXXXX Dim rngXXXX as Range ' XXXXXXXXXXXXXXX ・・・・・ End Sub 私であれば・・・。
お礼
ありがとうございます。 とても参考になりました。
お礼
ありがとうございます。 とても参考になりました。