Excel에서 각 시트를 다른 이메일 주소로 보내는 방법은 무엇입니까?
여러 워크시트가 포함된 Excel 워크북이 있고, 각 워크시트의 S1 셀에 이메일 주소가 포함되어 있는 경우, 각 시트를 해당 수신자에게 별도의 첨부 파일로 보내고 싶을 수 있습니다. 이를 수동으로 처리하면 특히 많은 수의 시트를 다룰 때 지루하고 번거로울 수 있습니다. 이 튜토리얼에서는 VBA 코드를 사용하여 각 워크시트를 해당 시트의 S1 셀에 명시된 이메일 주소로 자동 전송하는 방법을 보여드리겠습니다.
VBA 코드를 사용하여 Excel에서 각 시트를 다른 이메일 주소로 보내기
다음 VBA 코드를 사용하면 각 워크시트를 S1 셀에 나열된 해당 수신자에게 첨부 파일로 전송할 수 있습니다. 다음 단계를 따르세요:
1. Alt + F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.
2. 그런 다음 삽입 > 모듈을 클릭하고 아래 VBA 코드를 창에 복사하여 붙여넣습니다.
VBA 코드: 각 시트를 다른 이메일 주소로 첨부하여 보내기
Sub Mail_Every_Worksheet()
'Updateby ExtendOffice
Dim xWs As Worksheet
Dim xWb As Workbook
Dim xFileExt As String
Dim xFileFormatNum As Long
Dim xTempFilePath As String
Dim xFileName As String
Dim xOlApp As Object
Dim xMailObj As Object
On Error Resume Next
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
xTempFilePath = Environ$("temp") & "\"
If Val(Application.Version) < 12 Then
xFileExt = ".xls": xFileFormatNum = -4143
Else
xFileExt = ".xlsm": xFileFormatNum = 52
End If
Set xOlApp = CreateObject("Outlook.Application")
For Each xWs In ThisWorkbook.Worksheets
If xWs.Range("S1").Value Like "?*@?*.?*" Then
xWs.Copy
Set xWb = ActiveWorkbook
xFileName = xWs.Name & " of " _
& VBA.Left(ThisWorkbook.Name, VBA.InStr(ThisWorkbook.Name, ".") - 1) & " "
Set xMailObj = xOlApp.CreateItem(0)
xWb.Sheets.Item(1).Range("S1").Value = ""
With xWb
.SaveAs xTempFilePath & xFileName & xFileExt, FileFormat:=xFileFormatNum
With xMailObj
'specify the CC, BCC, Subject, Body below
.To = xWs.Range("S1").Value
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.Body = "Hi there"
.Attachments.Add xWb.FullName
.Display
End With
.Close SaveChanges:=False
End With
Set xMailObj = Nothing
Kill xTempFilePath & xFileName & xFileExt
End If
Next
Set xOlApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
- S1은 이메일을 보내려는 이메일 주소가 포함된 셀입니다. 이메일 주소가 다른 셀, 예를 들어 A1에 있다면 코드를 수정하여 그 변경 사항을 반영할 수 있습니다.
- 코드에서 CC, 숨은 참조, 제목, 본문을 원하는 대로 지정할 수 있습니다.
- 새로운 메시지 창을 열지 않고 이메일을 바로 보내려면 .Display를 .Send로 변경해야 합니다.
3. 그런 다음 F5 키를 눌러 이 코드를 실행하면 각 시트가 새 메시지 창에 자동으로 첨부 파일로 삽입됩니다. 스크린샷을 참조하세요:
4. 마지막으로, 보내기 버튼을 클릭하여 각 이메일을 하나씩 보냅니다.
Kutools for Excel: 한 번의 클릭으로 손쉽게 맞춤형 이메일 보내기!

고객에게 일일이 이메일을 보내는 데 지치셨나요? Kutools for Excel의 “이메일 보내기” 기능을 사용하면 커뮤니케이션이 더 빠르고 전문적으로 변합니다! 이름, 이메일 주소, 등록 코드 등을 포함한 Excel 워크시트를 준비하고 플레이스홀더를 삽입하기만 하면 시스템이 자동으로 맞춤형 이메일을 생성하여 수백 개의 이메일을 한 번의 클릭으로 보냅니다. 반복 작업은 이제 그만!
- 💡 동적 플레이스홀더(예: 이름, 등록 코드)가 각 수신자에 맞춰 개인화된 내용을 자동으로 채워주어 모든 이메일이 독특하게 느껴지도록 합니다.
- 📎 정확한 전달을 위해 개인화된 파일 첨부 가능
- 📤 Outlook과 원활하게 통합되어 안전하고 신뢰할 수 있는 발송 가능
- 📝 최대 효율성을 위해 이메일 템플릿을 저장하고 재사용 가능
- 🎨 사용하기 쉬운 WYSIWYG(눈에 보이는 대로 결과가 나옴) 편집기
- 🖋 별도의 설정 없이 바로 Outlook 서명 사용—그냥 보내기만 하세요!
- 지금 Kutools For Excel을 구매하세요!
최고의 오피스 생산성 도구
🤖 | Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!