news 2026/6/15 22:48:48

在VBA中-读取Range(“A1:C10“).Value得到数组你弄明白了吗?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在VBA中-读取Range(“A1:C10“).Value得到数组你弄明白了吗?

在 VBA 中,当你通过Range("A1:C10").Value将单元格区域的值赋值给一个变量时,返回的数组索引始终从 1 开始,与Option Base的设置无关。以下是具体说明和注意事项:

1.索引规则

  • 工作表数据数组的索引固定为 1 起点

    当使用Range.Value获取工作表区域的值时,返回的是一个二维数组(Variant类型),其行和列索引均从1 开始。例如:

    Dim obj As Variant ' 需用 Variant 类型接收数组 obj = Range("A1:C10").Value ' 访问第一行第一列(即 A1 单元格) MsgBox obj(1, 1) ' 索引 (1,1),不是 (0,0)

2.变量类型需用Variant

  • Object类型无法直接存储数组

    你的代码中声明obj As Object会导致错误。因为Range.Value返回的是Variant数组,必须用Variant类型接收:

    ' 正确写法 Dim obj As Variant obj = Range("A1:C10").Value

3.边界验证方法

  • 推荐使用LBoundUBound

    为确保代码兼容性,建议通过函数动态获取数组边界:

    Dim rowStart As Long, colStart As Long rowStart = LBound(obj, 1) ' 第一维索引起点(行) colStart = LBound(obj, 2) ' 第二维索引起点(列) MsgBox "行索引从 " & rowStart & " 开始" ' 输出 1

4.与其他数据类型的对比

数据类型

索引起点

是否可调整

工作表数组(Range.Value

固定为 1

普通数组(Array()

依赖Option Base

是(0 或 1)

集合(Collection

固定为 1

5.常见错误

  • 索引越界(Subscript out of range)

    若尝试用obj(0, 0)访问数据会报错,因索引有效范围是obj(1 To 10, 1 To 3)

  • 类型声明错误

    使用As Object代替As Variant会导致运行时错误 "类型不匹配"。

总结

结论Range.Value返回的数组索引固定从 1 开始,不受Option Base影响。

正确操作

  • Variant类型变量接收数据;

  • 通过LBound/UBound获取边界;

  • 始终从索引1开始访问元素。

⚠️ 注意:若需处理动态区域或避免硬编码索引,可结合ResizeOffset方法调整范围引用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:49:33

嵌入式工控开发中no stlink delected核心要点

以下是对您提供的技术博文进行 深度润色与结构化重构后的专业级技术文章 。全文已彻底去除AI生成痕迹,强化了工程师视角的实战逻辑、真实排障语境与产线思维,并融合嵌入式系统教学博主常用的“讲人话挖细节给套路”风格。所有技术点均严格依据ST官方文…

作者头像 李华
网站建设 2026/6/15 12:55:57

3步实现家用NAS自由:普通人的黑群晖部署指南

3步实现家用NAS自由:普通人的黑群晖部署指南 【免费下载链接】rr Redpill Recovery (arpl-i18n) 项目地址: https://gitcode.com/gh_mirrors/rr2/rr NAS部署、家用服务器搭建和数据存储方案正成为越来越多家庭用户的刚需。然而传统的部署方式往往让技术新手望…

作者头像 李华
网站建设 2026/6/15 19:34:22

SeqGPT-560M制造业维修工单:故障现象/原因分析/更换部件/维修时间

SeqGPT-560M制造业维修工单:故障现象/原因分析/更换部件/维修时间 1. 这不是聊天机器人,是产线边的“维修文书助理” 你有没有见过这样的场景: 维修师傅刚从车间回来,手里攥着一张皱巴巴的手写工单——字迹潦草、术语混杂、关键…

作者头像 李华
网站建设 2026/6/15 16:01:51

多版本IDE环境下STLink识别异常对比:STM32开发者的避坑指南

以下是对您提供的技术博文进行深度润色与系统性重构后的终稿。全文已彻底去除AI生成痕迹,语言更贴近一线嵌入式工程师的表达习惯——有经验、有温度、有细节,同时逻辑更严密、结构更自然、重点更突出。文中所有技术判断均基于真实开发场景和官方文档交叉…

作者头像 李华
网站建设 2026/6/15 14:58:18

YOLOv12官版镜像实测:精度40.6mAP,速度仅1.6ms太强了

YOLOv12官版镜像实测:精度40.6mAP,速度仅1.6ms太强了 你有没有试过在T4显卡上跑一个目标检测模型,推理耗时不到2毫秒,同时在COCO val2017上拿下40.6%的mAP?不是实验室里的理想数据,不是FP32精度下的理论峰…

作者头像 李华