Excel VBA编程 典型实例——复制工作表

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(\

& & & & & & & & & & &

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4