Excel VBA编程 典型实例——复制工作表
某校进行了一次考试,考试成绩按照学生的学号依次输入到Excel工作簿中。后来学校决定从所有的学生中,抽出考分大于500分的学生,进行一次集中学习,然后去参加省某科的知识竞赛。这个过程可使用VBA语句,对学生的成绩进行判断,并将大于500分的学生信息复制到另一个工作表中。
1.练习要点
? 代码 ? 复制 2.操作步骤:
(1)在工作表Sheet1的单元格A列至K列中,输入相应的信息,并设置单元格的格式,如图14-7所示。
图14-7 设置工作表Sheet1
(2)在工作表Sheet2的单元格A列到K列中,输入相应的信息,并设置单元格的格式,如图14-8所示。
图14-8 设置工作表Sheet2
(3)在工作表中,添加【命令按钮(ActiveX控件)】,并设置该按钮的Caption属性
的值为“复制”,如图14-9所示。
右击 输入
图14-9 设置属性
(4)双击【复制】按钮,进入该控件的Click事件【代码】编辑窗口中,并输入实现事件的代码(事件实现将大于500分的学生信息复制到Sheet2中)。如图14-10所示。
事件
图14-10 Sheet1【代码】编辑窗口 代码如下:
Private Sub CommandButton1_Click() Dim i As Integer i = 4
Do While 1
'判断是否到记录尾
If Sheet1.Range(\ Exit Do '退出 Else
x1 = Val(Sheet1.Range(\ x2 = Val(Sheet1.Range(\ x3 = Val(Sheet1.Range(\ x4 = Val(Sheet1.Range(\ x5 = x1 + x2 + x3 + x4 '判断4科成绩 If x5 > 500 Then
copyRange (i) '复制记录过程 End If End If
i = i + 1 Loop End Sub
'复制记录
Sub copyRange(r As Integer) Dim i As Integer i = 3
Do While 1
If Sheet2.Range(\ Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value
Sheet2.Range(\& Trim(Str(i))).Value Trim(Str(r))).Value Exit Do End If i = i + 1 Loop End Sub
= = = = = = = = = = =
Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\Sheet1.Range(\
& & & & & & & & & & &