电子邮件到arraysVBA
下面的代码完全适用于我所需要的,除了我想要的.To
从“A1”开始的特定工作表“电子邮件列表”中的数组。 我从这些代码中添加或减去的所有内容只会导致代码停止。 任何帮助是真正的赞赏。
Dim AWorksheet As Worksheet Dim Sendrng As Range Dim rng As Range On Error GoTo StopMacro With Application .ScreenUpdating = False .EnableEvents = False End With Set Sendrng = Worksheets("Daily Notes").Range("A1:M67") Set AWorksheet = ActiveSheet With Sendrng .Parent.Select Set rng = ActiveCell .Select ActiveWorkbook.EnvelopeVisible = True With .Parent.MailEnvelope .Introduction = "Daily Notes *ad items are in bold*" With .Item .To = "" .CC = "" .BCC = "" .Subject = "Daily Notes" .Send End With End With rng.Select End With AWorksheet.Select StopMacro: With Application .ScreenUpdating = True .EnableEvents = True End With ActiveWorkbook.EnvelopeVisible = False End Sub
所以,如果你重新提出你的问题,这是这样的:
如何获取Excel中的一个范围内的值,以“;”分隔的string?
假设你的值在“A1:D1”的范围内。 那么,如果你介绍下面的function:
Public Function GetArrayToString(myRange As Range) As String Dim cnt As Range For Each cnt In myRange GetArrayToString = GetArrayToString & cnt & ";" Next cnt End Function
你会得到像value1; value2; value3; value4
这样的value1; value2; value3; value4
value1; value2; value3; value4
value1; value2; value3; value4
。 这是如何在你的代码中引用它:
.To = GetArrayToString(Worksheets("TheSpecialOneAkaMrM").Range("A1:D1"))