本节的练习题主要是对【全民一起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