名字确定没写错,我用MsgBox测试了下,Analysis.Sheets(1).Name输出的是sheet1,Analysis.Sheets(2).Name报下标越界,说明这句代码没操作Analysis对象指向的Workbook,而是本模块代码所在的Excel文件,求解惑
1条回答 默认 最新
- milaoshu1020 2023-03-28 14:31关注
该回答引用ChatGPT;
如果您使用GetObject函数获取已经打开的Workbook对象,并且该Workbook对象并不是活动工作簿,那么在操作该Workbook对象中的Sheet对象时需要显式地指定Worksheet所在的Index或者Name,否则会出现下标越界错误。以下是示例代码,通过GetObject方式获取名为"test.xls"的Workbook对象,并操作其中的Sheet1:
Sub Test() Dim wb As Workbook, ws As Worksheet Set wb = GetObject("C:\test.xls") Set ws = wb.Sheets("Sheet1") '或者使用ws = wb.Sheets(1) ws.Range("A1").Value = "Hello" End Sub
在上述示例代码中,我们直接将ObjectName参数传入文件的全路径名称,这样即可获取已经打开的部分或全部Excel文件的Workbook对象。
希望这样能解决您的问题,如有任何疑问,请随时追问!
解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?
- ¥15 c++头文件不能识别CDialog