ソートするしかないのでは。
---
If IsArray(vntFileName) Then
aryFileName = mSort(vntFileName)
For i = 0 to ubound(aryFileName) - 1
Workbooks.Open aryFileName(i)
Next
Else
Exit Sub
function mSort(aryw) as variant
'ソートPG省略
mSort = ソート後
end function
質問者
お礼
For i = 0 to ubound(aryFileName) - 1
の箇所を修正し、ソート部分で一部修正を行い動くようになりました。
これからもっと勉強していきたいと思います。
どうもありがとうございました。
質問者
補足
ご回答ありがとうございます。
For i = 0 to ubound(aryFileName) - 1
の箇所で実行時エラー13となり型が一致しないと表示されますが、原因が分かりません。
度々すみませんが、ご教示頂けますでしょうか…。
>mSort = aryw とした場合にも同じくaryFILENameはemptyとなってしまいます。
なにもせず内容を入れ替えているだけでemptyになるのは
変数の綴りがあってないのでは。
先頭にOption Explicitステートメントを付加するとか
ステップ実行で追跡するとかでしょうか。
あとはソートをモジュール化せず
If IsArray(vntFileName) Then
'ソートロジック
For i = 0 to ubound(aryFileName) - 1
こうするか試行錯誤してください。
こういうバグを追跡することもレベルアップにつながります。
>aryFileName = mSort(vntFileName)
ソートからの戻った時aryFileNameに配列が格納されていますか?
あとソートせず
function mSort(aryw as variant) as variant
mSort = aryw
end function
とそのまま返してもエラーになりますか。
お礼
For i = 0 to ubound(aryFileName) - 1 の箇所を修正し、ソート部分で一部修正を行い動くようになりました。 これからもっと勉強していきたいと思います。 どうもありがとうございました。
補足
ご回答ありがとうございます。 For i = 0 to ubound(aryFileName) - 1 の箇所で実行時エラー13となり型が一致しないと表示されますが、原因が分かりません。 度々すみませんが、ご教示頂けますでしょうか…。