- ベストアンサー
メールアドレスの文字列を@の左右でセルを振り分けるマクロを
Excelのsheetに、メールアドレスを(A1)から(A100)まで縦に表示したsheetがあります。 これをB列に@マークの左側(個人アドレス)、C列に@マークの右側(サーバーのアドレス)を表示させたいのですが、 出来るだけ簡単なマクロを作って示していただけませんか。 長く、VBAから遠ざかっていたため、自信がありません。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 その程度でしたら、マクロでなくてもよいと思いますね。 B1~ =MID(A1,1,FIND("@",A1)-1) C1~ =SUBSTITUTE(A1,B1&"@","") マクロなら、こんなところかな? Sub TEST() Dim num As Integer, c As Range For Each c In Range("A1", Range("A65536").End(xlUp)) num = InStr(c.Value, "@") If num > 0 Then c.Offset(, 1).Value = Mid$(c.Value, 1, num - 1) c.Offset(, 2).Value = Mid$(c.Value, num + 1) End If Next End Sub
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
マクロでなくても B1 =LEFT(A1,FIND("@",A1)-1) C1 =RIGHT(A1,LEN(A1)-FIND("@",A1)) でできます
お礼
感謝。
- hana-hana3
- ベストアンサー率31% (4940/15541)
こんなところでいかがでしょうか? Sub test() Dim C As Range Dim T As Variant On Error Resume Next For Each C In Range("A1:A100") If C.Value <> "" Then T = Split(C.Value, "@") C.Offset(, 1) = T(LBound(T)) C.Offset(, 2) = T(LBound(T) + 1) End If Next On Error GoTo 0 End Sub
お礼
感謝。
お礼
感謝。