Arkusze poczty elektronicznej do jednej lub więcej osób korzystających z VBA w programie Microsoft Excel

Anonim

Dodaj nowy arkusz, zmień nazwę arkusza na mail.
Każda wiadomość, którą chcesz wysłać, będzie miała 3 kolumny.

  1. w kolumnie A - wpisz nazwę arkusza lub arkuszy, które chcesz wysłać.
  2. w kolumnie B - wpisz adres e-mail.
  3. w kolumnie C - tytuł tematu pojawia się na górze wiadomości e-mail.

Kolumna A:C wprowadź informacje dla pierwszego maila i możesz użyć kolumn D:F dla drugiego.
w ten sposób możesz wysłać 85 różnych e-maili (85*3 = 255 kolumn).

 Sub Mail_sheets() Dim MyArr As Variant Dim last As Long Dim shname As Long Dim a As Integer Dim Arr() As String Dim N As Integer Dim strdate As String For a = 1 do 253 Krok 3 If ThisWorkbook.Sheets("mail" ).Cells(1, a).Value = "" Następnie zakończ Sub Application.ScreenUpdating = False last = ThisWorkbook.Sheets("mail").Cells(Rows.Count, a).End(xlUp).Row N = 0 For shname = 1 To last N = N + 1 ReDim Zachowaj Arr(1 To N) Arr(N) = ThisWorkbook.Sheets("mail").Cells(shname, a).Value Next shname ThisWorkbook.Worksheets(Arr). Kopiuj strdate = Format(Date, "dd-mm-rr") & " " & Format(Time, "h-mm-ss") ActiveWorkbook.SaveAs "Część " & ThisWorkbook.Name _ & " " & strdate & " .xls" With ThisWorkbook.Sheets("mail") MyArr = .Range(.Cells(1, a + 1), .Cells(Rows.Count, a + 1).End(xlUp)) Zakończ z ActiveWorkbook.SendMail MyArr , ThisWorkbook.Sheets("mail").Cells(1, a + 2).Value ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ActiveWorkbook.Close False Application.ScreenUpdating = True Dalej a Napis końcowy