Excel VBA質問箱 IV

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

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


4844 / 76735 ←次へ | 前へ→

【77506】Re:負荷のなくシートないのデータを取得する方法
発言  β  - 15/10/17(土) 16:10 -

引用なし
パスワード
   ▼Show さん:

データの取り出しには、大小は別にして負荷はかかりますね。
セル領域をメモリーに取り込む際に、負荷を減らす効果が期待できる方法の1つが
配列に取り込みことだと思います。たとえば

Variant型変数 = Range("A1:Z1000").Value

こうすれば、瞬時に 26000セルの値が 1000行、26列の2次元配列に格納されます。

Variant型変数 = ActiveSheet.UsedRange.Value

こうすれば、シート上の使用領域の矩形部分が取り込まれます。

取り込んだ後は、メモリー内ですから、1つ1つ処理してもセルを直接参照するより
負荷が、ぐ〜んと減りますが、正規表現を使うなら、できるだけまとめて処理したほうが
よろしいですよね。

いろいろ手立てはあると思います。
2次元配列の各行を1次元配列にして Join関数で文字列にすることもできると思いますし
それこそ、2次元配列内の各要素を、いったん1次元配列に収めて、どさっとJoinしてやれば
1つの文字列になりますので、正規表現チェックも1回ですみますね。

ただ、この場合、該当の抽出部分が、どのセルだったかということをどう把握するか、ここが
工夫のしどころだと思います。

具体的な要件を説明されれば、皆さんからグッドアイデアが寄せられると思います。

0 hits

【77504】負荷のなくシートないのデータを取得する方法 Show 15/10/17(土) 12:34 質問[未読]
【77506】Re:負荷のなくシートないのデータを取得す... β 15/10/17(土) 16:10 発言[未読]
【77507】Re:負荷のなくシートないのデータを取得す... β 15/10/17(土) 17:26 発言[未読]
【77508】Re:負荷のなくシートないのデータを取得す... β 15/10/17(土) 17:37 発言[未読]
【77514】Re:負荷のなくシートないのデータを取得す... Show 15/10/18(日) 5:11 お礼[未読]
【77564】Re:負荷のなくシートないのデータを取得す... Show 15/10/23(金) 16:36 質問[未読]
【77566】Re:負荷のなくシートないのデータを取得す... β 15/10/23(金) 19:09 発言[未読]
【77567】Re:負荷のなくシートないのデータを取得す... β 15/10/23(金) 19:17 発言[未読]
【77569】Re:負荷のなくシートないのデータを取得す... β 15/10/24(土) 1:58 発言[未読]
【77571】Re:負荷のなくシートないのデータを取得す... Show 15/10/25(日) 5:14 お礼[未読]
【77572】Re:負荷のなくシートないのデータを取得す... β 15/10/25(日) 19:42 発言[未読]
【77596】Re:負荷のなくシートないのデータを取得す... Show 15/10/31(土) 11:23 お礼[未読]

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