excel - 如何修复此代码中的“Error438:对象不支持此属性或方法”?
问题描述
我明白了
错误 438:当我尝试从一个工作簿粘贴到另一个工作簿时,对象不支持此属性或方法。语法错了吗?
Sub ImportScen()
Dim ALMscen As Workbook
Set ALMscen = ActiveWorkbook
Dim Wrkbk as Workbook
Set Wrkbk = Workbooks.Add
Wrkbk.SaveAs Filename:=filepath & "\" & file_name & ".xlsx"
ALMscen.Range(Cells(firstrow, 6), Cells(lastrow, 15)).Copy _
Destination:=Wrkbk.Worksheets("Sheet1").Range("E2")
'Error occurs on these two previous lines
Wrkbk.Worksheets("Sheet1").Range(Cells(2, 15), Cells(numscen * 115 + 1, 15)).Value = 0
ALMscen.Range(.Cells(firstrow, 16), Cells(lastrow, 23)).Copy _
Destination:=Wrkbk.Worksheets("Sheet1").Range("P2")
'Error occurs on these two previous lines
ALMscen.Range(Cells(firstrow, 25), Cells(lastrow, 34)).Copy _
Destination:=Wrkbk.Worksheets("Sheet1").Range("X2")
'Error occurs on these two previous lines
Wrkbk.Worksheets("Sheet1").Range(Cells(2, 34), Cells(numscen * 115 + 1, 34)).Value = 0
Wrkbk.Worksheets("Sheet1").Range(Cells(2, 35), Cells(numscen * 115 + 1, 35)).Value = 20
Wrkbk.Worksheets("Sheet1").Range(Cells(2, 36), Cells(numscen * 115 + 1, 36)).Value = 95
解决方案
试试这个:
ALMscen.Worksheets(1).Range(Cells(firstrow, 6), Cells(lastrow, 15)).Copy _
Destination:=Wrkbk.Worksheets("Sheet1").Range("E2")
其中:Sheet(1) 是工作簿的原始工作表,也可以这样调用工作表Sheet("_sheetname_")
。其中sheetname是工作表的实际名称。
Mor info
在这里你做对了,Wrkbk.Worksheets("Sheet1").Range(Cells(2, 34), Cells(numscen * 115 + 1, 34)).Value = 0
因为你在集合中调用了一个对象。
看:一个工作簿包含工作表,如果你想调用任何工作表,你需要尊重我看到你的顺序
Wrkbk.Worksheets("Sheet1").Range(Cells(2, 34), Cells(numscen * 115 + 1, 34)).Value = 0
推荐阅读
- python - 用粗体字写出字符串到excel
- qt - 是否可以为 QMLExtensionPlugin 制作 GoogleTest?
- python - Python:为什么 if 语句不会检测变量是大于还是小于 80?
- sql - oracle sql错误:插入blob格式的图片
- python - Flask_Pymongo:如何找到集合?
- fortran - Fortran 中可移植到空流的输出
- docker - Spark 应用程序控制台日志未记录到日志文件
- amazon-web-services - 为什么我将 aws polly 的输出描述为 gibrish?
- ssl-certificate - Traefik - 多个子域的 TLS 证书不起作用
- ios - 条件编译以检查我是否正在构建模块或应用程序