Ron de Bruinsのコードを列から行に変更する方法について質問したいと思います(たとえば、行1に名前が含まれ、行2に電子メールが、行3にはい、もしくは、いいえ)。範囲(行)の各人にメッセージをメール
Sub Test1()
'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm
'Working in Office 2000-2016
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("B").Cells.SpecialCells(xlCellTypeConstants)
If cell.Value Like "?*@?*.?*" And _
LCase(Cells(cell.Row, "C").Value) = "yes" Then
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = cell.Value
.Subject = "Reminder"
.Body = "Dear " & Cells(cell.Row, "A").Value _
& vbNewLine & vbNewLine & _
"Please contact us to discuss bringing " & _
"your account up to date"
'You can add files also like this
'.Attachments.Add ("C:\test.txt")
.Send 'Or use Display
End With
On Error GoTo 0
Set OutMail = Nothing
End If
Next cell
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
ありがとうございます!たぶん、このような
あなたの返信ありがとう! 18行目(H18:AE18)に電子メールアドレス(Row 19 {name}& "@ yahoo.com"から派生したもの)が含まれていて、 "yes"または空白記号が20行目にあるとします。 ( "B")を "H"にしますか? –
コードは、SpecialCells(xlCellTypeConstants).Areas内のセルのグループを1つの列にループしています。したがって、データが下のコードで述べた基準を満たしている場合は、列Hでも同様に動作します。 – sktneer