[過去ログ] Excel VBA 質問スレ Part82 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
644
(1): 05/10(土)16:38 ID:iGSB8dlv(1/3) AAS
前から先人達がこのスレで、Arrayを使って云々・・・と議論しているの見かけて、
「どこで活かせるんだろう?」と思っていたけど、
今日初めて使ってみた。

もともとは、Power Queryで複数のクエリーとピボットを順番に更新させるのをVBAでやっていたのだけれど、
「クエリと接続」とタスクマネージャーをずっと監視しているのもしんどいので、
ChatGPTに、
「クエリーやピボットテーブルのそれぞれを1つのステップとして、
WMIの "SWbemLocatorオブジェクトのConnectServerメソッド" とやらを使って、
各ステップの開始/終了時刻とCPU最大使用率のテーブルをワークシートに出力できないか?」
と相談したら、その中に、出てきましたよ、
省16
649
(2): 05/10(土)21:53 ID:iGSB8dlv(2/3) AAS
今回Arrayを使って、各クエリー/ピボットテーブル更新中のCPU使用率を調べようとしたのは、
・複数の前処理ブックの共通テーブルを参照して、項目ごと時間軸串刺し合計や最大/最小値とその時間なんかを求めるブック
・仕上がり52,560行
・これでもまだ中間集計ブック
・将来的には104万行を超えるので、ベース集計クエリーにはデータ モデルを使用
・今の第8世代Core i7と32GBメモリーで、このブックの更新には20分超
・当初は、List.Buffer、Table.bufferをクエリーで使って高速化を試したが、これだけ行が多かったりクエリー依存が多いと、シーケンシャルにしてBufferしたつもりが前クエリーの再計算が入ってExcelが固まったので断念。
・逆に、104万行以内に収まる途中のクエリーは、ワークシートに書き出してこれを参照するようにしたら、最後まで計算できるようになった。
653: 05/10(土)23:17 ID:iGSB8dlv(3/3) AAS
>>650
別スレで
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s