代码之家  ›  专栏  ›  技术社区  ›  Mauro

在vba的另一个工作簿页上粘贴值时出现问题

  •  2
  • Mauro  · 技术社区  · 7 年前

    我有以下代码,可以从工作簿中复制一张工作表,并将其粘贴到另一个名为“Control\u de\u precios”的工作簿的工作表1上:

    Sub createSpreadSheet()
    
    Set NewBook = Workbooks.Add
    With NewBook
        .Title = "Control_precios_ddmmaaaa"
        .Subject = "Control_de_precios"
        .SaveAs Filename:="Control_precios_ddmmaaaa.xls"
    End With
    
    ThisWorkbook.Worksheets(1).Activate
    Cells.Select
    Selection.Copy
    NewBook.Sheets(1).Activate
    ActiveSheet(1).PasteSpecial xlPasteValues
    
    End Sub
    

    问题是,我得到了438错误,因为最后一条指令,我无法将值粘贴到我的新工作簿上。如果我将其更改为:

    ActiveSheet(1).Paste

    有人能帮我吗?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Pavel_V    7 年前

    在活动表后添加范围引用。当我这样做的时候,它是有效的。 ActiveSheet.Range("A1").PasteSpecial xlPasteValues

        2
  •  1
  •   Yura    7 年前

    Selection.PasteSpecial xlPasteValues
    

    ActiveSheet(1).PasteSpecial xlPasteValues