これはExcel用です。
次のユーザー定義関数(UDF)について考えてみます。
Public Function GetEmailAddy(Sin As String) As String
    Dim s As String
    If InStr(1, Sin, "@") = 0 Then
        GetEmailAddy = ""
        Exit Function
    End If
    s = Replace(Sin, Chr(10), " ")
    s = Replace(s, Chr(13), " ")
    s = Application.WorksheetFunction.Trim(s)
    ary = Split(s, " ")
    For Each a In ary
        If InStr(1, a, "@") > 0 Then
            GetEmailAddy = a
            Exit Function
        End If
    Next a
End Function
ユーザー定義関数(UDF)のインストールと使用は非常に簡単です。
- ALT-F11はVBEウィンドウを表示します
 
- ALT-I ALT-Mは新しいモジュールを開きます
 
- 内容を貼り付けてVBEウィンドウを閉じます
 
ワークブックを保存すると、UDFも一緒に保存されます。2003年以降のバージョンのExcelを使用している場合は、ファイルを.xlsxではなく.xlsmとして保存する必要があります。
UDFを削除するには:
- 上記のようにVBEウィンドウを開きます
 
- コードをクリアする
 
- VBEウィンドウを閉じる
 
ExcelからUDFを使用するには:
=GetEmailAddy(A1)
マクロ全般の詳細については、以下を参照してください。
http://www.mvps.org/dmcritchie/excel/getstarted.htm
そして
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
UDFの詳細については、以下を参照してください。
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
これを機能させるには、マクロを有効にする必要があります!
ここではいくつかの例を示します。

               
              
{2, 4}ような多くの今後のTLDが原因で制限される可能性があること.codesです。