excel - 从关闭的工作簿中复制变量范围
问题描述
正如标题所说,我正在尝试从已关闭的工作簿中复制变量范围。我收到“对象不支持此属性或方法”错误。这是我的代码:
Sub PadslocReadData()
Application.ScreenUpdating = False
Dim src As Workbook
Dim LastSrcRow As Integer
Dim curWorkbook As Workbook
Set curWorkbook = ThisWorkbook
Set src = Workbooks.Open("\\filename.xls", False, False)
LastSrcRow = src.Cells(Rows.count, "A").End(xlUp).row
curWorkbook.Worksheets("sls").Range("A1:G" & LastSrcRow).Formula =
src.Worksheets("Sheet1").Range("A1:G" & LastSrcRow).Formula
src1.Close False
End Sub
知道我哪里出错了吗?谢谢
编辑:根据评论我更改了一行代码,但现在我收到一个新错误“需要对象”(424)错误。
子 PadslocReadData()
Application.ScreenUpdating = False
Dim source As Workbook
Dim LastSrcRow As Long
Dim curWorkbook As Workbook
Set curWorkbook = ThisWorkbook
Set source = Workbooks.Open("\\filename.xls", False, False)
LastSrcRow = source.Sheets("Sheet1").Cells(Rows.count,
"A").End(xlUp).row
curWorkbook.Worksheets("sls").Range("A1:G" & LastSrcRow).Formula =
source.Worksheets("Sheet1").Range("A1:G" & LastSrcRow).Formula
src1.Close False
结束子
解决方案
你能试试这个代码。根据您的要求更改文件路径和工作表名称
Sub PadslocReadData()
Dim wbtarget, wbsource As Workbook
Dim wstarget, wssource As Worksheet
Dim lastrow As Long
Set wbtarget = ThisWorkbook
Set wstarget = wbtarget.Worksheets("Sheet1")
wstarget.Cells.Clear
'Filepath
Filepath = "C:\test.xlsx"
Set wbsource = Workbooks.Open(Filepath, UpdateLinks:=0)
Set wssource = wbsource.Worksheets("sheet1")
lastrow = wssource.Cells(wssource.Rows.Count, "A").End(xlUp).Row
wstarget.Range("A1:G" & lastrow).Formula = wssource.Range("A1:G" & lastrow).Formula
wbsource.Close savechanges:=False
End Sub
推荐阅读
- ruby-on-rails - 如何使用 Asset API 通过 shopify_api gem ruby on rails 访问液体文件
- javascript - 为什么这种处理数组的方式不是最优的?
- javascript - 删除选择不工作的禁用属性
- java - 如何使用windows批处理文件一个一个启动spring boot jar文件?
- node.js - NodeJS - 从函数返回对象会覆盖该对象的先前声明
- ruby-on-rails - Rails - 意外 =>,期待关键字结束 - Savon
- java - 使用 JGit 获取一系列修订的日志
- python - 在 Jupyter Notebook 中让 Ipywidgets 与 Pandas 数据框交互
- typescript - 检查值是否为 2 或 4
- flutter - 将数据传递给 StatefulWidget 并在 Flutter 中以它的状态访问它