| 
    
     |  | ▼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回ですみますね。
 
 ただ、この場合、該当の抽出部分が、どのセルだったかということをどう把握するか、ここが
 工夫のしどころだと思います。
 
 具体的な要件を説明されれば、皆さんからグッドアイデアが寄せられると思います。
 
 
 |  |