excel - 尝试将工作表复制到电子邮件时出现错误
问题描述
我正在尝试自动复制和发送电子邮件。sh.Range("A1:D200" & lr).Select
但是,如果我将200更改为50它可以工作但使用 200 它不起作用,我会在 ( ) 行出现错误。我得到的错误是1004 out of range
.
Option Explicit
Sub Send_Email_With_snapshotDyka()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Dyka PVC")
Dim lr As Integer
lr = sh.Range("A" & Application.Rows.Count).End(xlUp).Row
sh.Range("A1:D200" & lr).Select
With Selection.Parent.MailEnvelope.Item
.to = sh.Range("H3").Value
.Subject = sh.Range("H4").Value
.send
End With
MsgBox "done"
End Sub
解决方案
以下行存在问题:
sh.Range("A1:D200" & lr).Select
发生的情况是您在 (D200) 中填充范围的末尾,然后将 lastrow 的值添加到该范围的末尾。假设 lastrow 为 50,excel 会看到您设置为“D200”和“50”的范围,使其变为“D20050”,这显然不是您想要的。像这样修改该行:
sh.Range("A1:D" & lr).Select
这为您提供了“A1:D”和“50”的范围,使其成为“A1:D50”,这是正确的输出。
推荐阅读
- vue.js - 有没有办法成功地将 Vue Storefront Nuxt 与 SSR 中的 Algolia 搜索路由集成?
- python - Discord.py 从 Json 文件中获取频道名称
- javascript - puppeteer 在尝试抓取 img src 时返回 undefined
- ios - 发表评论后,评论单元格不会自动调整大小
- java - 忽略 SSL 验证 HttpClient / Rest API - Groovy
- javascript - BigCommerce Embedded Checkout NotEmbeddableError:无法嵌入 iframe,因为无法加载内容
- python-3.x - PyQt5 - 如何删除放置在 Tab 小部件周围的默认空字段?
- python - 蟒蛇 | Tkinter:将多个不同的对象移动到一起
- javascript - 是否有打包 Javascript GUI 控件的标准方法?
- typescript - TypeScript 使用枚举类型而不是字符串类型迭代字符串枚举