새 시트를 추가하고 시트 이름을 메일로 변경합니다.

보내려는 모든 메일은 3 개의 열을 사용합니다.

  1. A 열에-보내려는 시트 또는 시트 이름을 입력하십시오.

  2. B 열에 이메일 주소를 입력합니다.

  3. C 열-제목 제목이 전자 메일 메시지 상단에 나타납니다.

A : C 열은 첫 번째 메일에 대한 정보를 입력하고 두 번째 메일에는 D : F 열을 사용할 수 있습니다.

이 방법으로 85 개의 서로 다른 이메일을 보낼 수 있습니다 (85 * 3 = 255 열).

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 = "" Then Exit 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 Preserve Arr(1 To N)

Arr(N) = ThisWorkbook.Sheets("mail").Cells(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").Cells(1, a + 2).Value

ActiveWorkbook.ChangeFileAccess xlReadOnly

Kill ActiveWorkbook.FullName

ActiveWorkbook.Close False

Application.ScreenUpdating = True

Next a

End Sub