【Day8】文系オタクのエンジニア道~配列について①~
こんにちは
安田です
なんとか1週間VBA学習が続いております
細かくやることで
飽きがこず、コツコツとやれる感じがします
飽き性の僕にはいい学習方法だと感じました笑
今回は変数型と配列について学習しました
変数:バリアント型
表示:Variant 読み:バリアント
宣言していない変数を使用したり、データ型を省略することが可能な変数型
Sub Vardata()
Dim a 'データ型を省略
a = 255
b = "みかん" '宣言をしていない変数
MsgBox a
MsgBox b
End Sub
バリアント型は万能説・・・と思いきや
デメリットもありました
変数の中身がわかりにくくなる
宣言していない変数を間違えて使ってしまう
他のデータ型よりもメモリを使うため、実行速度が遅くなる可能性も
なのでデータ型で宣言してから使うのがベターですね
変数の宣言を強制する方法
「Option Explicit」を先頭に記載することで
宣言していない変数を使えなくなります
Option Explicit
なのでしっかりと変数を宣言してあげると
Option Explicit
Sub Vardata()
Dim a As Byte
Dim b As String
a = 255
b = "みかん"
MsgBox a
MsgBox b
End Sub
またVBEの「ツール」→「オプション」で「編集タブ」から
「変数の宣言を強制する」にチェックを入れると
モジュールの先頭に自動的に追加されます
配列とは異なる要素を同時に入れることができる
静的配列について
変数は一つのものしか入れれない箱
配列は異なる要素を同時に入れることができる
と認識しました
アパートに例えてみました
3人の方をまとめて引っ越しすることができます
コーポ大阪の0号室は安田さん
1号室は山田さん
2号室は吉田さん
部屋番号 = 配列 です
配列は「0」からスタートします
あらかじめ配列が分かっているものを静的配列と呼びます
配列の宣言の仕方
実際にどういう風にコードを書くのか
まずは配列の宣言をします
コーポ大阪(0) = "安田"
コーポ大阪(1) = "山田"
コーポ大阪(2) = "吉田"
続いて変数を入れる場所を指定します
Range("A1") = コーポ大阪(0)
Range("A2") = コーポ大阪(1)
Range("A3") = コーポ大阪(2)
Sub hairetu()
Dim コーポ大阪(2) '配列の宣言
コーポ大阪(0) = "安田"
コーポ大阪(1) = "山田"
コーポ大阪(2) = "吉田"
'代入する場所の宣言
Range("A1") = コーポ大阪(0)
Range("A2") = コーポ大阪(1)
Range("A3") = コーポ大阪(2)
End Sub
まとめ
今回は「配列」という新しいことをやっていきました
より実践的な内容は僕の頭が追いつかないので
まずはここまでにしておきます笑
参考書を見ていると、まだまだ配列の項目はありそうなので
いくつかに分けて学習してアウトプットをしていきます
「VBAマスターに俺はなる」
最後まで読んでいただき
ありがとうございます
安田
マガジンにまとめてありますので
よかったらそちらも御覧ください
この記事が気に入ったらサポートをしてみませんか?