ノンプロ研中級プログラミング講座【VBAコース第2期】第5回

コミュニティ「ノンプログラマーのためのスキルアップ研究会」の中級プログラミング講座VBAコース第5回のツイートまとめです。コンテンツは「配列」です。
3
前へ 1 2 3 ・・ 6 次へ
ホッタ@技術ライティング講座受講中 @Hotta3216

固定配列のサイズ設定は定数じゃないとエラーが出るが、動的配列のReDimでのサイズ設定は変数でもOK 例えば、 Dim i As Long: i = 2 Dim numbers(1 To i) As Long ←これはエラー Dim i As Long: i = 2 Dim numbers() As Long ReDim numbers(1 To i) As Long ←これはOK #ノンプロ研

2021-03-19 20:38:10
Jun@RPA @ReliveJun

#ノンプロ研 #VBA 動的配列はReDimで要素数を設定できる。 Preserveをつけないと値がクリアされる。

2021-03-19 20:38:41
KT @KTktktkt06

動的配列のサイズ変更 ※あくまで指針です ○サイズの変更が必要 →コレクション・辞書 ○サイズの変更が不要  ・事前にサイズがわかる →固定配列  ・事前にサイズがわからない →動的配列 #ノンプロ研 #VBA中級講座

2021-03-19 20:39:40
ホッタ@技術ライティング講座受講中 @Hotta3216

動的配列じゃなくてコレクション・辞書を使うケースもあるので、どっちが楽かで使い分けてよい こういうどっちでもいいってのががVBAっぽい #ノンプロ研

2021-03-19 20:40:22
KT @KTktktkt06

○Variant型の変数 Dim 変数 As Variant どんな値も格納できる万能の変数 ・変数の型について wa3.i-3-i.info/word11026.html #ノンプロ研 #VBA中級講座

2021-03-19 20:40:47
alice @alice37308108

どんな値も格納できる万能の変数 🧚Variant🧚‍♀️ Dim 変数 as Variant ・日付、整数、配列、オブジェクト、なんでも入る ・動的配列になる ・格納する値の型がバラバラでもOK ・インデックス指定で初期化できない #ノンプロ研

2021-03-19 20:42:16
Takushi✨プログラミング学習中 @Taxi3134

Variant型での配列 ・動的配列になる ・格納する値の型が何でもOK ・ただしインデックス指定で初期化できない #ノンプロ研

2021-03-19 20:42:39
ホッタ@技術ライティング講座受講中 @Hotta3216

型が何でもOKで万能なVariant型は配列まで表現できる #ノンプロ研

2021-03-19 20:42:42
Jun@RPA @ReliveJun

#ノンプロ研 #VBA Variant型の変数による配列 ・格納する値がバラバラでもOK ・値をいれるにはArray関数を使う

2021-03-19 20:43:13
ホッタ@技術ライティング講座受講中 @Hotta3216

Variant型の変数による配列はインデックス指定で初期化できない なんでだろ~ #ノンプロ研

2021-03-19 20:43:24
alice @alice37308108

Variant型のときはArray関数を使う→配列を生成する #ノンプロ研

2021-03-19 20:43:28
KT @KTktktkt06

初期化できないを解決するためには Array関数を使用する ○Array関数 配列を生成する Array(値1, 値2, ...) Dim numbers As Variant numbers = Array(10, 30, 20) ・戻り値はVariant型 ・下限値はOption Baseステートメントに従う *デフォルトは「0」 #ノンプロ研 #VBA中級講座

2021-03-19 20:43:55
Takushi✨プログラミング学習中 @Taxi3134

Dim numbers As Long numbers = Array(10, 20, 30) Variant型配列への代入方法の1つとしてArray関数を使う方法がある #ノンプロ研

2021-03-19 20:44:23
ホッタ@技術ライティング講座受講中 @Hotta3216

そういえばBobの年齢は25歳で固定なので、生まれた年が本とか講座によって違うような気がする サザエさんみたいに何年経っても年取らないやつか #ノンプロ研

2021-03-19 20:48:46
ホッタ@技術ライティング講座受講中 @Hotta3216

ワークシートを配列に入れることを考えると、型が揃っていることはあまりないので、Variant変数を使うことが多いとのこと #ノンプロ研

2021-03-19 20:50:08
KT @KTktktkt06

配列を使う際の方針チャート ○サイズの変更が必要 →コレクション・辞書 ○サイズの変更が不要  ●事前にサイズがわかる →固定配列  ●事前にサイズがわからない   ・型が揃っている →固有型の動的配列   ・型が揃ってない →Variant変数による配列 #ノンプロ研 #VBA中級講座

2021-03-19 20:50:46
おおさわ @vC12H22O11v

配列を使う際の方針チャート…助かる!ノンプロ研の講座では実際の場面だとこうするかなみたいな参考情報も くれるのとってもありがたいです😃 #ノンプロ研

2021-03-19 20:52:07
ホッタ@技術ライティング講座受講中 @Hotta3216

VBAの配列はインデックスの下限が固定じゃないので、配列のサイズを取る時はlengthとかlenじゃなくて、UBound/LBound関数で下限上限を両方取る必要がある #ノンプロ研

2021-03-19 20:52:49
KT @KTktktkt06

○LBound関数・UBound関数 配列のインデックスの下限値・上限値を返す LBound(配列[, 次元]) UBound(配列[, 次元]) Debug.Print LBound(numbers) '1 Debug.Print UBound(numbers) '3 #ノンプロ研 #VBA中級講座 pic.twitter.com/SypOiJLRJ8

2021-03-19 20:53:14
拡大
FukuCyndi papa @FukucyndiP

配列化する方法によってはOptionBaseで最小インデックスをコントロールできない。 なのでコントロールが必要なら、OptionBaseに頼らずに宣言時に最小インデックスを明示するのが吉 #ノンプロ研 #エア中級

2021-03-19 20:53:22
Takushi✨プログラミング学習中 @Taxi3134

以下はエラーとなる Dim A as Variant A(1) = "hoge" この時点の変数valuesの状態はEmpty 配列としての箱が出来てないのでエラーとなる 箱が出来てからならエラーにならない Dim A as Variant A = Array("hoge", "fuga") A(1) = "piyo" #ノンプロ研

2021-03-19 20:53:57
alice @alice37308108

LBound関数&UBound関数 →For文で配列をループしたいときに一番使う #ノンプロ研

2021-03-19 20:57:38
前へ 1 2 3 ・・ 6 次へ