0
我在從其他工作表引用電子郵件地址時遇到了一些問題,所以我可以在選擇某個名稱並從下拉框中選擇「打開」時發送電子郵件,它會自動發送電子郵件給那個人。我至今:引用來自不同工作表的電子郵件地址
Sub Macro1()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo cleanup
For Each cell In Columns("M").Cells.SpecialCells(xlCellTypeConstants)
If cell.Value Like "?*@xyz.com" And _
LCase(Cells(cell.Row, "N").Value) = "open" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "Open Issue"
.Body = "Dear " & Cells(cell.Row, "J").Value _
& vbNewLine & _
"Issue raised: " & Cells(cell.Row, "C").Value _
& vbNewLine & _
"Regards"
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
End If
Next cell
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
這工作,如果我輸入手動,但M
列我想,這樣當從下拉框中J
選擇一個名字它匹配了有一個電子郵件地址發送電子郵件至名稱,並在從列N
中選擇「打開」時發送。
我已經創建與其中M
使用VLookup
使用=VLOOKUP(J3,Team!B5:E8,4,FALSE)
引用另一個表名稱和電子郵件的表。我曾嘗試在VLOOKUP
前添加HYPERLINK
,但它仍不會創建鏈接。
我也嘗試使用拆分和連接名稱創建電子郵件地址,但無濟於事。
非常好!解決了它。但現在我得到一個問題「運行時錯誤'13' - 類型不匹配。它是嘔吐線: 如果cell.Value像」?*@xyz.com「和_ LCase(Cells(cell。行,「N」)。Value)=「open」Then – md393
那麼,這是一個不同的話題不同的問題。但是,我懷疑,因爲你是在整個循環中引用列M, * EVERY ROW **,我認爲你不需要,你可以隨時調試,看看哪一行發生錯誤,然後評估爲什麼,如果你需要更多的幫助,請發表另一個問題。回答,因爲原來的問題解決了。 –