Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


23200 / 76732 ←次へ | 前へ→

【58902】Re:再帰取得配列データの処理の方法
質問  ON  - 08/11/17(月) 15:09 -

引用なし
パスワード
   ▼kanabun さん
ありがとうございます

以前、配列を下記で、セルに貼りつけることが出来たような記憶があって
> Cells(1, 1) = Join(myList, vbCr)
で出来たようなつもりだったのですが
イミディエイトウインドウ上で
Module1.FileSearch_dt
Module2.同上
とかしていて
編集したモジュールと実行したモジュールが違っていたようです
ということで
上記では、kanabunさんの書き込み通り
>[A1]セルに全部入れちゃうのではなく、
の状態になってしまいました

>そんなことないはずです。
も、その通りで再現することが出来ませんでした
ご提示頂いた記述で
>▼Bookを開かないでセル値(デ−タ)を取得する
することが出来ました

実行結果は
\\hoge\001\fuga01.xls    
\\hoge\001\fuga03.xls    指定セルの値取得
\\hoge\002\fuga01.xls    
\\hoge\002\fuga02.xls    
\\hoge\002\fuga03.xls    指定セルの値取得
\\hoge\002\fuga04.xls    
のように
1列目にフルパス
2列目に、1列目がfuga03の時だけ、セル値を取得してみました

取得フルパス数は499個
セル値取得ブック数は128
でした

処理時間は

PC1号機、別エクセルで        
Formula先行、ExecuteExcel4Macro後行時        
    Formula    ExecuteExcel4Macro
初回    37,375ミリ秒    11,375ミリ秒
2回目    10,687ミリ秒    10,781ミリ秒
3回目    11,594ミリ秒    11,047ミリ秒

PC2号機、別エクセルで        
ExecuteExcel4Macro先行、Formula後行時        
    Formula    ExecuteExcel4Macro
初回    10,063ミリ秒    27,375ミリ秒
2回目    10,813ミリ秒    11,234ミリ秒
3回目    10,704ミリ秒    10,84ミリ秒

セル値を取得しない場合は
2回目以降であれば、どちらも1秒以下でした

上記から、
Formula、ExecuteExcel4Macroの
他ブックのセル値取得速度は同等とわかりました
また、
先行インスタンスのエクセルがあれば
後行のインスタンスのエクセルも1回目の処理が早くなる
のがちょっと驚きでした


一方、初回の処理方法 セルに転記しないでの
Try_Start内で配列を見に行くと
>なんてすると、一機十倍以上の時間が掛かってしまいます
は、初回実行でなく、2回目以降の処理で86,781ミリ秒かかりました
で、やはり10倍程遅くなる状態でした


現状、高速なファイル検索結果の配列をセルに展開して
処理する方法は理解できました
ありがとうございました

上記、初回実行の35秒を
4-5秒で、他ブックのセル値取得まで出来れば嬉しいのですが
そんな方法有りましたらよろしくお願い致します


あと
今回は速度的に無理と理解していますが
>出来ればありがたいなと思っているのは
>パブリックな配列変数に
>HAIRETU() = Join(myList, vbCr)
>みたいに代入しておいて
は、やはり不可ですか

そんなことが出来るのであれば
後学のため、ご教授頂けると嬉しいです

よろしくお願いいたします
2 hits

【58859】再帰取得配列データの処理の方法 ON 08/11/14(金) 15:00 質問
【58861】Re:再帰取得配列データの処理の方法 kanabun 08/11/14(金) 16:16 発言
【58863】Re:再帰取得配列データの処理の方法 ON 08/11/14(金) 17:55 質問
【58864】Re:再帰取得配列データの処理の方法 kanabun 08/11/14(金) 18:13 発言
【58902】Re:再帰取得配列データの処理の方法 ON 08/11/17(月) 15:09 質問
【58904】Re:再帰取得配列データの処理の方法 kanabun 08/11/17(月) 15:46 発言
【58906】Re:再帰取得配列データの処理の方法 ON 08/11/17(月) 18:07 お礼

23200 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free