By clazor.itec vào Thứ Ba, 20 Tháng Chín 2022
Được đăng trong Excel
Trả lời 1
Lượt thích 0
Lượt xem 4.9K
Bình chọn 0
Xin chào, tôi là người mới sử dụng excel và đang tự hỏi liệu có thể thiết lập mã excel theo cách có thể gửi email đến một người cụ thể khi giá trị trong một cột được đánh dấu là hoàn thành hay không. Ví dụ: nếu JobX ở A2 và trong cùng một hàng, tên viết tắt của người quản lý dự án ở hàng đó, B2, công việc này được đánh dấu là hoàn thành trong C2, khi cột C được đánh dấu là đã hoàn thành, một email sẽ được gửi đến PM có tên viết tắt nằm trong hàng đó. Tôi đã tìm thấy mã có thể gửi email khi ô của cột được đánh dấu là đã hoàn thành, nhưng tôi đang tự hỏi liệu tôi có thể cụ thể hơn như gửi email cho một người cụ thể khi các điều kiện nhất định được đáp ứng hay không. Cảm ơn,
Chris
Chào bạn,

Vui lòng thử mã bên dưới
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

Bạn đã đề cập rằng bạn muốn gửi một email đến Thủ tướng có các thư đầu tiên ở cùng hàng được đánh dấu là đã hoàn thành. Địa chỉ email của anh ấy / cô ấy có trên cùng một hàng không? Mã ở hàng thứ 6 giúp tìm tên viết tắt của người quản lý dự án, bạn có thể thay đổi mã này để tìm địa chỉ email.

Vui lòng thay đổi chuỗi "hoàn thành" ở hàng thứ 5 thành chuỗi thực sự mà bạn sử dụng để đánh dấu công việc đã hoàn thành.

Lưu ý rằng bạn có thể thay đổi đoạn mã bên dưới theo nhu cầu của mình.
xMailBody = "Xin chào" & vbNewLine & vbNewLine & _
"Đây là dòng 1" & vbNewLine & _
"Đây là dòng 2"
On Error Resume Next
Với xOutMail
.To = xTo
.CC = ""
.BCC = ""
.Subject = "gửi bằng kiểm tra giá trị ô"
.Body = xMailBody
.Display 'hoặc sử dụng
' .Gửi
Kết thúc với


Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng hỏi tôi.

Amanda
·
1 năm trước
·
0 Likes
·
Phiếu bầu 0
·
0 Comments
·
Xem toàn bộ bài viết