3.5.2-代码解析:S01_初始化

该过程的实现的功能如下:

1)清空上一次遗留的合格率信息,即清除操作界面工作表A2至C列最大行区域

2)虽然本示例只有3个按钮,但是为了防止重复点击和遗漏点击,每点击一个按钮需要做出提示,即分别在操作界面工作表K2:K4区域记录已点击。在本过程中首先将上一次操作的信息清除掉,即操作界面工作表K2:K4区域清空

3)清空数据缓存工作表

4)第1个按钮点击后在K2单元格写入已点击

代码前面的序号和 | 只是方便记录其代码行数,方便后续写代码说明,真实使用过程中无需序号和前面的 |。

代码如下

1   |Sub S01_初始化()
2   |   ' 清空 工作表操作界面 上次遗留的信息
3   |   Set shtFirst = ThisWorkbook.Worksheets("操作界面")
4   |   maxRow = shtFirst.Cells(Rows.Count, "B").End(xlUp).Row
5   |   If maxRow > 2 Then
6   |       shtFirst.Range("A2:C" & maxRow).ClearContents
7   |   End If
8   |   shtFirst.Range("K2:K4").ClearContents
9   |   
10  |   '清空 工作表数据缓存 所有信息
11  |   Set shtData = ThisWorkbook.Worksheets("数据缓存")
12  |   shtData.Cells.ClearContents
13  |   
14  |   shtFirst.Range("K2") = "已点击"
15  |
16  |End Sub

以上代码的中文解析:

1   |Sub S01_初始化()
2   |   ' 注释
3   |   定义工作表shtFirst,表示操作界面工作表
4   |   获取操作界面工作表B列最大行maxRow
5   |   判断开始:maxRow是否大于2:如果小于2表示该表没有数据,无需操作
6   |       操作界面工作表的A2至C列最大行区域全部清空,删除数据
7   |   判断结束:
8   |   操作界面工作表的K2至K4区域数据全部删除
9   |   
10  |   '注释
11  |   定义工作表shtFirst,表示数据缓存工作表
12  |   清空数据缓存工作表所有数据
13  |   
14  |   操作界面工作表的K2单元格赋值"已点击"
15  |
16  |End Sub

关键代码解读

清空工作表某区域单元格的数据,构成方式:单元格区域.ClearContents,其实从英文释义也可以快速理解为清空内容。关于单元格区域本Sub中有两种方式,如下所示

  • shtFirst.Range(“A2:C” & maxRow).ClearContents

  • shtData.Cells.ClearContents

第一种是明确单元格区域Range(“A2:C” & maxRow),这种方式其实就是指定一个矩形的左上角和右下角,如图3-17所示。选择单元格区域A2至C11矩形区域,只需指定左上角及右下角位置即可

第二种指的是全表,使用表.Cells即可。


../_images/3-17.png

图3-17 单元格区域表示