EXCEL中宏 方法作用于对象失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL中宏 方法作用于对象失败相关的知识,希望对你有一定的参考价值。
参考技术A 正好我也遇到了同样的问题还好自己解决了
不妨麻烦一点在每行Chart4.SeriesCollection(1).Values
=的前后都加上ActiveChart.SeriesCollection.NewSeries最后是这样的
ChartTitle
=
"Firebox"
Chart4.SeriesCollection.NewSeries
Chart4.SeriesCollection(1).Values
=
"='27'!RiC2:RiC15"
Chart4.SeriesCollection(1).Name
=
"='27'!RiC1"
Chart4.SeriesCollection.NewSeries
Chart4.SeriesCollection(2).Values
=
"='27'!RiC2:RiC15"
Chart4.SeriesCollection(2).Name
=
"='27'!RiC1"
Chart4.SeriesCollection.NewSeries
..........
因为
这里的series类的默认值是2而且不能改所以只能开新的serie类了请注意activchart是根据你的图表所在表的名称要一致 参考技术B 不知道怎么解决,但是你说的“可以排除文件本身和代码原因”是错误的,因为最明显的你excel版本不一样,相同的代码在不同版本中的兼容性不能完全保证的
错误代码80028018的恰好是“老的格式或者非法类型库”,你是不是把excel
2007的文件拿到2010用才出错?在2010格式下用新文件试试?
old
format
or
invalid
type
library.
(exception
from
hresult:
0x80028018
(type_e_invdataread))
VBA 方法range作用于对象_worksheet时失败
If Cells(i, 5) = Cells(i + 1, 5) Then Sheet1.Range(Cells(i, 3), Cells(i, 5)).Copy: _
Sheets("Sheet" & 3 + sheetag).Cells(i - Tag, 1).PasteSpecial Paste:=xlPasteValues
如果是创建的宏(非个人宏工作簿),语句可以正常执行。但是一旦保存为个人宏工作簿就会有方法range作用于对象_worksheet时失败的错误提示。请高人指点。
把这句改成 下面的试试
If Cells(i, 5) = Cells(i + 1, 5) Then Sheet1.Range(Sheet1.Cells(i, 3), Sheet1.Cells(i, 5)).Copy追问
改成你提供的语句可以执行了,请问原因是出错在哪里呢?
追答原因我没研究过,个人经验,当你用range(cell(),cell()) 这样的形式的时候,如果cells() 的两个参数有变量的时候,前面加上cells() 的父对象就不会出错。
本回答被提问者和网友采纳以上是关于EXCEL中宏 方法作用于对象失败的主要内容,如果未能解决你的问题,请参考以下文章
VB 打开Excel 提示 对象 “Open” 方法“workbook” 失败