[提高篇第十四回]表格联手二维数组,批量读写一骑绝尘

本节的练习题主要是对【全民一起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数组第一维(行)和第二维(列)的最大下标值。

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
              
申明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/lsyb-python/p/11156061.html