VBAに関する本を読んでいて、すごく便利そうな
- 関数「Join」
- 配列収納方法
を見つけたので、メモしておきます。後日、具体的な使い方や処理方法をまとめようと思います。
配列を結合するJoin関数
以下のような記述をすると、配列Aの中身がすべて結合して表示できるとのこと。
1 |
MsgBox Join(配列A, "") |
配列A(1)に”あいう”、配列A(2)に”えお”が入っていたら、「あいうえお」と表示されるっぽいです。
第1引数は、1次元配列を指定
第2引数は、各要素を区切る文字を指定
すれば、簡単に文字列の結合が可能みたい。
セル範囲を指定して配列に収納する方法
以下のように記述すれば、セルの値を簡単に配列収納できるそうです。
1 |
配列() = Range("A1:A100") |
たったこれだけで、動的配列にセルの値が収納されるそうです。同様に、
1 |
Range("A1:A100") = 配列() |
とすれば、指定したセル範囲に配列の値を出力できるとのこと。
こんなに便利で使えそうなのに、今日初めて知りました(笑)
今までは、「For Each ~」を使っていましたがこれからはこの方法を使ってみます。
2次元以下なら使えるっぽいです。VBAの場合、通常配列は、(0)から始まるけど、(1)になるそうです。
セルの値をそのまま変換するより配列で処理したほうがいい?
セルの値を1つ1つ書き換える処理より、一度配列に収納して計算処理を行い、最後に計算結果をセルに反映させるほうが、高速に処理できるようです。
参考文献:日経パソコン(2019.3.25)