首先,我对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)