
taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
どうも、taka(@takabou63)です(^^♪
今回はVBAでもかなり重要な「変数」についてご紹介してきます(^^♪
変数とは
変数は値を一時的に記録しておいて、好きな時に抜き出すことができる一時保管する入れ物のようなものになります( /^^)/□
- 変数を宣言する
- 変数に値を入れる
- 変数の値を取り出す
変数は上記の流れを踏んで使用します(^^♪
変数の型
変数の宣言の前に型について書いていきます。変数にはいくつかの「型」があり、その型を先に宣言をしてから使うというルールがあります。
例えるなら「テレビのリモコンには単四電池を、充電器には単三電池を」の様に決まったものに決まった電池が決まっているというイメージです(逆に分かりにくいか?)
変数の型にはいくつかありますがよく使うものをここでは紹介していきます。
型名 | 記述文 | 説明 |
長期整数型 | Long | 数値だけを入れることができる変数型 |
文字列型 | String | 文字列だけを入れることができる変数型 |
バリアント型 | Variant | いくつか制限はあるもののすべてのデータを入れることができる変数型(ただし多用はお勧めはしない) |
とりあえず最初はこの3つを覚えておけば問題はないと思います(^^)
他にも型には日付型やオブジェクト型などいくつかの型が存在しますが最初はこの三つを覚えておいてください ^^) _旦~~
変数を使用してみる
では実際に変数を使用してみましょう!
まず初めに変数を使う前に「このような変数を使います」と文字通り変数名と変数の型を「宣言」します。
変数の宣言にはDimステートメントを使用します。
Sub sample() Dim i as Long i=1 msgbox i End sub
このプログラムは変数【i】に数字しか入れることのできない【Long】を宣言し、数字「1」を代入しその代入した変数【i】をメッセージボックスに表示するプログラムです。


型による違い
逆に数値しか入れることができない【Long】に文字列【”AAA”】を格納しようとするとエラーになります。
Sub sample() Dim i As Long i = ”AAA” MsgBox i End Sub
【実行時エラー13 型が一致しません】と表記されたのではないでしょうか?


このエラーは、メッセージの通り変数の型が代入された値に対して間違っているというエラーです(;´Д`)なのでコードの【Long】型を【String】型、または【Variant】型に書き換えるとエラーが起きなくなるはずです。
Sub sample() Dim i As String’またはVariant i = ”AAA” MsgBox i End Sub

Variantの使用上の注意
だったら【Variant】を宣言しておけば何も問題ないじゃないか?というように思うかもしれませんが、一つ懸念されるのが文字列の問題です。もし文字列で無いといけない場合がある時は【Variant】では困ってしまうことになります。
Sub sample() Dim i As Variant i = "100" i = i + "100" MsgBox i End Sub
【Variant】では文字列の場合は文字列型の型として扱われますので結果は【100100】と表示されます。
ですが【Long】は数値と認識できるものは文字列であろうと計算をしてくれます。下記のコードを実行すると結果が【200】なります。
Sub sample() Dim i As Long i = "100" i = i + "100" MsgBox i End Sub


このように【Long】と【Variant】では同じ文字列を使っても結果が変わってきますので、あまり頻繁には問題にはならないですが頭の隅に置いておくといいかもしれません(^^♪
パート2について
これにて変数についてパート1は終了いたします、長文にお付き合いいただきありがとうございました。
今回のパート1は変数とはどのようなものか、そして型について何となく頭で理解できていただけたらと思い書かさせていただきました。パート2では変数仕様の花形でもある繰り返し処理について解説していきたいと思いますのでお待ちください ^^) _旦~~
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す