首页 > 解决方案 > Excel Vb 向多个收件人发送电子邮件

问题描述

我有此代码,可将电子邮件发送给一个收件人。我有一张包含三个收件人的表格。

我尝试将代码更改为XLUp.value XLDown.value并更改范围并尝试了范围名称。这些都不起作用。

这部分代码似乎不起作用

Dim SendTo As String
Dim BuildAddy As Integer
' Sheets("Emails").Select

'For BuildAddy = 1 To Range("A1048000").End(xlUp).Row ' ie the last value in the column

For BuildAddy = 1 To Range("A1:A").End(xlUp).Row   ' ie the last value in the column
    SendTo = SendTo & Range("A1:A" & BuildAddy).Value & ";" ' at least I think it's a ;.  It might be a ,
Next BuildAddy

.To = SendTo
.To = Sheets("Emails").Range("A1:A").Value ' <-- Put email of the recipient here

标签: excelvba

解决方案


Range("A1:A")不是有效地址,因为最后的行号丢失。

它应该是……</p>

Range("A" & Rows.Count).End(xlUp).Row

因此应该是

SendTo = SendTo & Range("A" & BuildAddy).Value & ";"

此外,您应该为所有Range(…)工作表指定范围。就像Worksheets("Emails").Range(…)否则 Excel 无法知道这一点。


推荐阅读