excel - VBA,ThisWorkbook 对象不支持属性或方法

标签 excel vba

我正在尝试从一个工作簿复制到另一个工作簿。我首先打开工作簿 B 并尝试复制到工作簿 A。但是我收到错误 Object doesnt support this property or method在线ThisWorkbook.Sheets("BusinessDetails").Range("C4").Paste不应该 ThisWorkbook引用运行代码的工作簿和模块?我在这里想念什么?
谢谢。

  Sub Update()
    
    Dim FilePath As String
    Dim fname As Variant
    Dim myPath As String
    Dim Source As Workbook
    
    
    Application.DisplayAlerts = False
    
    
    LastRowclear = WorksheetFunction.Max(Sheets("BusinessDetails").Cells(Rows.Count, "AF").End(xlUp).Row)
    Worksheets("BusinessDetails").Range("C4:AF" & LastRowclear).Clear
    myPath = "sample path"
    fname = Dir(myPath & "Business_Level_Report*")
    
    Set Source = Workbooks.Open(myPath & fname)
    With Source
    .Activate
    LastRow = WorksheetFunction.Max(Sheets("BusinessDetails").Cells(Rows.Count, "AE").End(xlUp).Row)
    Source.Sheets(1).Range("B4:AE" & LastRow).Copy
    End With
    
    ThisWorkbook.Sheets("BusinessDetails").Range("C4").Paste
    
    Workbooks(fname).Close savechanges:=False
    
    End Sub

最佳答案

没有Range.Paste方法。问题与ThisWorkbook无关.
我会使用 Destination Range.Copy的参数:

Source.Sheets(1).Range("B4:AE" & LastRow).Copy _
    Destination:=ThisWorkbook.Sheets("BusinessDetails").Range("C4")
虽然你也可以使用 Range.PasteSpecialxlPasteAll .

关于excel - VBA,ThisWorkbook 对象不支持属性或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64103589/

相关文章:

vba - 如何从与 vba 中相同的单元格返回值?

Excel:如果数字以选项中的值开头,则显示选项列表中的值

excel - VBA 将文件复制为不同的文件扩展名

Excel (2007) VBA - .Formula 包含引号

excel - 对非连续单元格的平均公式使用 (r, c) 格式

excel - 要求用户使用 MATLAB 从 EXCEL 中选择所需的数据范围

excel - VBA excel 可以调用 API DataRoboot 吗?

ms-access - 如何为保存的 Excel 导入指定不同的文件路径

ms-access - 如何从表中获取自增字段名?

Excel VBA 自动化错误 : The object invoked has disconnected from its clients