Poštové listy jednému alebo viacerým ľuďom používajúcim VBA v programe Microsoft Excel

Anonim

Pridajte nový hárok, zmeňte názov hárka na poštu.
Každá pošta, ktorú chcete odoslať, bude obsahovať tri stĺpce.

  1. v stĺpci A - zadajte názov listu alebo hárkov, ktoré chcete odoslať.
  2. do stĺpca B - zadajte e -mailovú adresu.
  3. v stĺpci C - názov predmetu sa zobrazuje v hornej časti e -mailovej správy.

Do stĺpca A: C zadajte informácie pre prvý e -mail a pre druhý môžete použiť stĺpce D: F.
týmto spôsobom môžete odoslať 85 rôznych e-mailov (85*3 = 255 stĺpcov).

 Podkarety_poštičiek () Dim MyArr ako variant Dim posledný ako dlhý Dim shname Ako dlhý Dim a ako celočíselný dim Arr () ako reťazec Dim N ako celočíselný dimprimovaný ako reťazec pre a = 1 až 253 Krok 3 Ak je tentoWorkbook.Sheets ("mail" ). Bunky (1, a) .Hodnota = "" Potom Ukončite Sub Application.ScreenUpdating = False last = ThisWorkbook.Sheets ("mail"). Bunky (Rows.Count, a). End (xlUp). Riadok N = 0 For shname = 1 To last N = N + 1 ReDim Preserve Arr (1 To N) Arr (N) = ThisWorkbook.Sheets ("mail"). Cells (shname, a) .Value Next shname ThisWorkbook.Worksheets (Arr). Kopírovať strdate = formát (dátum, "dd-mm-rr") & "" & formát (čas, "h-mm-ss") ActiveWorkbook.SaveAs "súčasť" & 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“). Cells (1, a + 2). Value ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ActiveWorkbook.Close False Application.ScreenUpdating = True Next a Koniec pod