【问题标题】:Simple Excel VBA – copy pasting to another workbook简单的 Excel VBA – 复制粘贴到另一个工作簿
【发布时间】:2016-05-26 22:26:28
【问题描述】:

我查看了一些关于从一个 Excel 工作簿复制粘贴到另一个工作簿的代码。出于某种原因,即使我直接复制格式也会出错。到目前为止,我的代码只有大约 12 行,所以如果你能看看问题是什么,那对我来说真的很有帮助。非常感谢!

Sub UpdateActualWorkbook()

    Sheets("Input").Select
    Range("BE9").Select
    Selection.Copy

    Dim Display As String
    Display = Cells(1, 2).Value

    If Display = "Yes" Then

    Dim wb As Workbook
    Set wb = Workbooks.Open("Book1")
    wb.Sheets("Sheet1").Range("A1").PasteSpecial

End If
End Sub

目前我在 wb.Sheets("Sheet1").Range("A1").PasteSpecial 上收到一条错误消息 ^这条线。无论我将其设为 .Paste 还是 .Pastespecial,这都不会改变。

如果有人能帮助我,我将不胜感激。非常感谢!

【问题讨论】:

  • 你得到什么错误?
  • Workbooks.Open("Book1")?
  • 它给了我错误:“对象不支持此属性或方法。”

标签: vba excel


【解决方案1】:

如果:

Set wb = Workbooks.Open("Book1")

失败,则wb 将变为Nothing 并且PasteSpecial 行将引发错误。如果您只是想添加一个新工作簿,请使用:

Set wb = Workbooks.Add

如果您想打开现有工作簿,请提供完整的文件规范。

【讨论】:

  • 非常感谢!作为更新,我现在有了现有工作簿的文件路径。现在它给了我错误:“对象不支持此属性或方法。”该错误似乎在 wb.Sheets("Sheet1").Range("A1").Paste 中。不过,工作簿确实打开得很好——你对我应该如何处理这个有什么建议吗?
【解决方案2】:

我知道晚了,但试试这个......

Sub tstcpy()
If Cells(1, 2).Value = “yes” Then
Workbooks("Book1a.xlsm").Sheets("Sheet1").Cells(9, 2).Copy _
Destination:=Workbooks("Book2.xlsx").Sheets("Sheet1").Cells(1, 1)
End If

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 2016-10-25
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多