Excelで期日を過ぎた場合にメールを送信するにはどうすればよいですか?
下のスクリーンショットに示すように、列 C の期日が 7 日以内 (たとえば、現在の日付が 2017/9/13) の場合、メールは列 A で指定された受信者に送信され、 B列の指定内容がメール本文に表示されます。 どうすればそれを達成できますか? この記事では、このタスクを実行するのに役立つ VBA コードを提供します。
期日がVBAコードで満たされている場合はメールを送信します
Excelで期日が過ぎた場合は、次のようにしてメールでリマインダーを送信してください。
1。 プレス 他の + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。
2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウをクリックしてください インセット > モジュール。 次に、以下のVBAコードをコピーしてモジュールウィンドウに貼り付けます。
VBAコード:Excelで期日が閉じられている場合にメールを送信する
Public Sub CheckAndSendMail()
'Updated by Extendoffice 2018/11/22
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Application.InputBox("Please select the due date column:", "KuTools For Excel", , , , , , 8)
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Application.InputBox("Please select the recipients?email column:", "KuTools For Excel", , , , , , 8)
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Application.InputBox("Select the column with reminded content in your email:", "KuTools For Excel", , , , , , 8)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "<br><br>"
xMailBody = "<HTML><BODY>"
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Text : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & "</BODY></HTML>"
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
ノート: この線 CDate(xRgDateVal)の場合-日付<= 7 CDate(xRgDateVal)-日付> 0 次に、VBAコードでは、期日は1日より長く、7日以下でなければならないことを意味します。 必要に応じて変更できます。
3。 押す コードを実行するためのF5キー。 最初のポップアップで Kutools for Excel ダイアログボックスで、期日の列範囲を選択し、[ OK ボタン。 スクリーンショットを参照してください:
4.次にXNUMX番目 Kutools for Excel ダイアログボックスが表示されます。受信者のメールアドレスを含む対応する列範囲を選択し、[ OK ボタン。 スクリーンショットを参照してください:
5.最後に Kutools for Excel ダイアログボックスで、メール本文に表示するコンテンツを選択し、[ OK
次に、列Cの期日が7日以下の場合、指定された受信者、件名、本文がリストされた電子メールが自動的に作成されます。 クリックしてください 送信 メールを送信するボタン。
ノート:
1.作成された各電子メールは期日に対応しています。 たとえば、基準を満たす期日がXNUMXつある場合、XNUMXつの電子メールメッセージが自動的に作成されます。
2.基準を満たす日付がない場合、このコードはトリガーされません。
3. VBAコードは、電子メールプログラムとしてOutlookを使用している場合にのみ機能します。
関連記事:
- Excelのセル値に基づいて電子メールを自動的に送信するにはどうすればよいですか?
- ブックがExcelに保存されているときにOutlookからメールを送信するにはどうすればよいですか?
- Excelで特定のセルが変更された場合にメールを送信するにはどうすればよいですか?
- Excelでボタンがクリックされた場合にメールを送信するにはどうすればよいですか?
- ワークブックがExcelで更新された場合に、電子メールによるリマインダーまたは通知を送信するにはどうすればよいですか?
最高のオフィス生産性向上ツール
🤖 | 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% 向上させ、毎日何百回もマウス クリックを減らすことができます!