見出し画像

【Day32】文系オタクのエンジニア道~変数と定数~

こんにちは
安田です

投稿ペースが1日おきになってきています
日々のインプットはしていますので
温かく見守ってくださると助かります

Option Explicit

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

上記の状態で実行すると
「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

A
パブリック変数
→すべてのモジュールで使用が可能な変数

B
モジュールレベル変数
宣言セクションで宣言した変数

C
ローカル変数(局所変数・プロシージャレベル変数)
プロシージャ内で宣言した変数

D
「定数」になる


Constステートメント

定数を定義する時に、文字列に定義することができるステートメント

Sub Test1()
    Const A As String = "VBA"
    Dim B As String

    B = "ベーシック"

    MsgBox A & B

End Sub

Aには予め「VBA」という文字列を定義しておきます
Bは文字列ということを定義して、後から「ベーシック」という文字を代入する一文を書いています


変数
マクロの中で、何度も変更することが可能
値の格納は、宣言後のコードで行う

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


まとめ

あ、これがいろんな変数のことだったんですね

笑わせるセールスマンさん!
以前、コメントでいただいていた内容が
言葉ではなくて、心で理解することが出来ました!
(コメントいただいたとき、理解できておらず
スルーしてしまい、申し訳ありません)

参考サイト

VBAマスターに俺はなる

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

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


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