zhang-7z 2021-07-16 16:53 采纳率: 33.3%
浏览 38

使用GetObject函数获取Workbook对象操作单元格报错下标越界

名字确定没写错,我用MsgBox测试了下,Analysis.Sheets(1).Name输出的是sheet1,Analysis.Sheets(2).Name报下标越界,说明这句代码没操作Analysis对象指向的Workbook,而是本模块代码所在的Excel文件,求解惑

img

  • 写回答

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对象。

    希望这样能解决您的问题,如有任何疑问,请随时追问!

    评论

报告相同问题?

问题事件

  • 创建了问题 7月16日

悬赏问题

  • ¥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