Note: The other languages of the website are Google-translated. Back to English

Excel에서 Outlook을 통해 셀 범위를 보내거나 이메일로 보내는 방법은 무엇입니까?

워크 시트에서 보고서를 마친 후 특정받는 사람에게 중요한 데이터가 포함 된이 워크 시트의 셀 범위로 보내야하는 문제를 겪은 적이 있습니까? Outlook을 열지 않고 Excel에서이 범위를 전자 메일로 보낼 수있는 빠른 방법이 있습니까?

VBA 코드로 Excel에서 첨부 파일로 셀 범위 보내기

VBA 코드를 사용하여 Excel에서 본문으로 셀 범위 보내기


화살표 블루 오른쪽 거품VBA 코드로 Excel에서 첨부 파일로 셀 범위 보내기

다음 VBA 코드는 선택한 범위를 Excel에서 첨부 파일로 보내는 데 도움이 될 수 있습니다. 다음과 같이하십시오 :

1. 통합 문서를 연 다음 ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 다음 코드를 모듈 창.

VBA 코드 : Excel에서 첨부 파일로 셀 범위 보내기

Sub SendRange()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "information of kte"
    .Body = "hello, please check and read this document. "
    .Attachments.Add Wb2.FullName
    .Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

주의 사항: 위 코드에서 필요에 따라 다음 정보를 변경할 수 있습니다.

  • .To = "skyyang @extendoffice.com "
  • .CC = ""
  • .BCC = ""
  • .Subject = "kte 정보"
  • .Body = "안녕하세요,이 문서를 확인하고 읽어주세요."

3. 그런 다음 F5 키를 눌러이 코드를 실행하면 보낼 범위를 선택하라는 메시지 상자가 나타납니다. 스크린 샷보기 :

문서 전송 범위1

4. 그런 다음 OK, 프롬프트 상자가 나타나면 진행률 표시 줄이 끝나면 허용, 그런 다음 특정 범위의 셀이 수신자에게 첨부 파일로 전송되었습니다.

문서 전송 범위2


화살표 블루 오른쪽 거품VBA 코드를 사용하여 Excel에서 본문으로 셀 범위 보내기

Excel에서 메시지 본문의 일부로 특정 범위를 보내려는 경우 다음 VBA 코드를 적용하여 해결할 수도 있습니다.

Excel 용 Kutools, 이상과 120 편리한 기능으로 작업이 더 쉬워집니다. 

1. 워크 시트를 활성화하고 ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 다음 코드를 모듈 창.

VBA 코드 : Excel에서 본문으로 셀 범위 보내기

Sub EmailRange()
'Update 20131209
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
WorkRng.Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = "Please read this email."
    .Item.To = "skyyang@extendoffice.com"
    .Item.Subject = "information of kte"
    .Item.Send
End With
Application.ScreenUpdating = True
End Sub

참고 : 위의 코드에서 필요에 따라 다음 정보를 변경할 수 있습니다.

  • .Introduction = "이 이메일을 읽으십시오."
  • .Item.To = "skyyang @extendoffice.com "
  • .Item.Subject = "kte 정보"

3. 그런 다음 F5 키를 눌러이 코드를 실행하면 보낼 범위를 선택하라는 메시지 상자가 나타납니다.

문서 전송 범위1

4. 그런 다음 OK, 프롬프트 상자가 나타나면 진행률 표시 줄이 끝나면 허용, 그런 다음 특정 범위의 셀이 수신자에게 메시지 본문으로 전송되었습니다.

문서 전송 범위2

배송 시 요청 사항:

1.이 코드는 Outlook을 메일 프로그램으로 사용할 때만 사용할 수 있습니다.

2. 현재 워크 시트를 보낸 후 Outlook으로 이동하여 전자 메일이 성공적으로 전송되었는지 확인할 수 있습니다.


관련 기사 :

Excel에서 Outlook을 통해서만 워크 시트를 보내는 방법은 무엇입니까?

Excel에서 Outlook을 통해 현재 통합 문서를 보내는 방법은 무엇입니까?


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (26)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 이메일에 필요한 셀을 선택하는 marco를 사용하고 있습니다. 나는 이것을 다른 매크로와 결합하여 "새 이메일"을 열 수 있도록 했습니다. 내 문제는 이제 한 셀에 많은 정보를 넣으면 해당 셀의 모든 정보를 볼 수 있는 것은 아니라는 것입니다. ?? 이 건배에 도움을 주셔서 정말 감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하십니까
시트 1의 범위를 선택하여 A 열의 시트 2에 작성된 많은 이메일 주소에 대해 하나씩 선택하는 프로젝트가 있으며 B 열이 특정 제목으로 비어 있고 보낸 후 시트 2 B 열에 쓰는 경우
그리고 서버의 조건으로 다음 메일을 보내기까지 10초의 대기 시간
아무도 도와주세요?   
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 두 번째 프로그램의 이 메일에 서명과 두 번째 소개란을 추가하는 방법을 알려주실 수 있습니까? 미리 감사드립니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
좋은 & 유용한, 잘했습니다!!!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
굉장히 유용하다. 고맙습니다 . 같은 시트에 이메일 주소 목록이 있습니다. 하나의 이메일 주소를 클릭하면 선택한 셀 범위가 이 이메일에 첨부 파일로 전송됩니다. 이 일을 도와주시겠습니까?감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 아주 친절하게 설명했습니다. 새 통합 문서를 보내는 대신 선택한 범위를 복사하여 이메일 본문에 붙여넣고 보낼 수만 있습니다. 선택한 범위를 이미지로 보내고 싶지 않습니다. 이메일 본문에 테이블 보기처럼 보내고 싶습니다. 우리가 할 수 있습니까??
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
감사합니다. 이것은 매우 유용하지만 보내기 전에 메일 본문에 설명을 추가해야 하는 경우 어떻게 합니까? 코드를 제안하십시오.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕,
모든 것이 좋아 보이지만 테두리 선택 범위를 제공하지 않습니다. 제안해 주시겠습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
정말 감사합니다. 이 솔루션을 너무 오래 찾고 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
훌륭한 직업입니다. 자동으로 전송되는 것을 확인하는 것이 좋습니다. 다시 보내기 전에 오류가 발생하지 않도록 하려면 어떻게 해야 합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
보낼 이메일 주소를 많이 넣을 수 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, Carey, VBA 위의 모든 사람들은 다음을 사용하여 보낼 많은 전자 메일 주소(받는 사람, 숨은 참조, 참조)를 추가할 수 있습니다. 구분자로. 예를 들어 .To = "skyyang@extendoffice.com; 테스트1@extendoffice.com; 테스트2@extendoffice.com "
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
ich möchte das kopierte nicht als Datei in eine E-Mail einfügen, sodern per copy and paste in die E-Mail einfügen. VBA 코드에 있는 Wie geht das?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 저는 직원이 채우도록 테이블을 설정한 다음 자동으로 이메일을 생성하는 명령 버튼을 원하지만 테이블의 데이터가 이메일 본문에 있기를 원합니다. 그것에 대한 코드가 있습니까? 
고맙습니다 
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하십니까
시트 1의 범위를 선택하여 A 열의 시트 2에 작성된 많은 이메일 주소에 대해 하나씩 선택하는 프로젝트가 있으며 B 열이 특정 제목으로 비어 있고 보낸 후 시트 2 B 열에 쓰는 경우
그리고 서버의 조건으로 다음 메일을 보내기까지 10초의 대기 시간
아무도 도와주세요?   
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하십니까
시트 1의 범위를 선택하여 A 열의 시트 2에 작성된 많은 이메일 주소에 대해 하나씩 선택하는 프로젝트가 있으며 B 열이 특정 제목으로 비어 있고 보낸 후 시트 2 B 열에 쓰는 경우
그리고 서버의 조건으로 다음 메일을 보내기까지 10초의 대기 시간
아무도 도와주세요?   
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, hriad, " 특정 제목으로 B열이 비어 있고 보낸 후 시트 2 B열에 작성하여 보낸 경우
그리고 서버의 조건으로 다음 이메일을 보내기 위해 10초를 기다리려면 "이해가 되지 않습니다. 요구 사항에 대해 다시 알려주세요.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 써니
우선 서버가 10초에 많은 메일을 보내지 않는 조건을 설정해 놓았기 때문에 첫 번째 메일과 다음 메일을 보낸 후 XNUMX초를 기다리고 싶습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, hriad, 아래 코드를 시도하십시오. 실행 후 보낼 범위를 선택하는 대화 상자가 나타나면 시트 2 A열의 주소로, B열의 제목으로 보냅니다. 10초마다 , 한 주소로 보냅니다. 필요에 따라 "이 이메일을 읽으십시오" 코드를 변경할 수 있습니다.
하위 SendEmailRange()

'업데이트바이Extendoffice20220414

Dim WorkRng As Range

Dim xSU, EV를 부울로

Dim xWSh를 워크시트로

Dim xCount를 정수로

Dim xI를 정수로

오류에 대한 다음 재개

xTitleId = "KutoolsforExcel"

'본문으로 보낼 범위를 선택

WorkRng 설정 = Application.InputBox("범위", xTitleId, Application.Selection.Address, , , , , 8)

WorkRng가 아무것도 아닌 경우 Sub를 종료하십시오.
WorkRng.활성화
작업Rng.선택

Set xWSh = ActiveWorkbook.Worksheets("Sheet2") '주소와 제목이 포함된 시트

xCount = xWSh.UsedRange.Rows.Count

xSU = 응용 프로그램.화면 업데이트

EV = ActiveWorkbook.EnvelopeVisible

Application.ScreenUpdating = False


xI = 1의 경우 xCount

If (xWSh.Range("A" & xI) = "") 그러면
종료
END IF
ActiveWorkbook.EnvelopeVisible = 참
ActiveSheet.MailEnvelope 사용
.Introduction = "이 이메일을 읽으십시오."

.Item.To = xWSh.Range("A" & xI)

.Item.Subject = xWSh.Range("B" & xI)

.항목.보내기

만약 (xI = xCount) 그렇다면

종료

END IF

Application.Wait Now + TimeValue("0:00:10")

다음


Application.ScreenUpdating = xSU

ActiveWorkbook.EnvelopeVisible = EV

최종 하위

이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 써니
많이 많이 노력해주셔서 감사합니다....감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
범위를 고정할 수 있습니까? 매크로 자체에서
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요,

맘플릭 z 6 아르쿠자미. Każdy z arkuszy 2-6 musi zostać wysłany do innej grupy odbiorców jako załącznik excela. Czy da się에서 podpiąć 포드 5 przycisków로?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 파울
문제를 해결하려면 아래 문서가 도움이 될 수 있으므로 확인하십시오.

https://www.extendoffice.com/documents/excel/7178-send-each-sheet-to-different-email.html

감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
감사합니다! 휴가에서 돌아오는 대로 바로 테스트하겠습니다. 질문이 하나 더 있습니다. 코드가 편집 모드에서 완벽하게 작동하거나 키보드에서 ctrl+선택한 버튼으로 실행할 때에도 Activex 버튼을 사용하여 vba 코드를 실행하는 데 문제가 있습니다. 나는 막 vba 여행을 시작하고 있고 없다
내가 뭘 잘못하고 있는지 생각 :/
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 파울
코드를 복사하여 붙여넣기만 하면 됩니다. 응용 프로그램 용 Microsoft Visual Basic 창을 클릭한 다음 달리기 아래 스크린샷과 같이 도구 모음의 버튼: (주의 사항: 코드에서 S1 셀에는 이메일을 보낼 이메일 주소가 포함되어 있습니다. 필요에 따라 변경하십시오.)

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-emails.png

다시 시도해 주세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕,

위와 같이 모든 작업을 수행했으며 결과는 다음과 같습니다. 버튼과 별개로 모든 것이 완벽하게 작동합니다.

대박 감사합니다!!! 주제 마감되었습니다 :)
아직 코멘트가 없습니다
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호