あけましておめでとうございます。
VBAに関する質問です。
二次元配列FileName(0,1,2)(0,1,2)があり、
それぞれ下記のデータが格納されているとします。
VBA
1Dim FileName As Variant 2FileName = Array(0,1,2)(0,1,2) 3FileName(0,0) = "a\b\c" 4FileName(0,1) = "a\e\f\k\s\t\h" 5FileName(0,2) = "b\f\g\a" 6FileName(1,0) = "g\g\h" 7FileName(1,1) = "k\h\s\q" 8・ 9・ 10FileName(2,2) ="k\l\p"
私が今やりたいことが、FileNameのそれぞれのデータのファイルパスを、
""でSplitしたデータをtmpとして格納することで、
下記のようなイメージで取得をしたいと考えていますが、
実際にうまく取れないと思います。
(tmpを永遠と上書きしているので最後のFileName(2,2)しか取れないことをは承知しています。)
VBA
1Dim tmp As Variant 2 For i = 0 To 3 3 For j = 0 To 3 4 tmp = Split(FileName(i, j), "\") 5 Next j 6 Next i
ただ、上記コードのtmpを配列にして、この問題が解決できるものかわかりません。
tmpの宣言を二次元配列とした場合、
VBA
1Dim Tmp As Variant 2Tmp = Array(0,1,2)(0,1,2) 3 For i = 0 To 3 4 For j = 0 To 3 5 tmp(i,j) = Split(FileName(i, j), "\") 6 Next j 7 Next i
とすれば一見できそうですが、Splitで配列が作成されるので、
tmpは三次元配列になってしまう?と思います。
どのように解決すればよろしいでしょうか。
アドバイスお願いいたします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/05 11:56
2018/01/05 13:06