Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

多くの場合、メールを送信する必要があります 状態の場合にお客様に 満たされます。この記事では 3 を紹介します 送信する方法 メール 条件の場合 満たされている エクセルで .メソッドを示すために、3 列のデータセットを選択しました :「名前 」、「メール 」、「支払い期日

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

Excel で条件が満たされた場合にメールを送信する 3 つの方法

1. Excel でセル値が変更された場合に VBA を使用して電子メールを送信する

最初の方法では、Excel VBA 送信するコード メール 状態の場合 満たされている .まず、 VBA モジュール を立ち上げます ウィンドウにコードを入力して実行し、メールを送信します。 .さらに、この場合、コード実行基準はセル値が変更されたときになります。

手順:

  • まず、右クリックセル値の変更」について 」シート。
  • 次に、[コードを表示] を選択します .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • 次に、このコードを入力してください。
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Application.Intersect(Range("D5"), Target) Is Nothing Then
        If IsNumeric(Target.Value) And Target.Value > 700 Then
            Call Send_Email_Condition_Cell_Value_Change
        End If
    End If
End Sub

VBA コードの内訳

ここでは、非公開サブスクを使用します . マクロを介してこのコードを実行しないため 窓。このコードは セル がある場合に実行されます 値の変更。

  • まず、Private Sub を使用します イベントは Worksheet_Change です .
  • 次に、セルの数を制限しています 1 に そしてその セル D5 です .
  • 3 番目に、700 を超えているかどうかを確認しています .
  • 最後に、条件Sub Procedure が満たされている場合 Send_Email_Condition_Cell_Value_Change 実行します。

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • 最後に 保存 このウィンドウを閉じてください。

次に、 モジュール にコードを入力します 窓。 VBA モジュールを起動するには 、これらに従ってください–

  • まず、開発者から タブ>>> Visual Basic を選択 .

または、ALT + F11 を押すこともできます VBA を表示するには ウィンドウ。

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • 次に 挿入 から>>> モジュールを選択 .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

このウィンドウにコードを入力します。

  • 次のコードを入力してください。
Sub Send_Email_Condition_Cell_Value_Change()
    Dim pApp As Object
    Dim pMail As Object
    Dim pBody As String
    Set pApp = CreateObject("Outlook.Application")
    Set pMail = pApp.CreateItem(0)
    pBody = "Hello, " & Range("B5").Value & vbNewLine & _
              "You've Payment Due." & vbNewLine & _
              "Please Pay it to avoid extra fees."
    On Error Resume Next
    With pMail
        .To = Range("C5").Value
        .CC = ""
        .BCC = ""
        .Subject = "Request For Payment"
        .Body = pBody
        .Display  'We can use .Send to Send the Email
    End With
    On Error GoTo 0
    Set pMail = Nothing
    Set pApp = Nothing
End Sub

VBA コードの内訳

  • まず、サブ プロシージャを呼び出します Send_Email_Condition_Cell_Value_Change .
  • 次に、変数を宣言しています タイプ。
  • 3 番目に、Outlook を選択します メール アプリケーションとして .
  • 次に、メール コンテンツはコードで設定されます。
  • その後、「.Display 」は、ここで メール を表示するために使用されます .したがって、[送信] を押す必要があります。 手動で 送信 メール .さらに、「.Send」を使用できます 」 メールを送信

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • その後、保存 モジュールを閉じます .

これで、データセットに 699 と入力できます 、そして何も起こりません。

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

ただし、 801 と入力すると (700 以上 )、その後、コードが実行されます。

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

Outlook メール 送信オプションが表示されます。 [送信] を押すことができます 送る メール

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

続きを読む: Excel リストからメールを送信する方法 (効果的な 2 つの方法)

2.複数の条件が満たされた場合に VBA を使用して電子メールを送信する

2 番目の方法では、データセットを変更しました。 メールをお送りします 複数の 条件 満たされている この方法で。さらに、2 つのサブ プロシージャを使用します 単一の モジュール で このため。コードが意図したとおりに機能する場合は、 メールを送信 します 2まで 人。さらに、ファイルをメールに添付します .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

手順:

  • まず、最初の方法で示したようにモジュール を呼び出します ウィンドウにこのコードを入力してください。
Option Explicit
Sub Send_Email_Condition()
    Dim xSheet As Worksheet
    Dim mAddress As String, mSubject As String, eName As String
    Dim eRow As Long, x As Long
    Set xSheet = ThisWorkbook.Sheets("Conditions")
    With xSheet
        eRow = .Cells(.Rows.Count, 5).End(xlUp).Row
        For x = 5 To eRow
            If .Cells(x, 4) >= 1 And .Cells(x, 5) = "Yes" Then
                mAddress = .Cells(x, 3)
                mSubject = "Request For Payment"
                eName = .Cells(x, 2)
                Call Send_Email_With_Multiple_Condition(mAddress, mSubject, eName)
            End If
        Next x
    End With
End Sub
Sub Send_Email_With_Multiple_Condition(mAddress As String, mSubject As String, eName As String)
    Dim pApp As Object
    Dim pMail As Object
    Set pApp = CreateObject("Outlook.Application")
    Set pMail = pApp.CreateItem(0)
    With pMail
        .To = mAddress
        .CC = ""
        .BCC = ""
        .Subject = mSubject
        .Body = "Mr./Mrs. " & eName & ", Please pay it within the next week."
        .Attachments.Add ActiveWorkbook.FullName 'Send The File via Email
        .Display 'We can use .Send here too
    End With
    Set pMail = Nothing
    Set pApp = Nothing
End Sub

VBA コードの内訳

  • まず、最初の Sub Procedure を呼び出します Send_Email_Condition .
  • 次に、変数を宣言しています タイプと設定「条件」 」をシートとして .
  • 3 番目に、最後の 番号が見つかりました。さらに、値は 行 5 から始まります 、したがって、 行 5 を配置しました 最後の まで
  • 次に、2 番目の Sub Procedure を呼び出します Send_Email_With_Multiple_Condition .
  • その後、Outlook を選択します メール アプリケーションとして .
  • 次に、メールを設定します コード内のコンテンツ
  • ここに Excel を添付します メールを含むファイル 添付ファイルを使用 メソッド。
  • その後、「.Display」 」は、ここで メール を表示するために使用されます .したがって、[送信] を押す必要があります。 手動で 送信 メール .さらに、「.Send」を使用できます 」 メールを送信

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • 次に、保存 モジュールを閉じます .

マクロ コードを実行するためのウィンドウ。

  • まず、開発者から タブ>>> マクロを選択 .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

マクロ ウィンドウがポップアップします。

  • 次に、「Send_Email_Condition」を選択します
  • 最後に、[実行] を押します .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

これにより、コードが実行されます。 2 人が 会った 私たちの状態 、したがって、2 つの メール が表示されます

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

続きを読む: Excel で条件が満たされたときにメールを自動的に送信する方法

類似の読み物

  • Excel でワークブックの共有を有効にする方法
  • Excel を使用して Outlook から一括メールを送信する方法 (3 つの方法)
  • 本文付きの Excel からメールを送信するマクロ (3 つの便利なケース)
  • マクロを適用して Excel から添付ファイル付きのメールを送信する方法
  • Excel ファイルをオンラインで共有する方法 (2 つの簡単な方法)

3.日付条件に基づいて Excel でメールを送信

最後の方法として、メールを送信します。 締め切りが現在の日付から 1 週間以内の場合。今日は5月19日です 2022 年 この記事を書いている時点で。したがって、 は 1 つだけです それは7日以内に収まります。 行 5 です . お送りします メール VBA を使用してその人に コード。

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

手順:

  • まず、最初の方法で示したようにモジュール を呼び出します ウィンドウにこのコードを入力してください。
Public Sub Send_Email_Date_Condition()
    Dim rDate, rSend, rText As Range
    Dim pApp, pItem As Object
    Dim LRow, x As Long
    Dim lineBreak, pBody, rSendValue, mSubject As String
    On Error Resume Next
    Set rDate = Application.InputBox("Select Deadline Range:", "Exceldemy", , , , , , 8)
    If rDate Is Nothing Then Exit Sub
    Set rSend = Application.InputBox("Select Email Range:", "Exceldemy", , , , , , 8)
    If rSend Is Nothing Then Exit Sub
    Set rText = Application.InputBox("Select Email Topic Range:", "Exceldemy", , , , , , 8)
    If rText Is Nothing Then Exit Sub
    LRow = rDate.Rows.Count
    Set rDate = rDate(1)
    Set rSend = rSend(1)
    Set rText = rText(1)
    Set pApp = CreateObject("Outlook.Application")
    For x = 1 To LRow
        rDateValue = ""
        rDateValue = rDate.Offset(x - 1).Value
        If rDateValue <> "" Then
        If CDate(rDateValue) - Date <= 7 And CDate(rDateValue) - Date > 0 Then
            rSendValue = rSend.Offset(x - 1).Value
            mSubject = rText.Offset(x - 1).Value & " on " & rDateValue
            lineBreak = "<br><br>"
            pBody = "<HTML><BODY>"
            pBody = pBody & "Dear " & rSendValue & lineBreak
            pBody = pBody & rText.Offset(x - 1).Value & lineBreak
            pBody = pBody & "</BODY></HTML>"
            Set pItem = pApp.CreateItem(0)
            With pItem
                .Subject = mSubject
                .To = rSendValue
                .HTMLBody = pBody
                .Display 'We can also use .Send here
            End With
            Set pItem = Nothing
        End If
    End If
    Next
    Set pApp = Nothing
End Sub

VBA コードの内訳

  • まず、最初の Sub Procedure を呼び出します Send_Email_Date_Condition .
  • 次に、変数を宣言しています タイプと設定「条件」 」をシートとして .
  • 3 番目に、InputBox を使用しています 値の範囲を設定します。
  • その後、Outlook を選択します メール アプリケーションとして .
  • 次に、VBA CDate を使用しています 日付が現在の日付から 7 日以内かどうかをチェックする関数
  • 次に、メールを設定します コード内のコンテンツ
  • その後、「.Display」を使用します 」をクリックして、メールを表示します .したがって、[送信] を押す必要があります。 手動で 送信 メール .さらに、「.Send」を使用できます 」 メールを送信

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • 次に、保存 モジュールを閉じます .
  • 3 番目に、方法 2 に示すようにマクロ を呼び出します ウィンドウ。
  • 次に、「Send_Email_Date_Condition」を選択します ” and press Run .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • Firstly, select the date column OK を押します .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • Secondly. select the email column OK を押します .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • Thirdly, select the email content column OK を押します .

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

  • Then we’ll see the email ダイアログボックス。 We can press Send to achieve our goal.

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

続きを読む: How to Automatically Send Email from Excel Based on Date

覚えておくべきこと

  • In all our methods, Outlook was our default email Application . You may need to use different codes for separate Applications .

練習セクション

We’ve added practice datasets for each method in the Excel ファイル。

Excel で条件が満たされた場合にメールを送信する方法 (3 つの簡単な方法)

結論

We’ve shown you 3 methods to send an email if conditions  met エクセルで .読んでくれてありがとう。これからも頑張ってください!

関連記事

  • How to Send Email from Excel with Body Using a Macro (with Easy Steps)
  • Excel から Outlook に自動メールを送信する方法 (4 つの方法)
  • セルの内容に基づいて Excel から電子メールを自動的に送信する (2 つの方法)
  • Excel ファイルを電子メールで自動的に送信する方法 (3 つの適切な方法)
  • VBA を使用して Excel ワークシートからリマインダー メールを自動的に送信する
  • How to See Who Is in a Shared Excel File (With Quick Steps)

  1. Excel で依存関係をトレースする方法 (2 つの簡単な方法)

    Excel で作業中 、依存関係を追跡する方法を知ることが重要です 一連のデータで。 依存関係を追跡することを知る のデータが Excelに役立ちます ユーザーは、セル内のデータが他のセルにどのように依存しているかを知ることができます。 扶養家族の追跡 エクセルで 必要なときにワークブックを便利にします。この記事では、依存関係を追跡する方法を学びます。 エクセルで 2 つの簡単で便利な方法で。 練習用ワークブックをダウンロードして練習してください。 Excel で依存関係を追跡する 2 つの簡単な方法 ABC Traders の半年売上高のデータセットを見てみましょう .データセットは 3

  2. Excel で複数の色でフィルター処理する方法 (2 つの簡単な方法)

    この記事では、Microsoft Excel で複数の色でフィルター処理する方法について説明します .通常、特定の列を複数の色でフィルター処理すると、データセットに存在する他の列は、最初に適用されたフィルターに従ってフィルター処理されすぎます。複数の色でデータをフィルタリングするのは少し難しいです。ただし、2 つお見せします フィルタリングの適切な方法 投稿者 Excel の複数の色 適切なイラストで効果的です。 Excel で複数の色でフィルター処理する 2 つの適切な方法 複数の営業担当者を含む以下のデータセットがあるとします。 名前と販売地域、販売担当者の収益 B、C、 列に記載され