質問です

エクセルでA列の1行目から複数のメールアドレスのデータがあり
データは複数のCSVファイルです
この中から2種類の
@docomo.ne.jpと@ezweb.ne.jp
のドメインがついたアドレスだけを抜き出してSheet1のA列1行目からコピー貼り付ける
関数かマクロをお願いします
検索するドメインは変更できるようにお願いしますドメインは2種類で変わりません
複数のCSVファイルはc:\test\に置いてもかまいません
答え
Sheet1のA列
aaaa@docomo.ne.jp
ccc@docomo.ne.jp
bbbb@ezweb.ne.jp
eee@ezweb.ne.jp

回答の条件
  • 1人3回まで
  • 13歳以上
  • 登録:2011/07/16 23:17:31
  • 終了:2011/07/17 18:15:26

ベストアンサー

id:taknt No.1

きゃづみぃ回答回数13538ベストアンサー獲得回数11982011/07/17 09:13:45

ポイント100pt
Sub main()
Dim p As String
'対象フォルダを指定してください。
'このフォルダに この実行用のブックは 入れないでください。

p = "C:\test\"

'処理対象となる拡張子を指定して 呼び出します。
Call jikkou(p, "csv")

End Sub


Sub jikkou(p As String, s As String)

Dim bk As Workbook
Application.DisplayAlerts = False
e = 1
'チェックしたいドメイン
chk1 = "@docomo.ne.jp"
chk2 = "@ezweb.ne.jp"

    
f = Dir(p & "*." & s, vbNormal)

Do While f <> ""
    Set w = Workbooks.Open(Filename:=p & f, UpdateLinks:=False, ReadOnly:=False)
    '処理対象は 1番目のシートのみ。
    
    With w.Sheets(1)
        
        kg = 1          '処理終了行
        
        If .Range("A2") <> "" Then
            kg = .Range("A1").End(xlDown).Row
        End If
 
        For b = 1 To kg
            If Right(.Cells(b, "A"), Len(chk1)) = chk1 Then
                Cells(e, "A") = .Cells(b, "A")
                e = e + 1
            End If
            
            If Right(.Cells(b, "A"), Len(chk2)) = chk2 Then
                Cells(e, "A") = .Cells(b, "A")
                e = e + 1
            End If
        Next b
    End With
         
    w.Save
    w.Close
    f = Dir
Loop

Application.DisplayAlerts = True

End Sub

id:inosisi4141

ありがとうございます

今テストしてみたのですが最初のCSVファイルに該当するドメインアドレスを

他のファイルから切り取って貼り付けているみたいですがあっていますか

最終の答えのやり方を教えてください

2011/07/17 11:08:45
  • id:inosisi4141
    takntお世話様です
    いろいろ試したのですがどうもデータと同じシートのA列の中に検索した結果を
    コピーしていますので出来れば別シートSheet1かSheet2にコピーされれば
    わかりやすいのですがよろしくお願いします
  • id:inosisi4141
    takntお世話様です

    検索された答えがA列データの下のほうにスペースを開けてコピーされているのもあります

  • id:inosisi4141
    takntお世話様です

    sheet1が開いていないとコピーするのは無理ですか
  • id:inosisi4141
    takntお世話様です

    現在あるデータを削除してA列の1行目からコピーすることはできますかよろしくお願いします
  • id:inosisi4141
    takntありがとうございます
    今のやり方で良さそうです
    答えを空白行をあけて下のほうへ貼り付けてあります。

    これでOKです

  • id:taknt
    対応しようかなって思ったら よかったみたいですね。
  • id:inosisi4141
    takntさん
    出来れば最後に検索結果のデータをA1の1行目からコピーをお願いします
    既存データは削除して構いません
    検索データが無い場合は全削除で空白データファイルになります

    よろしくお願いします

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません