E -postblad till en eller flera personer som använder VBA i Microsoft Excel

Anonim

Lägg till nytt blad, ändra bladnamnet till e -post.
Varje e -postmeddelande du vill skicka använder tre kolumner.

  1. i kolumn A - ange blad eller bladnamn du vill skicka.
  2. i kolumn B - ange e -postadress.
  3. i kolumn C - ämnesrubriken visas högst upp i e -postmeddelandet.

Kolumn A: C ange information för det första e -postmeddelandet och du kan använda kolumnerna D: F för det andra.
Du kan skicka 85 olika e-postmeddelanden på detta sätt (85*3 = 255 kolumner).

 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 To 253 Step 3 If ThisWorkbook.Sheets ("mail" ) .Cells (1, a) .Value = "" Avsluta sedan subprogrammet.ScreenUpdating = False last = ThisWorkbook.Sheets ("mail"). Celler (Rows.Count, a) .End (xlUp) .Rad N = 0 För shname = 1 Till sista N = N + 1 ReDim Preserve Arr (1 To N) Arr (N) = ThisWorkbook.Sheets ("mail"). Celler (shname, a) .Value Next shname ThisWorkbook.Worksheets (Arr). Copy strdate = Format (Date, "dd-mm-yy") & "" & Format (Time, "h-mm-ss") ActiveWorkbook.SaveAs "Part of" & ThisWorkbook.Name _ & "" & strdate & " .xls "With ThisWorkbook.Sheets (" mail ") MyArr = .Range (.Cells (1, a + 1), .Cells (Rows.Count, a + 1). End (xlUp)) End with ActiveWorkbook.SendMail MyArr , ThisWorkbook.Sheets ("mail"). Celler (1, a + 2) .Value ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ActiveWorkbook.Close False Application.ScreenUpdating = True Next a Avsluta Sub