【问题标题】:Excel vba selection.copy destination does not paste properlyExcel vba selection.copy 目标无法正确粘贴
【发布时间】:2017-04-21 04:50:57
【问题描述】:

基本上我想创建一个新工作簿并从已打开的工作簿(文件名)中复制一些数据并将其粘贴到新工作簿中。我有以下 vba 代码:

Workbooks.Add
Set new_wb = ActiveWorkbook
Workbooks(Filename).Worksheets("pivot").Range("A28").Activate
ActiveCell.CurrentRegion.Select
Selection.Copy Destination:=new_wb.Worksheets("Sheet1").Range("B2")

但是,我没有看到粘贴到新工作簿中的任何内容。因此,我想知道我是否做错了什么。任何见解将不胜感激。谢谢!

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    避免使用SelectActivate

    Workbooks.Add
    Set new_wb = ActiveWorkbook
    Workbooks(Filename).Worksheets("pivot").Range("A28").CurrentRegion.Copy Destination:=new_wb.Worksheets("Sheet1").Range("B2")
    

    【讨论】:

    • 谢谢,这段代码完美运行。你介意解释一下我的代码到底哪里出错了吗?
    • AFAIK,您无法激活非活动工作簿中的单元格,所以我真的希望您的代码会在 Range("A28").Activate 上崩溃。假设该行没有以某种方式使您的代码崩溃(也许您有一个On Error Resume Next,您没有在问题中提及?),活动单元格仍将在新工作簿中,因此您试图复制空白单元格.
    • 哦,是的,我有一个On Error Resume Next。现在我知道我错在哪里了,谢谢你的解释!
    猜你喜欢
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多