
大量のデータの中から該当情報をPickupして一覧にする方法
何万行もあるSheet【メールデータ】から該当する情報を抽出して、同一のExcelファイル内のSheet【抽出一覧】にする方法。
1.情報の一覧化
Excel VBAに以下のようなコードを書いた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Sub 抽出() Dim MyBottom As Long Dim c As Range Dim firstAddress As String Dim i As String Worksheets("抽出一覧").Range("A2:Z1000").ClearContents i = 2 MyBottom = Worksheets("メールデータ").Range("A" & Rows.Count).End(xlUp).Row With Worksheets("メールデータ").Range("A1:A" & MyBottom) Set c = .Find("*件名 :○○よりお問い合わせがありました*", LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do 'お名前 Worksheets("抽出一覧").Range("A" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 6) '会社名 Worksheets("抽出一覧").Range("B" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 9) 'メールアドレス Worksheets("抽出一覧").Range("C" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 12) '電話番号 Worksheets("抽出一覧").Range("D" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 15) 'FAX番号 Worksheets("抽出一覧").Range("E" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 18) 'ご住所 Worksheets("抽出一覧").Range("F" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 21) Worksheets("抽出一覧").Range("G" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 22) 'ご質問内容 Worksheets("抽出一覧").Range("H" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) + 25) '送信日時 Worksheets("抽出一覧").Range("I" & i) = Worksheets("メールデータ").Range(Mid(c.Address, 1, 3) & Val(Mid(c.Address, 4)) - 2) 'メールデータでの出現場所 Worksheets("抽出一覧").Range("J" & i) = c.Address i = i + 1 Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End Sub |
これを実行すると、
という結果が得られる。
↓↓参考にさせていただいたサイト↓↓
エクセルVBAで該当するセルに色をつけたい
http://okwave.jp/qa/q8284911.html
2.ハイパーリンクの作成
リンク用の列を1行用意し、数式を入れる。
=HYPERLINK(“#メールデータ!”&データ整備!J2,J2)
↓↓参考にさせていただいたサイト↓↓
HYPERLINK関数で、同じブック内のシートにハイパーリンク
http://www.relief.jp/itnote/archives/000998.php