排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
数组的创建及回填
数组的创建及回填
VBA语言专家
2021-12-29
519
【分享成果,随喜正能量】一辈子不长,开心是过,不开心也是过。与其把短暂的一生浪费在痛苦哀愁上,不如乐观点,看开点。学会感恩,学会知足,学会快乐,你的人生基调要靠你自己去主导。
《VBA数组与字典方案》教程是我推出的第三套教程,目前已经是第一版修订了。这套教程定位于中级,
字典是VBA的精华
,我要求学员必学。七、三、一套教程掌握后,可以解决大多数工作中遇到的实际问题。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第29讲:数组的创建及回填
第二十九讲 数组的创建方法小结及回填的注意事项
大家好,我们今日继续VBA数组与字典解决方案的讲解,在最近的数组讲解中讲了很多基本的操作和概念,那么VBA数组有哪些创建的方法呢?数组和工作表又是如何对应呢?
1 使用Array函数创建数组
这种方法很简单,如:arr = Array("张一", "徐一", "陈一", "王一")
2 使用Split函数创建数组
Split的作用是把一个文本,根据指定的分隔符,建立一个数组。感觉就有点像EXCEL中的基础操作中的“分列”。不同的是“分列”操作是将一个单元格的文本按指定的分隔符分开,存放在同行的多个单元格里,而Split的作用是将一个文本(也可以是存放在单元格里的)按指定的分隔符分开,存放在一个数组变量里。
如:arr = Split("张一,徐一,陈一,王一,许一,张二,陈二,张三,徐二,张四", ",")
特别注意点:用Split把文本转换成数组,索引号总是从0开始。不管你是否使用了Option Base语句,这点和Array不同。
3 通过Range赋值创建数组
如下面的代码:创建了数组并赋值。
Dim arr(1 To 29)
For i = 1 To 29
arr(i) = Cells(i, 1)
Next
4 直接等于某单元格区域
这个很简单,直接数组名等于单元格区域就可以了。比如想把A1:A100单元格的值给数组arr,代码还可以简单写为:arr = [a1:a20] 。
那么这里的的arr是什么类型的数组呢?大家要注意,这个数组是
二维数组
。
如下代码:
Sub MyNZsz_29() '第29讲 VBA数组的创建方法总结及数组回填到工作表的注意事项
arr = [a1:a20]
Sheets("29").Select
r = 2
For t = LBound(arr) To UBound(arr)
Cells(r, 3) = arr(t)
r = r + 1
Next
End Sub
在运行是会报错:
我们修正代码:
运行:
5 数组回填到工作表的特别注意点
1) 一维数组写入单元格区域时,这个单元格必须是水平方向的,也就是一个一行多列的单元格区域,如果想写入垂直区域,必须使用工作表的Transpose函数转换一下;
2 ) 和工作表的多单元格数组公式一样,数组写入单元格时,单元格的区域必须和数组的大小一致。
今日内容回向:
1 数组的常见创建方法有哪些?
2 如何理解工作赋值给数组是一个二维数组?
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】每个人在这个世界上都是独一无二的,你有你的长处,即便你到现在还一无所知。永远不要丧失自我欣赏的能力。也许你对自己的现状有所不满,但你要相信那是因为你还没找到真正的发力点。不要就此沉沦,不要因此放弃。多尝试,多改变,天生我材必有用。
数据库
文章转载自
VBA语言专家
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨