A列のデータの中に
@と参照ドメインの間または参照ドメインの後ろに別の文字または数字があれば削除して
削除したメールアドレスをB列に参照ドメインだけをC列に書き出すことができますか?
A列 B列 C列
aaaa@123.docomo.ne.jp aaaa@docomo.ne.jp docomo.ne.jp
bbbb@test.ezweb.ne.jp bbbb@ezweb.ne.jp ezweb.ne.jp
cccc@docomo.ne.jo.456 cccc@docomo.ne.jo docomo.ne.jp
dddd@ezweb.ne.jp.temp dddd@ezweb.ne.jp ezweb.ne.jp
別マクロでもかまいません以上よろしくお願いします。
3回だけしか回答できないので 2番目の回答を修正しました。
sheet2のシートに A列にドメイン、B列に識別を入れてもらえれば
処理できるようにしました。
答えを入れるところ sheet1に入れてください。
sheet2に 以下の分を貼り付け
A列 t.vodafone.ne.jp c.vodafone.ne.jp d.vodafone.ne.jp h.vodafone.ne.jp r.vodafone.ne.jp k.vodafone.ne.jp n.vodafone.ne.jp s.vodafone.ne.jp q.vodafone.ne.jp softbank.ne.jp disney.ne.jp docomo.ne.jp ezweb.ne.jp B列 t.vodafone c.vodafone d.vodafone h.vodafone r.vodafone k.vodafone n.vodafone s.vodafone q.vodafone softbank disney docomo ezweb
A列 B列
t.vodafone.ne.jp t.vodafone
こういう感じにしてください。
Sub main() b = Range("A1").End(xlDown).Row If Range("A2") = "" Then b = 1 b1 = Sheets("Sheet2").Range("A1").End(xlDown).Row If Sheets("Sheet2").Range("A2") = "" Then b1 = 1 For a = 1 To b c = Cells(a, "A") d = InStr(c, "@") e = Right(c, Len(c) - d) g = "" For a1 = 1 To b1 f = InStr(e, Sheets("Sheet2").Cells(a1, "B")) If f > 0 Then g = Sheets("Sheet2").Cells(a1, "A") Exit For End If Next a1 Cells(a, "C") = g h = Right(c, Len(e) - f + 1) i = Left(h, Len(g)) i = Left(c, d) & i Cells(a, "B") = i Next a End Sub
残念ながら これは 無理です。
できません。
たとえば
cccc@docomo.ne.jo.456 cccc@docomo.ne.jo docomo.ne.jp
の場合
このメールアドレスが ドコモのものであるという認識が必要ですよね。
どのような条件で ドコモのメールアドレスであるのかという判断は したらいいのかが 不明です。
で docomo という文字列が 入っていたら ドコモにするのか
ezwebという文字が入ってたら auにするのか?などです。
cccc@docomo.ne.jo.456には @以降に docomo という文字が入ってるので
ドコモならば docomo.ne.jpを C列にセット。
B列は どうやったらいいのか不明。
cccc@docomo.ne.jo.456 → cccc@docomo.ne.jo
cccc@temp.docomo.ne.jo.456 → ?
また メールアドレスは ドコモとauだけのようですが、
ほかの場合は 対応しないのでしょうか?
ありがとうございます
参照にあるドメインの後ろにある文字を切り取りそのドメインをC列にかきだす
参照にある文字がセットで含まれる行を検索しそのドメインをC列にかきだす
参照A列
docomo.ne.jp
ezweb.ne.jp
softbank.ne.jp
答え
A列 B列 C列
cccc@docomo.ne.jo.456 cccc@docomo.ne.jo docomo.ne.jp
dddd@ezweb.ne.jp.temp dddd@ezweb.ne.jp ezweb.ne.jp
eeee@123.softbank.ne.jp softbank.ne.jp
ffff@123.softbank.ne.jp.temp softbank.ne.jp
以上2点であればマクロでできますか
3回だけしか回答できないので 2番目の回答を修正しました。
sheet2のシートに A列にドメイン、B列に識別を入れてもらえれば
処理できるようにしました。
答えを入れるところ sheet1に入れてください。
sheet2に 以下の分を貼り付け
A列 t.vodafone.ne.jp c.vodafone.ne.jp d.vodafone.ne.jp h.vodafone.ne.jp r.vodafone.ne.jp k.vodafone.ne.jp n.vodafone.ne.jp s.vodafone.ne.jp q.vodafone.ne.jp softbank.ne.jp disney.ne.jp docomo.ne.jp ezweb.ne.jp B列 t.vodafone c.vodafone d.vodafone h.vodafone r.vodafone k.vodafone n.vodafone s.vodafone q.vodafone softbank disney docomo ezweb
A列 B列
t.vodafone.ne.jp t.vodafone
こういう感じにしてください。
Sub main() b = Range("A1").End(xlDown).Row If Range("A2") = "" Then b = 1 b1 = Sheets("Sheet2").Range("A1").End(xlDown).Row If Sheets("Sheet2").Range("A2") = "" Then b1 = 1 For a = 1 To b c = Cells(a, "A") d = InStr(c, "@") e = Right(c, Len(c) - d) g = "" For a1 = 1 To b1 f = InStr(e, Sheets("Sheet2").Cells(a1, "B")) If f > 0 Then g = Sheets("Sheet2").Cells(a1, "A") Exit For End If Next a1 Cells(a, "C") = g h = Right(c, Len(e) - f + 1) i = Left(h, Len(g)) i = Left(c, d) & i Cells(a, "B") = i Next a End Sub
どうもありがとうございました
バッチリです
例えば
t.vodafone.ne.jp
c.vodafone.ne.jp
d.vodafone.ne.jp
h.vodafone.ne.jp
r.vodafone.ne.jp
k.vodafone.ne.jp
n.vodafone.ne.jp
s.vodafone.ne.jp
q.vodafone.ne.jp
softbank.ne.jp
disney.ne.jp
以上を追加する場合をおしえてください
よろしくお願いします
softbankを追加してみました。
参照A列は プログラム内に持っています。
Sub main() b = Range("A1").End(xlDown).Row If Range("A2") = "" Then b = 1 For a = 1 To b c = Cells(a, "A") d = InStr(c, "@") e = Right(c, Len(c) - d) f = InStr(e, "docomo") g = "docomo.ne.jp" If f = 0 Then f = InStr(e, "ezweb") g = "ezweb.ne.jp" If f = 0 Then f = InStr(e, "softbank") g = "softbank.ne.jp" End If End If Cells(a, "C") = g h = Right(c, Len(e) - f + 1) i = Left(h, Len(g)) i = Left(c, d) & i Cells(a, "B") = i Next a End Sub
どうもありがとうございました
バッチリです
例えば
t.vodafone.ne.jp
c.vodafone.ne.jp
d.vodafone.ne.jp
h.vodafone.ne.jp
r.vodafone.ne.jp
k.vodafone.ne.jp
n.vodafone.ne.jp
s.vodafone.ne.jp
q.vodafone.ne.jp
softbank.ne.jp
disney.ne.jp
以上を追加する場合をおしえてください
よろしくお願いします