[提高篇第十四回]表格联手二维数组,批量读写一骑绝尘
本节的练习题主要是对【全民一起VBA】中第十四回中所提到的练习题做一解答:练习的题具体在如下的百度网盘中
链接:https://pan.baidu.com/s/1q6URookoh5FFiwZrGcEt9g
提取码:8x2m
本练习是为学习《提高篇》第十三/十四回的同学所设计。请大家编写一个程序,处理除本工作表之外的所有其他工作表,将其中所有数字均乘以 6.9 并显示在原单元格中。要求与提示:
(1)使用第十四回中介绍的数组方式进行读写计算。
(2)每张工作表中数据范围不同,因此建议使用UsedRange确定其范围。
(3)对于读入的动态数组,可以使用UsedRange.Rows.Count和Columns.Count判断数组的大小。此外,也可以使用我们课堂上没有讲解的 Ubound( s,1) 和Ubound(s,2)分别得到s数组第一维(行)和第二维(列)的最大下标值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Sub Tes() Dim sht As Worksheet, s(), b As Long, c As Long, i As Long, j As Long '用于从Range读取内容的数组,必须申明为动态数组,动态数组申明的方法即为:数组名称();而且必须为变体类型 For Each sht In Worksheets If sht.Name <> Worksheets( "sheet1" ).Name Then s = sht.UsedRange b = sht.UsedRange.Rows.Count c = sht.UsedRange.Columns.Count For i = 1 To b For j = 1 To c s(i, j) = s(i, j) * 6.9 Next j Next i sht.UsedRange = s End If Next sht End Sub |
作者:薛定谔的ハチ公
申明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步