Pašto lapas (-ai) vienam ar keliems žmonėms, naudojantiems „Microsoft Excel“ VBA

Anonim

Pridėti naują lapą, pakeisti lapo pavadinimą į paštą.
Kiekviename laiške, kurį norite išsiųsti, bus naudojami 3 stulpeliai.

  1. A stulpelyje - įveskite lapo ar lapų pavadinimus, kuriuos norite siųsti.
  2. stulpelyje B - įveskite el. pašto adresą.
  3. C stulpelyje - temos pavadinimas rodomas el. laiško viršuje.

A: C stulpelyje įveskite pirmojo laiško informaciją, o antrajam galite naudoti D: F stulpelius.
galite siųsti 85 skirtingus el. laiškus (85*3 = 255 stulpeliai).

 Sub Mail_sheets () Dim MyArr As Variant Dim Last Long Dim shname As Long Dim a As Integer Dim Arr () Kaip String Dim N As Integer Dim strdate As String For a = 1 to 253 3 žingsnis If ThisWorkbook.Sheets ("mail" ) .Ląstelės (1, a) .Value = "" Tada išeikite iš antrinės programos.ScreenUpdating = False last = ThisWorkbook.Sheets ("mail"). Ląstelės (Rows.Count, a) .End (xlUp) .Row N = 0 Shname = 1 Iki paskutinio N = N + 1 „ReDim Preserve Arr“ (nuo 1 iki N) Arr (N) = ThisWorkbook.Sheets ("mail"). Ląstelės (shname, a). Vertė Kitas shname ThisWorkbook.Worksheets (Arr). Kopijuoti strdate = Formatas (data, "dd-mm-yy") & "" & Format (Time, "h-mm-ss") ActiveWorkbook.SaveAs "Part of" & ThisWorkbook.Name _ & "" & strdate & " .xls "Su ThisWorkbook.Sheets (" mail ") MyArr = .Range (.Ląstelės (1, a + 1), .Ląstelės (Rows.Count, a + 1). End (xlUp)) Pabaikite su ActiveWorkbook.SendMail MyArr , ThisWorkbook.Sheets ("mail"). Ląstelės (1, a + 2). Value ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ActiveWorkbook.Close False Application.ScreenUpdating = True Next a Pabaiga Sub