ノンプロ研中級プログラミング講座【VBAコース第2期】第5回
- ntakahashi0505
- 1367
- 3
- 0
- 19
○For文による配列のループ←よく使うのはこちら For 変数 = LBound(配列) To UBound(配列) '処理 Next 変数 ○For Each文による配列のループ ※変数はVariant型またはObject型 For Each 変数 In 配列 '処理 Next 変数 #ノンプロ研 #VBA中級講座
2021-03-19 20:58:25LBound/UBoundはFor文による配列のループで使う For Each文でも回せるが、For Eachはどちらかというとコレクションで使うイメージ #ノンプロ研
2021-03-19 20:58:56Lbound関数:配列の下限値を取得 Ubound関数:配列の上限値を取得 For i = Lbound(配列) To Ubound(配列) ~処理 Next #ノンプロ研
2021-03-19 20:59:18Collection, Dictionaryは key と itemの1対1を集積して、keyを使って itemを自由に呼び出したいときに使いますね。 何がいいって、itemにはオブジェクトやなんやらいろんなものを放り込めるのがいい #ノンプロ研 #エア中級
2021-03-19 21:00:52Range()オブジェクトだって配列化できちゃう。 でも変数に代入する時はSetを忘れずにね。 #ノンプロ研 #エア中級
2021-03-19 21:02:57Debug.Print i, member これ見るとPythonのアンパック構文と空目する あと、このiを作るところめっちゃenumerate使いたくなるー #ノンプロ研 #EffectivePython
2021-03-19 21:04:32空の配列をFunctionプロシージャに渡して、中身を詰めて返してもらうこともできます #ノンプロ研 #エア中級
2021-03-19 21:07:05Rangeオブジェクト.Value で、セル範囲の値を二次元配列で取得・設定する 単体セルの場合は配列じゃなくて単体の値となる 配列サイズの下限はOption Base設定に関わらず常に1固定 #ノンプロ研
2021-03-19 21:08:07○セル範囲と配列 →値を取得するには おなじみのValueプロパティを使えば簡単です! Rangeオブジェクト.Value ・単体セルの場合は二次元配列ではなく、単体の値となる ・どちらの次元もOption Baseステートメントの設定に関わらず、そのサイズの下限は常に1となる #ノンプロ研 #VBA中級講座 pic.twitter.com/6emOrpNbtx
2021-03-19 21:08:26セル範囲と配列 UsedRangeの値を全て配列に代入 Dim v as Variant v = Sheet1.UsedRange.Value アクティブセルなら Dim v as Variant v = Sheet1.Range("A1").CurrentRegion.Value #ノンプロ研
2021-03-19 21:11:13ローカルウィンドウ見ると型のところに Variant/String とか Variant/Double とか表示されてる Variant型っていちおう密かに型判定してるのか #ノンプロ研
2021-03-19 21:11:14Rangeオブジェクト.Valueを使うとドカッと配列で取得できるということか UsedRange.Value ← これ覚えたら便利そう #ノンプロ研
2021-03-19 21:11:19reDim した瞬間に中身が空になる。 中身を順次追加するにはpreserveが必要ってことを知らなくて大ハマりした記憶は多分死ぬまで無くならない-ω-) #ノンプロ研 #エア中級
2021-03-19 21:11:39シートのどこかにBobが居る。。 そうだ!! Cells.Find() で探そう (*゚∀゚)ムッハー #ノンプロ研 #エア中級
2021-03-19 21:16:05配列下限が1から始まるのなんとなく違和感あるが、ワークシートの範囲を配列に入れると考えるとまあそんなもんか でも最初のプログラミング言語がVBAで1始まりに慣れちゃうと他言語で違和感が出るのかもしれない #ノンプロ研
2021-03-19 21:16:08通常他のプログラミング言語では0からはじまりのところ VBAの場合は「1」が下限となるので注意です 最初VBAでしたが VBA初級→GAS初級→Python→VBA中級 なので、かなり戸惑いました 一度リセットが必要💦 #ノンプロ研 #VBA中級講座 twitter.com/Hotta3216/stat…
2021-03-19 21:20:16