小编Oll*_*206的帖子

使用VBA从Excel构建电子邮件,当地址重复时合并电子邮件正文

首先,我对VBA非常陌生。仍在学习,所以我可能会犯一些明显的错误。

我正在尝试使用Excel电子表格构建电子邮件,该电子表格是我从中提取信息以填充电子邮件的“收件人”,“主题”和“正文”的内容。这些将用于销售人员为他们的客户查看信息。我需要每封电子邮件都基于客户,并发送给相应的销售代表。一些客户拥有多条信息,而其他客户则拥有多个信息,而某些销售人员则拥有重叠的客户。

我发现并一直在尝试编辑的代码(据我所知)是根据电子邮件地址构建电子邮件。因此,我最后收到一封电子邮件,在“收件人”行中有一个销售人员,并且该正文具有专门针对该销售人员的所有客户。同时,主题行仅吸引电子邮件打算显示的一位客户。

在这方面的任何帮助将是天赐之物。我试图将4-6小时的工作量减少到1小时以下。

每当我尝试更改代码以使其基于客户而不是电子邮件地址时,我要么最终破坏代码,要么不构建电子邮件,而是以某种方式将过滤器应用于电子表格,以过滤出与在更改之前正在查看电子邮件。

我觉得可能需要更多的信息,因为我发现这比看起来要复杂得多,但这可能是我在思考问题。我试图将这篇文章限制为仅提供相关信息,但是如果我需要提供更多信息,我当然会。我已经为此动了好几个星期。

我尝试了各种If And / Then语句来尝试使代码在“客户”列而不是“电子邮件”列中显示,但是我找不到任何有效的组合。我在下面发布的代码已在一定程度上设法使我工作。由于我已经尝试了许多变体,所以我不知道要包括的最佳错误是什么。因此希望这至少不会太混乱。

*编辑:代码要求在A列中有一列名称,据我所知,这是“为此名称使用B列中的地址创建电子邮件”的条件。但是,这似乎是在使用B列中的地址作为条件来创建电子邮件。因此,A中任何与B中的地址匹配的客户行都被投到同一封电子邮件中。我有点需要反过来。列A中每位客户的一封电子邮件发送到列B中列出的电子邮件地址。

Edit2:源信息看起来像这样:

+----------------+---------------------+---------+--------------+
|     Customer   |       Email         | Subj Ln |  Email Body  |
+----------------+---------------------+---------+--------------+
| Customer 1     | sales1@address.com  | info    |     info     |
| Customer 2     | sales2@address.com  | info    |     info     |
| Customer 2     | sales2@address.com  | info    |     info     |
| Customer 2     | sales2@address.com  | info    |     info     |
| Customer 3     | sales2@address.com  | info    |     info     |
| Customer 4     | sales3@address.com …
Run Code Online (Sandbox Code Playgroud)

excel vba

5
推荐指数
0
解决办法
492
查看次数

标签 统计

excel ×1

vba ×1