●EXCEL・VBAの教えて ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
211:184 07/02/06 01:35:12 色々なレスありがとうございます。 最初の書き込みが携帯からで、内容をはしょりすぎて誤解があるようなので再度書き込みます。 A列)日付 B列)曜日 C列)作業名 D列)開始時刻 E列)終了時刻 F列)処理時間 G列)備考 が入っている複数のシートから正規表現で検索をしたいと思っています。 今の簡単なコードを書くと Set reg = CreateObject("VBScript.RegExp") With reg .Pattern = strPattern .IgnoreCase = True .Global = True end with For Each sh in Thisworkbook.Sheets For Each rng in sh.UsedRange If reg.test(rng.Text) Then 検索文字列が見つかったときの処理 Debug.? "[address]" & rng.Address & " [text]" & rng.Text & " [Formula]" & rng.Formula End If Next Next といった流れなのですが、検索対象が大量にあり処理に時間がかかってしまいます。(対象30万件で5分くらい) そこでFor Each rng in sh.UsedRangeをやめて、rng = sh.UsedRangeのように 配列にして、検索しようとしたところ、日付や時間(表示形式は[h]:mm)がLong型になるため srtPattern = "10" などに10:00などが該当しなくなります。 rng = sh.UsedRange.Formulaは代入がうまくいくのですが、rng = sh.UsedRange.Textはできないようです。 列ごとに時間や日付が入っているなら、そこだけ変換すりゃいーだろ、と言われそうですが 列がずれた場合や新たに項目が増えた場合を考えて、決め打ちで変換するのは出来れば避けたいと考えています。 説明下手ですいませんが、高速に処理する方法がありましたらご教授お願いします。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5398日前に更新/123 KB
担当:undef