VBA实验内容答案(ZUCC版)
第一次实验
l 掌握在EXCEL工作簿中录制“宏”和使用“宏”
l 掌握在VBA环境中查看已录制“宏”并达到修改,从而增加“宏”的功能,了解单元格的内部格式(Interior.ColorIndex,Font.)
l 在VBA环境中通过“宏”编写小程序
l 掌握自定义过程和函数在EXCEL中的应用
1.参照例1.1录制“宏”、使用“宏”、观察“宏”。运行以下程序:
Sub 填充颜色()
Dim k As Integer, c As String
For k = 1 To 56
c = \
Range(c).Select
Selection.Interior.ColorIndex = k
Next k
End Sub
注:与ColorIndex属性相关的对象有Border、Borders(四条边)、Font和Interior。
2.在A1:A10输入相同的字,如“ZUCC”,编写程序设置它们的字体大小,A1设置为10磅,以后每个加2磅。
Sub 改变字体大小()
Dim k As Integer, c As String
For k = 1 To 10
c = \
Range(c).Select
With Selection.Font
.Size = 10 + 2 * k
End With
Next k
End Sub
3.编写“宏”用MsgBox和Debug.Print输出“我开始用VBA写程序了!”
4.参照文件VBA实验(1)中的例子,由任课教师指定两题,编写相应的程序。
5.建立好友信息表,编写程序由身份证号码确定好友的生日。
第二次实验
l 了解并掌握VBA的编程环境
l 初步认识VBAProject对象
l 掌握EXCEL的工作簿、工作表、单元格、区域。
l 掌握EXCEL的工作簿、工作表、单元格、区域的选中。
l 调用EXCEL函数,WorkSheetFunction(Min,Max,Average等)
l 输入输出函数
1.调用VB的RND和INT函数,在A列的1—10行输入序号1—10,在B列的1—10行填入0—1之间的随机数,在C列的1—10行填入两位正整数,最后在C列的11行求出该列的最大数(调用EXCEL的内部MAX函数)。以上要求均用程序实现。
2.用Inputbox()函数输入10个数,放入单元格A1:A10,在C列输出其中超过平均数的数和个数。
3.编程序,打印九九乘法表如下。
Sub jiujiu()
Dim i As Integer, j As Integer
For i = 1 To 9
Cells(1, i + 1).Value = i
Cells(i + 1, 1).Value = i
Next i
Rows(1).Font.Bold = True
Rows(1).HorizontalAlignment = xlCenter
Columns(1).Font.Bold = True
Columns(1).HorizontalAlignment = xlCenter
For i = 1 To 9
For j = i To 9
Cells(i + 1, j + 1).Value = i * j
Next j
Next i
End Sub
4.随机产生10个6—100之间的偶数,对每个数进行哥德巴赫猜想(Goldbach Conjecture)验证。
Function IsPrime(ByVal n As Integer) As Boolean
Dim k As Integer
IsPrime = True
For k = 2 To n - 1
If n Mod k = 0 Then
IsPrime = False
Exit For
End If
Next k
End Function
Sub Goldbach()
Dim i As Integer, a As Integer, n As Integer
On Error Resume Next
Worksheets(1).Activate
Randomize
For i = 1 To 10
Cells(i + 1, 1) = (Int(Rnd * 48) + 3) * 2
Next i
For i = 1 To 10
n = Cells(i + 1, 1).Value
For a = 3 To n / 2 Step 2
If IsPrime(a) And IsPrime(n - a) Then
Cells(i + 1, 2) = a
Cells(i + 1, 3) = n - a
Exit For
End If
Next a
Next i
On Error GoTo 0
End Sub
5.参照文件VBA实验(1)中的例子,由任课教师指定两题,编写相应的程序。
第三次实验
l 掌握EXCEL的“窗体”控件和“控件工具箱”控件,并能建立相联的程序代码
l 掌握EXCEL的自定义工具栏
l 编写去掉重复数(讲义P25,范例1)
1.在工作表1上创建“窗体”按钮并建立与之相关的“宏”,编写代码完成:从键盘输入一个整数n,输出如下图形。其中每个“*”在单元格中水平和垂直方向都要求居中。
Sub paint()
Dim n As Integer, i As Integer, j As Integer
n = InputBox(\输入行数\
Worksheets(1).Cells.ClearContents
For i = 1 To n
For j = 1 To 2 * i - 1
Cells(i, n - i + j).Value = \
Next j