エクセル|Excel

EXCELのVBAで経費明細の表をメールに挿入して送信する方法

月末で各人が立て替えている経費を振込で精算をするとき、

本人がいないと明細が渡せない・・・

印刷したものを各人に渡して歩く・・・

といった事が大変なので

メールで送ることはできないか考えてみました。

操作画面は↓こんな感じです。

 

VBAマクロのプログラムコード

VBA初心者ですが、

以下のようなVBAのコードを作成しました。

 

Sub 経費精算明細メール()
'SheerA の宣言
Dim SheetB As Worksheet

'SheetAの定義
Set SheetA = ThisWorkbook.Worksheets("メール内容")

'表をコピー
With SheetA
With .Range(.Range("A7"), .Cells(.Rows.Count, 4).End(xlUp))
.Copy
End With
End With

'outlookオブジェクト生成
With CreateObject("Outlook.Application")

'メール作成
With .CreateItem(olMailItem)
.BodyFormat = olFormatHTML
.To = SheetA.Range("B2").Value
.CC = SheetA.Range("B3")
.Subject = SheetA.Range("B4").Value
.Display
With .GetInspector.WordEditor.Windows(1).Selection
.TypeText SheetA.Range("B1").Value & " 様" & vbCrLf & vbCrLf
.TypeText SheetA.Range("B5").Value & vbCrLf
.Paste
End With
End With
End With
End Sub

 

マクロの動作としては、

1.指定した範囲の表をメールに貼り付けて

2.メールを表示

3.あとは送信ボタンを押すだけ

と言うシンプルなものを作成しました。

 

操作イメージ

Excelの「Mail」シートに

以下のような入力フォーマットがあります。

下の表がピボットテーブルになっているので

名前を変更すると氏名やメールアドレス、明細が

自動で変更されます。

 

メールアドレス等の内容の下にある

「メール作成」のボタンをクリックすると、

以下のようにメールの作成画面が表示されます。

あとは内容を確認して送信ボタンを押すだけです。

【注意事項】

 ※メールはOutlookを使うことを前提にしております。

 ※本文のフォント等はメールの設定で変更できます。

 

サンプルファイルの無料ダウンロード

上記のマクロを入れたExcelファイルを作成しました。

ただ、マクロ入りなのでZIPファイルに圧縮してあります。

 

パソコンによっては、

ウィルスが含まれたファイルと認識されてしまうかも知れません。

こちらもウィルスチェックをしてからZIPファイルにして

アップロードしておりますが、

ダウンロードの際にはウィルスチェックをお願い致します。

(ダウンロードについては自己責任でお願い致します。)

 

ダウンロードはこちらからお願いします。

 

Amazonのおすすめ

-エクセル|Excel
-, , , , , , , , , , , , , , ,

© 2021 事務屋ドットコム