vba - 运行时错误 - 438

标签 vba excel

我有以下代码,我试图在同一工作簿中将数据从一张表复制到另一张表。当我运行代码时,我得到运行时错误 -438

Sub Copy()

Sheets("Sheet1").Range("A1:D20").Copy

Sheets("Sheet2").Activate

Range("E1").Select

ActiveSheet.Paste

Application.CutCopyMode = False

End Sub

最佳答案

试试下面的代码。您不应依赖激活和选择。

Sub ZCopy()
    Sheets("Sheet1").Range("A1:D20").Copy
    Sheets("Sheet1").Paste Destination:=Worksheets("Sheet2").Range("E1")
    Application.CutCopyMode = False
End Sub

有趣的读物
  • MSDN
  • How to avoid using Select in Excel VBA macros
  • 关于vba - 运行时错误 - 438,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29516768/

    相关文章:

    excel - 如何判断单元格是否存在于另一个 Google 表格上

    java - 如何使用java编写基于Excel的csv文件?

    VBA Excel-Access 3251 运行时错误

    sql-server - 强制 MS Access 检索所有列表框行并释放锁定

    excel - 将重复条目与 Excel 中的唯一数据合并

    php - Laravel 验证器和 excel 文件错误

    vba - 在 Excel 中使用 QueryTables 导入带引号换行符的 csv

    vba - 如何从Application.Path获取UNC路径?

    vba - 使用 VBA 将 Outlook 类别分配给 MailItem 时遇到问题

    vba - 如何在 Excel VBA 中的子例程之间传递范围变量