配列Splitのテスト
カンマ区切り文字列を、カンマ分割して配列に格納して
セルに書き出す。
のサンプル。
Const L As String = "Mu,Jirushi,Ryo,Hin" Dim C As Variant Dim dd As Double 'マイナスになる可能性があったので、よくわからないがDoubleを指定Longでもいいのか? Sub split_test() C = Split(L, ",") For i = LBound(C) To UBound(C) With Sheets(1) dd = 1 - LBound(C) .Cells(i + dd, 1) = C(i) End With Next i End Sub
配列の要素数はゼロから始まるの[dd]という変数を用意して
セルへの書き出しとの整合性をつけた。
for i = 1 to UBound(C)-LBound(C)+1 next i
とすれば変数[dd]を用意する必要がなかったか。。。
数式で簡単にかけない数の列(Ex:1,7,8,25,111,3,1,9 ←こんなの)
をEXCELVBA内で使いたい時にシートに保存しておくのも読み取りが面倒なので
プログラムに保存しておいて一つずつ取り出して使う。というもの
シートに入れておくと、ForNextで要素の回数だけシートにアクセスするので
ややこしい。(のかな?)
ただし、プログラムに定数を持つ方法だとメンテがやりにくいといえばやりにくいか。。
VBAでVBA自信を記述できるなら、シートにデータを持って、時々自動でメンテナンスが
一番いいけど。。
まあいいや。