見出し画像

【Day52】文系オタクのエンジニア道~問題演習⑤~

こんにちは
安田です


みなさんは
荷物は多い方ですが
少ない方ですか

僕は多い方です
出先で「もしかしたら、これ要るかも」
と思い始めると
どんどん荷物が増えていきます

昨日はやけにカバンが重いな
と思ってたら
ノートパソコンが2台入っているではありませんか

会社用とプライベート用
ふたつを持ち歩いて
出社していました

気持ちは亀仙人の修行をうける
悟空とクリリンのよう
めっちゃジャンプは出来ないですが笑


はい、今回もVBA学習をやっていきます




Option Explicitについて

Option Explicit
Sub Test1()
 A = 1
 B = A + 1
 MsgBox A & B
End Sub

https://vba-workbook.com/excel-vba-basic/4002-2

こちらの答えは
『エラー』です

え!『12』だと思って
意気揚々と答えたら
まさかの誤答

理由
モジュールの冒頭に「Option Explicit」がある場合
変数の宣言をしないと
エラーになる

そういえばそんなルールあった・・・
完全に忘れていたので再度インプットします


ローカル変数について

Option Explicit
Public A As Long
Dim B As Long

Sub Test1()
 Dim C As Long
End Sub

Sub Test2()
 Const D As String = "VBA"
End Sub

https://vba-workbook.com/excel-vba-basic/4003-2

上記の中で
ローカル変数として正しいものは
『C』でした

『B』は誤答

プロシージャ(Sub-End Subの間)の
内側で宣言されたもの

『D』との違い
Dは定数になる

定数は名前の先頭に
「xl」「vb」「fm」のいずれかで始まる

またConstという命令文も使うことができます

Const 定数名 As 定数の型 = 値
→問題文:Const D As String = "VBA"

定数のまとめ
・定義した定数の値は、マクロ内で変更することはできない
・定義する値は、宣言時に行う必要がある


まとめ

正答率 50%
6問中 3問

記憶に定着していないものがありました

ローカル変数は完全に勘違いしていました
パブリック変数、モジュールレベル変数、ローカル変数、定数
これらの違いを再度認識!


参考文献

VBAマスターに俺はなる

最後まで読んでいただき
ありがとうございます
安田

マガジンにまとめてありますので
よかったらそちらも御覧ください


この記事が気に入ったらサポートをしてみませんか?