화요일, 20 9월 2022
  1 답글
  4.7K 방문
0
투표
취소
안녕하세요, 저는 Excel을 처음 접하고 열의 값이 완료된 것으로 표시될 때 특정 사람에게 이메일을 보내는 방식으로 Excel 코드를 설정할 수 있는지 궁금합니다. 예를 들어 JobX가 A2에 있고 같은 행에 프로젝트 관리자 이니셜이 해당 행 B2에 있는 경우 이 작업은 C2에 완료된 것으로 표시됩니다. C 열이 완료로 표시되면 이니셜이 있는 PM에게 이메일을 보내야 합니다. 그 행에 있습니다. 컬럼의 셀이 완료된 것으로 표시될 때 이메일을 보낼 수 있는 코드를 찾았지만 특정 조건이 충족되었을 때 특정 사람에게 이메일을 보내는 것처럼 더 구체적으로 할 수 있는지 궁금합니다. 감사,
크리스
0
투표
취소
안녕,

아래 코드를 시도하십시오 :)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Range("c:c"), Target) Is Nothing Then Exit Sub
If Target.Value = "done" Then
Set xRg = Target.Offset(0, -1) 'Find email address
Call Mail_small_Text_Outlook(xRg.Value)
End If

End Sub

Sub Mail_small_Text_Outlook(ByVal xTo As String)
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi there" & vbNewLine & vbNewLine & _
"This is line 1" & vbNewLine & _
"This is line 2"
On Error Resume Next
With xOutMail
.To = xTo
.CC = ""
.BCC = ""
.Subject = "send by cell value test"
.Body = xMailBody
.Display 'or use
' .Send
End With
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub

완료된 것으로 표시된 동일한 행에 이니셜이 있는 PM에게 이메일을 보내고 싶다고 언급하셨습니다. 이메일 주소가 같은 줄에 있습니까? 6번째 행의 코드는 프로젝트 관리자 이니셜을 찾는 데 도움이 됩니다. 이메일 주소를 찾도록 변경할 수 있습니다.

5번째 행의 "done" 문자열을 작업 완료를 표시하는 데 사용하는 실제 문자열로 변경하십시오.

아래 스니펫을 필요에 따라 변경할 수 있습니다.
xMailBody = "안녕하세요" & vbNewLine & vbNewLine & _
"이것은 라인 1입니다" & vbNewLine & _
"이것이 2호선입니다"
오류에 대한 다음 재개
xOutMail과 함께
.To = xTo
.CC = ""
.BCC = ""
.Subject = "셀 값 테스트로 보내기"
.Body = xMailBody
.디스플레이 '또는 사용
' .보내다


질문이 있으시면 주저하지 말고 저에게 물어보세요.

아만다
  • 페이지 :
  • 1
이 게시물에 대한 답변이 없습니다.