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