メインコンテンツへスキップ
 

Excelで特定のセルが変更された場合にメールを送信するにはどうすればよいですか?

作者: シルヴィア 最終更新日:2022年05月20日

この記事では、Excelで特定の範囲のセルが変更されたときにOutlookを介して電子メールを送信する方法について説明します。

特定の範囲のセルがVBAコードで変更された場合にメールを送信する


特定の範囲のセルがVBAコードで変更された場合にメールを送信する

特定のワークシートで範囲A2:E11のセルが変更されたときに、アクティブなブックが添付された新しい電子メールを自動的に作成する必要がある場合は、次のVBAコードが役立ちます。

1.特定の範囲の変更されたセルに基づいて電子メールを送信する必要があるワークシートで、シートタブを右クリックし、[ コードを表示 コンテキストメニューから。 スクリーンショットを参照してください:

2.ポップアップで アプリケーション向け Microsoft Visual Basic ウィンドウの場合は、以下のVBAコードをコピーしてコードウィンドウに貼り付けてください。

VBAコード:指定した範囲のセルがExcelで変更された場合にメールを送信する

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2017/9/12
    Dim xRgSel As Range
    Dim xOutApp As Object
    Dim xMailItem As Object
    Dim xMailBody As String
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xRg = Range("A2:E11")
    Set xRgSel = Intersect(Target, xRg)
    ActiveWorkbook.Save
    If Not xRgSel Is Nothing Then
        Set xOutApp = CreateObject("Outlook.Application")
        Set xMailItem = xOutApp.CreateItem(0)
        xMailBody = "Cell(s) " & xRgSel.Address(False, False) & _
            " in the worksheet '" & Me.Name & "' were modified on " & _
            Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
            " by " & Environ$("username") & "."

        With xMailItem
            .To = "Email Address"
            .Subject = "Worksheet modified in " & ThisWorkbook.FullName
            .Body = xMailBody
            .Attachments.Add (ThisWorkbook.FullName)
            .Display
        End With
        Set xRgSel = Nothing
        Set xOutApp = Nothing
        Set xMailItem = Nothing
    End If
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

ノート:

1)。 コードでは、 A2:E11 は、メールを送信する範囲に基づいています。
2)。 必要に応じてメール本文を変更してください xMailBody コードの行。
3)。 を交換してください Eメールアドレス 受信者のメールアドレスが並んでいる .To = "メールアドレス".
4)。 メールの件名を一列に変更する .Subject = "ワークシートが変更されました"&ThisWorkbook.FullName.

3。 プレス 他の + Q キーを同時に閉じて アプリケーション向け Microsoft Visual Basic 窓。

これ以降、範囲A2:E11のセルが変更され、更新されたブックが添付された新しい電子メールが作成されます。 また、件名、受信者、メール本文など、指定されたすべてのフィールドがメールに表示されます。 メールを送ってください。

Note:VBAコードは、電子メールプログラムとしてOutlookを使用している場合にのみ機能します。


関連記事:

最高のオフィス生産性向上ツール

🤖 Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行   |  コードを生成  |  カスタム数式の作成  |  データを分析してグラフを生成する  |  Kutools関数を呼び出す...
人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト ツール (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 ツール (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット ツール (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!