首页 > 解决方案 > 在单元格中使用内部颜色来选择要存储在字符串中的电子邮件地址

问题描述

在 A10 到 A14 范围内有名称。这些名称都有一个特定的电子邮件地址,如下面的代码所示。A10 = a,A11 = b,A12 = c 等等。姓名和电子邮件地址当然是伪造的。

我想遍历单元格 A10 到 A14,如果单元格的内部颜色是代码 43,则将电子邮件地址存储在变量“namen”中。所以如果我点击 A10 和 A12 字符串 a 和 c 应该在“namen”中。

现在它只在我的电子邮件收件人中显示字符串 a。

Sub mailen()
Dim a As String
Dim b As String
Dim c As String
Dim namen As String
Dim inhoud As String

a = "brrr@hotmail.com;"
b = "grrr@hotmail.com;"
c = "crrr@hotmail.com.com;"

If Range("A10").Cells.Interior.ColorIndex = 43 Then
    namen = a
ElseIf Range("A10").Cells.Interior.ColorIndex = 43 And Range("A11").Cells.Interior.ColorIndex = 43 Then
    namen = a & b
Else: MsgBox "Geen namen geselecteerd"
End If

With CreateObject("Outlook.Application").createitem(0)
    inhoud = "Hoi Vincent"
    .to = namen
    .Subject = "Test"
    .body = inhoud
    .attachments.Add ThisWorkbook.FullName
    .display
End With
End Sub

标签: excelvbaloopsif-statement

解决方案


像这样的东西?

Sub mailen()

Dim namen As String
Dim r As Range

For Each r In Range("A10:A14")
    If r.Interior.ColorIndex = 43 Then
        namen = namen & r
    End If
Next r

msgbox namen

End Sub

推荐阅读