Excelスプレッドシートから電子メールアドレスを抽出する方法
Excelの電子メールアドレスリストには、アドレスそのものだけを含める必要があります。 スプレッドシートが外部フォームからデータを受け取った場合でも、列に無関係のテキストが含まれている可能性があります。 1つのセルに「私のアドレスは[email protected]」と表示され、別のセルには「contact at [email protected]」と表示される場合があります。 Excelで差し込み印刷などのアプリケーションに使用できるように、電子メールアドレスを新しい列に抽出できます。 これを行う1つの方法は、Visual Basicスクリプトを書くことです。
関数を書く
1。
「Alt」キーと「F11」キーを押して、ExcelのVisual Basicエディタを開きます。
2。
次のコードを入力して新しい機能を開きます。
文字列としての機能ExtractCellEmail(セルとして範囲)
3。
次のコードを追加して、特定のセルからすべてのテキストを抽出します。
薄暗い内容として文字列の内容= cell.Text
4。
次のコードを追加して、テキスト内の "@"記号の位置を識別します。
AtPosition = InStr(1、contents、 "@")
5。
次の2行を追加して、 "@"記号の位置を使用してEメールアドレスの開始位置と終了位置を識別します。
AddressStartingPosition = InStrRev(contents、 ""、AtPosition)AddressEndingPosition = InStr(AtPosition、contents、 "")
6。
次の行を追加して、開始位置と終了位置を使用してEメールアドレスを抽出します。
emailAddress = Trim(Mid(コンテンツ、AddressStartingPosition、AddressEndingPosition - AddressStartingPosition))
7。
次の行を追加して、抽出した住所を隣接するセルに出力します。
ActiveCell.Offset(0、1).Value = emailAddress
8。
次のコードを入力して機能を閉じます。
終了機能
セル範囲に関数を適用する
1。
関数の後に次のコードを入力して新しいマクロを開きます。
Sub mcrExtractColumnAddresses()
2。
次のコードを入力してループを開きます。
行う
3。
作成した関数を呼び出すために、ループ行の後に次のコードを入力します。
ExtractEmails(ActiveCell)を呼び出します。
4。
前の行の後に次のコードを入力して、列内の次のセルを選択します。
ActiveCell.Offset(1、0)。選択
5。
次の行を追加してループを閉じます。
IsEmptyまでループする(ActiveCell)
6。
次のコードを追加してマクロを閉じます。
終了サブ
7。
スプレッドシートウィンドウに切り替えます。
8。
メールアドレスを抽出する最初のセルを選択します。
9。
Visual Basicウィンドウに戻ります。 マウスカーソルをmcrExtractColumnAddresses()ブロックに置きます(まだない場合)。
10。
マクロを実行し、そしてメールアドレスを抽出するために、「F5」キーを押します。
警告
- このプロセスは、唯一の "@"記号が電子メールアドレスにあるものである限り有効です。 これはほとんどのセルに当てはまると安全に想定できますが、抽出された電子メールアドレスのリストをスクロールして手動でエラーを検出することを検討してください。