Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA发送带有特定列的电子邮件_Vba_Excel - Fatal编程技术网

VBA发送带有特定列的电子邮件

VBA发送带有特定列的电子邮件,vba,excel,Vba,Excel,我有一个excel列表,我想做一个按钮,使用模板在列表中发送电子邮件,目标电子邮件地址在K列,但我只想在a列显示“是”时发送 我编写了一个脚本来循环我想要的每一行,看看a列是否有“是”,如果是,则引用另一个宏 但是我被另一个宏卡住了,我不能指定.to=K列 下面是查找列A是否有YES的循环脚本: sub agreement2 () dim startrow as integer startrow = 9 dim mylastrow3 as integer lastrow3 = activeshe

我有一个excel列表,我想做一个按钮,使用模板在列表中发送电子邮件,目标电子邮件地址在K列,但我只想在a列显示“是”时发送

我编写了一个脚本来循环我想要的每一行,看看a列是否有“是”,如果是,则引用另一个宏

但是我被另一个宏卡住了,我不能指定.to=K列

下面是查找列A是否有YES的循环脚本:

sub agreement2 ()
dim startrow as integer
startrow = 9
dim mylastrow3 as integer
lastrow3 = activesheet.cells(rows.count, 1).end(xlup).row
dim i as integer

for i = 9 to lastrow3
if (cells(i, 1).value = "YES") then
send_letter
end if
end sub 
这是我的寄信稿

Sub send_letter()

Dim Subject
Dim Body
Dim otlapp As Object
Dim olMail2 As Object
Dim ws As Object


Set otlapp = CreateObject("Outlook.Application")
Set olMail2 = otlapp.CreateItemFromTemplate("\\cpadm001.corp.ocalwa.com\clk\DEPT\CLKDEPT6\IMT\SAO\SSC\Team\Team1\New Joiner Script\agreement.oft")
Set doc2 = olMail2.GetInspector.WordEditor
Set ws = ThisWorkbook.Worksheets("Send Letters")

vTemplateBody2 = olMail2.HTMLBody
Subject2 = "Agreement Letter"
HTMLBody2 = vTemplateBody2


With olMail2
.To = ????????????????.Value
.Subject = Subject2
Set WrdRng = doc2.Range
WrdRng.Paste
.Send

End With

 End Sub
有人能帮我处理K专栏的事吗。非常感谢你


  • send_-letter
    更改为
    send_-letter(r)
  • 将呼叫从
    send_letter
    更改为
    send_letter i
  • 您的最终代码将是:
    .To=单元格(r,“K”)。值

  • send_letter
    更改为
    send_letter(r)
    并更改呼叫:
    send_letter i
    。您的代码将是:
    .To=Cells(r,“K”).Value
    谢谢,它的作品……我将把它推广为答案:)