BB平台(VB日常测试)VBA

更新时间:2024-06-17 14:59:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

问题 1

将Sheet1中的一行复制到 Sheet2 上。

得 0 分,满分 20 分

正确答案

Sub RowCopy() 1.

Worksheets(\ 2.

所选答案 - [未给定] - [未给定] - [未给定]

Worksheets(\ 3.

Worksheets(\ - [未给定] 4.

Worksheets(\ 5.

End Sub 6.

- [未给定] - [未给定]

得 0 分,满分 20 分

问题 2

将A1到C6中大于等于3的数依次放入E列。

正确答案

Private Sub CommandButton1_Click()

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim i As Long, iRng As Range

2. 3.

If iRng.Value >= 3 Then

For Each iRng In Sheets(1).Range(\

4.

i = i + 1

5.

Sheets(1).Range(\6. iRng.Value

End If

7.

Next

8.

End Sub

9.

问题 3

用工作表函数计算Sheet1上位于A1~A100单元格区域中的、值大于等于10

且小于等于20的单元格数目。

正确答案

Sub a1020()

所选答案 [未- 给定] [未- 给定] [未- 给

定]

1.

Set iRang =

Worksheets(\ 2.

With Application.WorksheetFunction

3.

result = .Countif(iRange, \- .Countif [未(iRange, \ 4. - 给

定]

End With

5.

MsgBox result End Sub 6.

[未

- 给定] [未- 给定]

得 0 分,满分 20 分

问题 4

在sheet1上存放了“文具采购表” (见下图),其中单价需从Sheet2中的“单价表”查询得到(见下图),并以此计算出合计金额。要求自编一个函数实现单价的查询。

正确答案

1. Public Function price(x As String) As

Integer 2. Dim i As Integer 3. With Worksheets(2) 4. For i = 2 To 6

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定]

5. If x = .Cells(i, 1) Then 6. price = .Cells(i, 2) 7. Exit For 8. End If 9. Next i

End With

[未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

10.

End Function

11.

问题 5

使用 Min 工作表函数求出单元格区域“A1:C10”中的最小值并用MsgBox输

出。

正确答案

Sub amin()

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

1.

Dim answer As Single, myR As Range

2.

Set myR =

3. Worksheets(\ answer =

4. Application.WorksheetFunction.Min(myR)

MsgBox answer

5.

End Sub

6.

问题 1 得 0 分,满分 20 分

使用 Min 工作表函数求出单元格区域“A1:C10”中的最小值并用MsgBox输

出。

正确答案

Sub amin()

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim answer As Single, myR As Range

2.

Set myR =

3. Worksheets(\ answer =

4. Application.WorksheetFunction.Min(myR)

MsgBox answer

5.

End Sub

6.

问题 2

在工作表1上创建“控件工具箱”命令按钮“产生数据”(CommandButton1)和“判断”(CommandButton2)。 单击“产生数据”按钮完成在A1:A10上产生两位随机正整数;单击“判断”按钮完成将其中重复数用红色标注。

正确答案

所选答案

1. Private Sub CommandButton1_Click() - [未给定] 2. Dim i As Integer 3. ActiveSheet.Cells.Clear

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

4. For i = 1 To 10

5. Cells(i, 1) = Int(Rnd * 90) + 10 6. Next i 7. End Sub

Private Sub CommandButton2_Click()

8. Dim i As Integer, j As Integer 9. For i = 1 To 9

For j = i + 1 To 10

If Cells(i, 1) = Cells(j, 1) Then - [未给定] 10.

Cells(j, 1).Font.Color = vbRed 11. End If 12. Next j 13.

Next i End Sub 14.

- [未给定] - [未给定] - [未给定] - [未给定]

问题 3 得 0 分,满分 20 分

随机产生10个6—100之间的偶数,对每个数进行哥德巴赫猜想(Goldbach

Conjecture)验证。其中判断一个整数是否为素数用以下Prime函数。 Function Prime(x As Integer) As Boolean Dim i As Integer Prime = True For i = 2 To x - 1 If x Mod i = 0 Then

Prime = False Exit For

End If Next i

End Function

正确答案

1. Sub Goldbach()

i As Integer, a As Integer, b As Integer 2. Dim

所选答案 [未给

- 定] [未给- 定]

[未给

3. ActiveSheet.Cells.Clear

Cells(1, 1) = \的偶数\Cells(1, 2) = \第一个素数\ Cells(1, 3) = \第二个素数\

- 定]

4. For i = 1 To 10 5. Next i

[未给

Cells(i + 1, 1) = (Int(Rnd * 48) + 3) * 2 - 定]

[未给- 定] [未给- 定] [未给- 定]

6. For i = 2 To 11

7. For a = 3 To Cells(i, 1) / 2

Prime(a) And Prime(Cells(i, 1) - a) Then [未给8. If

- 定]

9. Cells(i, 2) = a

Cells(i, 3) = Cells(i, 1) - a Exit For

[未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

10.

End If

11.

Next a 12. Next i

End Sub

13.

问题 4

正确答案 1. Sub a32() 2. Dim rng As Range

在范围C1:H26的所有单元格中,显示各自的列号与行号。

所选答案 - [未给定] - [未给定]

3. Set rng = ActiveSheet.Range(”C1:H26”) - [未给定] 4. With rng

5. For i = 1 To .Columns.Count 6. For j = 1 To .Rows.Count

7. .Cells(j, i).Value = j & \

- [未给定] - [未给定] - [未给定] - [未给定]

8. Next j

Next i 9. End With

End Sub 10.

- [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

问题 5

正确答案

Sub RngCells()

将单元格区域 A1:D10所有绝对值小于10的数字都设置为红色。

所选答

案 [未- 给定] [未- 给定]

1.

Dim c As Range

2.

For Each c In [未Worksheets(\ - 给3.

定]

If Abs(c.Value) < 10 Then c.Font.ColorIndex = [未3 4. - 给

定]

Next

5.

End Sub

[未

- 给定] [未- 给定]

6.

问题 1

设置为10磅,以后每个加2磅。

得 0 分,满分 20 分

在A1:A10输入相同的字,如“ZUCC”,编写程序设置它们的字体大小,A1

正确答案 所选答案

1. Sub 改变字体大小() - [未给定]

2. Dim k As Integer, c As String - [未给定] 3. For k = 1 To 10 4. c = \ 5. Range(c).Select 6. With Selection.Font 7. .Size = 10 + 2 * k 8. End With 9. Next k

End Sub 10.

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

问题 2

假设单元格“B100”为合计数所在的单元格,要求工作簿关闭前,必须填入

合计数,否则不允许关闭。

正确答案

Sub WorkBook_BeforeClose(Cancel as

1. Boolean)

If Range(\

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

2.

Cancel = True

3.

MsgBox \合计数不能为空,不允许关闭! \

4.

EndIf

5.

End Sub

6.

问题 3

在工作表1上创建“窗体”按钮并建立与之相关的“宏”,编写代码完成:从键盘输入一个整数n,输出如下图之图形。其中每个“*”要加粗,并在单元格中水平和垂直方向居中。

正确答案

Sub 按钮1_单击()

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

1. 2.

Worksheets(1).Activate 3. ActiveSheet.Cells.Clear

n = InputBox(\输入一个整数\ For i = 1 To n

Dim n As Integer, i As Integer, j As Integer

4.

For j = 1 To 2 * i - 1

5.

Cells(i, n - i + j) = \[未给6. Cells(i, n - i + j).Font.Bold = True - 定]

Cells(i, n - i + j).VerticalAlignment = xlCenter

Cells(i, n - i + j).HorizontalAlignment = xlCenter

Next j

7.

Next i

[未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

8.

End Sub

9.

问题 4

正确答案 1. Sub a32() 2. Dim rng As Range

在范围C1:H26的所有单元格中,显示各自的列号与行号。

所选答案 - [未给定] - [未给定]

3. Set rng = ActiveSheet.Range(”C1:H26”) - [未给定] 4. With rng

5. For i = 1 To .Columns.Count 6. For j = 1 To .Rows.Count

7. .Cells(j, i).Value = j & \

- [未给定] - [未给定] - [未给定] - [未给定]

8. Next j

Next i 9. End With

End Sub 10.

- [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

问题 5

本例在Sheet1上的单元格区域 A1:D10中进行循环。如果这些单元格中的

值小于0.001,则将其值替换为0(零)。

正确答案

Sub Zero1()

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

1.

Dim c As Range

2.

For Each c in

3. Worksheets(\

If c.Value < .001 Then

4.

c.Value = 0

5.

End If

6.

Next c

7.

End Sub

8.

问题 1 得 0 分,满分 20 分

在工作表1上创建“控件工具箱”命令按钮“产生数据”(CommandButton1)和“判断”(CommandButton2)。 单击“产生数据”按钮完成在A1:A10上产生两位随机正整数;单击“判断”按钮完成将其中重复数用红色标注。

正确答案

所选答案

1. Private Sub CommandButton1_Click() - [未给定] 2. Dim i As Integer 3. ActiveSheet.Cells.Clear 4. For i = 1 To 10

5. Cells(i, 1) = Int(Rnd * 90) + 10 6. Next i 7. End Sub

Private Sub CommandButton2_Click()

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

8. Dim i As Integer, j As Integer 9. For i = 1 To 9

For j = i + 1 To 10

If Cells(i, 1) = Cells(j, 1) Then - [未给定] 10.

Cells(j, 1).Font.Color = vbRed 11. End If 12. Next j 13.

Next i End Sub 14.

- [未给定] - [未给定] - [未给定] - [未给定] 得 0 分,满分 20 分

问题 2

正确答案

Sub SumbyCol()

对当前工作表整个区域,按每一列求和,并把结果添加在每列的最后。

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

1.

Dim Rng As Range

2.

For Each Rng In

3. ActiveSheet.UsedRange.Columns Rng.Cells(Rng.Cells.Count + 1) = 4. WorksheetFunction.Sum(Rng)

Next Rng

5.

End Sub

6.

问题 3

在工作表中显示九九乘法表。

得 0 分,满分 20 分

正确答案

1. Sub Table99()

所选答案 [未给- 定]

2. Range(\= Array(1, 2, 3, 4, 5, [未给

6, 7, 8, 9) - 定] 3. Range(\

[未给

- 定]

4. Range(\[未给

True - 定] 5. Application.CutCopyMode = False

[未给

- 定] [未给 - 定] [未给- 定]

6. For i = 1 To 9 7. For j = 1 To 9

8. Cells(i + 1, j + 1) = i & \[未给

* j - 定] 9. Next j

Next i

[未给

- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

10.

End Sub

11.

问题 4

正确答案 1. Sub a32()

在范围C1:H26的所有单元格中,显示各自的列号与行号。

所选答案 - [未给定] - [未给定]

2. Dim rng As Range

3. Set rng = ActiveSheet.Range(”C1:H26”) - [未给定] 4. With rng

- [未给定]

5. For i = 1 To .Columns.Count 6. For j = 1 To .Rows.Count

7. .Cells(j, i).Value = j & \ 8. Next j

Next i 9. End With

End Sub 10.

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

问题 5

在工作表1上创建“窗体”按钮并建立与之相关的“宏”,编写代码完成:从

键盘输入一个整数n,输出如下图之图形。其中每个“*”要加粗,并在单元格中水平和垂直方向居中。

正确答案

Sub 按钮1_单击()

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

1. 2.

Worksheets(1).Activate 3. ActiveSheet.Cells.Clear

n = InputBox(\输入一个整数\

Dim n As Integer, i As Integer, j As Integer

For i = 1 To n

4.

For j = 1 To 2 * i - 1

5.

Cells(i, n - i + j) = \[未给6. Cells(i, n - i + j).Font.Bold = True - 定]

Cells(i, n - i + j).VerticalAlignment = xlCenter

Cells(i, n - i + j).HorizontalAlignment = xlCenter

Next j

7.

Next i

[未给- 定] [未给- 定]

8.

End Sub

9.

[未给- 定]

问题 1

正确答案

Sub RngCells()

得 0 分,满分 20 分

将单元格区域 A1:D10所有绝对值小于10的数字都设置为红色。

所选答案 [未- 给定] [未- 给定] [未- 给

定] [未- 给定] [未- 给定] [未- 给定]

得 0 分,满分 20 分

1.

Dim c As Range

2.

For Each c In

Worksheets(\ 3.

If Abs(c.Value) < 10 Then c.Font.ColorIndex = 3

4.

Next

5.

End Sub

6.

问题 2

正确答案

Sub Off() 1.

将相对于“C2”单元格偏移1行、3列的单元格加边框。

所选答案 - [未给定] - [未给定]

Cells(2, 3).Activate 2.

With ActiveCell.Offset(1, 3).Borders - [未给定] 3.

.LineStyle = xlContinuous 4.

.Weight = xlThin .ColorIndex = 5 End With 5.

End Sub 6.

- [未给定]

- [未给定] - [未给定] 得 0 分,满分 20 分

问题 3

在A列的1—10行填入两位随机正整数,最后在A列的11行求出该列的最大

数(不能调用MAX函数)。

正确答案

1. Sub maxint()

所选答案 [未给

- 定]

i As Integer, c As String, m As Integer [未给2. Dim

- 定]

3. For i = 1 To 10 4. c = \

Range(c) = Int(Rnd * 90) + 10

[未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

5. Next i

m = Range(\

6. For i = 2 To 10 7. c = \

8. If Range(c) > m Then m = Range(c) 9. Next i

Range(\

10.

End Sub

11.

问题 4

在范围C1:H26的所有单元格中,显示各自的列号与行号。

正确答案 1. Sub a32() 2. Dim rng As Range

所选答案 - [未给定] - [未给定]

3. Set rng = ActiveSheet.Range(”C1:H26”) - [未给定] 4. With rng

5. For i = 1 To .Columns.Count 6. For j = 1 To .Rows.Count

7. .Cells(j, i).Value = j & \ 8. Next j

Next i 9. End With

End Sub 10.

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

问题 5

用Excel工作表制作一个会议签到单。当每个与会人员报道时,在其姓名右

边的单元格单击鼠标,自动填入当前日期和时间。

正确答案

所选答案

Private Sub Worksheet_SelectionChange(ByVal [未给1. Target As Range) - 定]

Dim r As Integer, c As Integer

2.

[未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

r = Target.Row ’获取行号 3. c = Target.Column ’获取列号

If c = 2 And r > 1 Then

4.

Target.Value = Format(Now, \5. hh:mm:ss\

End If

6.

End Sub

7.

问题 1

利用工作表函数求和并用消息框输出。

得 0 分,满分 20 分

正确答案

Sub Arg2()

所选答案 [未- 给定] [未- 给

定]

1.

Range(\

2.

MsgBox Prompt:= \

[未

WorksheetFunction.Sum(Selection),Title:= \求和\ 3. - 给

定]

End Sub

4.

[未- 给定]

得 0 分,满分 20 分

问题 2

在A列的1—10行填入两位随机正整数,最后在A列的11行求出该列的最大

数(不能调用MAX函数)。

正确答案

1. Sub maxint()

所选答案 [未给

- 定]

i As Integer, c As String, m As Integer [未给2. Dim

- 定]

3. For i = 1 To 10 4. c = \

Range(c) = Int(Rnd * 90) + 10

[未给- 定] [未给- 定] [未给- 定]

5. Next i

m = Range(\

6. For i = 2 To 10 7. c = \

8. If Range(c) > m Then m = Range(c) 9. Next i

Range(\

[未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

10.

End Sub

11.

问题 3

模仿Excel的条件格式设置,对工作表Sheet1的所有单元格,凡数值小于

60的用红颜色显示。

正确答案

Private Sub Cond_Format() 1.

所选答

案 [未- 给定] [未- 给定] [未- 给

定] [未- 给定] [未- 给定] [未- 给定] [未

Dim i As Long, j As Long 2.

For i = Sheet1.UsedRange.Row To 3.

Sheet1.UsedRange.Row +

Sheet1.UsedRange.Rows.Count - 1 For j = Sheet1.UsedRange.Column To 4.

Sheet1.UsedRange.Column +

Sheet1.UsedRange.Columns.Count - 1 If Cells(i,j).Value < 60 Then 5.

Cells(i,j).Font.Color = GRB(255, 0, 0) 6.

End If 7.

- 给定]

Next j 8.

[未

- 给定] [未- 给定] [未- 给定]

得 0 分,满分 20 分

Next i 9.

End Sub

10.

问题 4

本例在Sheet1上的单元格区域 A1:D10中进行循环。如果这些单元格中的

值小于0.001,则将其值替换为0(零)。

正确答案

Sub Zero1()

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim c As Range

2.

For Each c in

3. Worksheets(\

If c.Value < .001 Then

4.

c.Value = 0

5.

End If

6.

Next c

7.

End Sub

8.

问题 5

将A1到C6中大于等于3的数依次放入E列。

正确答案 所选答案

Private Sub CommandButton1_Click()

1.

Dim i As Long, iRng As Range

[未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

2. 3.

If iRng.Value >= 3 Then

For Each iRng In Sheets(1).Range(\

4.

i = i + 1

5.

Sheets(1).Range(\6. iRng.Value

End If

7.

Next

8.

End Sub

9.

问题 1

正确答案

Sub RngCells()

得 0 分,满分 20 分

将单元格区域 A1:D10所有绝对值小于10的数字都设置为红色。

所选答案 [未- 给定] [未- 给定] [未- 给

1.

Dim c As Range

2.

For Each c In

Worksheets(\ 3.

定]

If Abs(c.Value) < 10 Then c.Font.ColorIndex = 3

4.

Next

[未- 给定] [未- 给定] [未- 给定]

5.

End Sub

6.

问题 2

设置为10磅,以后每个加2磅。

得 0 分,满分 20 分

在A1:A10输入相同的字,如“ZUCC”,编写程序设置它们的字体大小,A1

正确答案

1. Sub 改变字体大小()

所选答案 - [未给定]

2. Dim k As Integer, c As String - [未给定] 3. For k = 1 To 10 4. c = \

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

5. Range(c).Select 6. With Selection.Font 7. .Size = 10 + 2 * k 8. End With 9. Next k

End Sub 10.

问题 3

用工作表函数计算Sheet1上位于A1~A100单元格区域中的、值大于等于10

且小于等于20的单元格数目。

正确答案

所选答

案 [未 - 给定]

Sub a1020()

1.

Set iRang =

Worksheets(\ 2.

With Application.WorksheetFunction

[未

- 给定] [未- 给定]

3.

result = .Countif(iRange, \- .Countif [未(iRange, \ 4. - 给

定]

End With

5.

MsgBox result End Sub 6.

[未

- 给定] [未- 给定]

得 0 分,满分 20 分

问题 4

正确答案

Sub SumbyCol()

对当前工作表整个区域,按每一列求和,并把结果添加在每列的最后。

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim Rng As Range

2.

For Each Rng In

3. ActiveSheet.UsedRange.Columns Rng.Cells(Rng.Cells.Count + 1) = 4. WorksheetFunction.Sum(Rng)

Next Rng

5.

End Sub

6.

问题 5

正确答案

在Excel中创建一个设置单元格字体和字号大小的过程。

所选答案 - [未给定]

Public Sub myfs() 1.

With Selection.Font 2.

.Name = \3.

.FontStyle = \ .Size = 16 End With 4.

End sub 5.

- [未给定] - [未给定]

- [未给定] - [未给定]

问题 1 得 0 分,满分 20 分

本例在Sheet1上的单元格区域 A1:D10中进行循环。如果这些单元格中的值

小于0.001,则将其值替换为0(零)。

正确答案

Sub Zero1()

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim c As Range

2.

For Each c in

3. Worksheets(\

If c.Value < .001 Then

4.

c.Value = 0

5.

End If

6.

Next c

7.

End Sub

8.

问题 2

对工作表Sheet1上包含单元格A1的区域(活动区域)进行排序,按第一列中的数据进行排序,并且自动使用标题行(如果存在)。本例假定活动区域(包

含单元格A1)中有数据存在,Sort方法将自动确定活动区域。

正确答案

Sub SortRange2()

所选答案 [- 未给定]

1.

Worksheets(\[

2Key1:=Worksheets(\- 未 . =xlGuess 给

]

End Sub

3.

[- 未给定]

得 0 分,满分 20 分

问题 3

正确答案 1. Sub a32() 2. Dim rng As Range

在范围C1:H26的所有单元格中,显示各自的列号与行号。

所选答案 - [未给定] - [未给定]

3. Set rng = ActiveSheet.Range(”C1:H26”) - [未给定] 4. With rng

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

5. For i = 1 To .Columns.Count 6. For j = 1 To .Rows.Count

7. .Cells(j, i).Value = j & \ 8. Next j

Next i 9. End With

End Sub 10.

问题 4

用工作表函数计算Sheet1上位于A1~A100单元格区域中的、值大于等于10

且小于等于20的单元格数目。

正确答案

Sub a1020()

所选答案 [未- 给定] [未- 给定] [未- 给

定]

1.

Set iRang =

Worksheets(\ 2.

With Application.WorksheetFunction

3.

result = .Countif(iRange, \- .Countif [未(iRange, \ 4. - 给

定]

End With

5.

MsgBox result End Sub 6.

[未

- 给定] [未- 给定]

得 0 分,满分 20 分

问题 5

正确答案

Sub SumbyCol()

对当前工作表整个区域,按每一列求和,并把结果添加在每列的最后。

所选答案 [未给- 定] [未给- 定] [未给 - 定] [未给- 定] [未给- 定] [未给

1.

Dim Rng As Range

2.

For Each Rng In

3. ActiveSheet.UsedRange.Columns Rng.Cells(Rng.Cells.Count + 1) = 4. WorksheetFunction.Sum(Rng)

Next Rng

5.

End Sub

6.

- 定]

问题 1

正确答案

Sub Rannum()

得 0 分,满分 20 分

在Sheet1的A列上产生100个随机整数(小于100)。

所选答案 [未给- 定] [未给- 定]

1.

For i = 1 To 100

2.

Sheets(1).Cells(i, 1).Value = Int( 100 * [未给3. Rnd ) - 定]

Next

4.

End Sub

[未给

- 定] [未给- 定]

得 0 分,满分 20 分

5.

问题 2

在sheet1上存放了“文具采购表” (见下图),其中单价需从Sheet2中的“单价表”查询得到(见下图),并以此计算出合计金额。要求自编一个函数实现单价的查询。

正确答案

1. Public Function price(x As String) As

Integer

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定]

[未给

2. Dim i As Integer 3. With Worksheets(2) 4. For i = 2 To 6

5. If x = .Cells(i, 1) Then

- 定]

6. price = .Cells(i, 2) 7. Exit For 8. End If 9. Next i

End With

[未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

10.

End Function

11.

问题 3

创建一个计算折扣率的函数,产品总值1至500元的折扣为0%,500至1000

元的折扣为10%,1000至2000元的折扣为20%,2000元以上的折扣为30%。

正确答案

1. Public Function zk(x As Integer) As

Single 2. If x <= 500 Then 3. zk = 0

ElseIf x <= 1000 Then

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

[未给

4. zk = 0.1

5. ElseIf x <= 2000 Then 6. zk = 0.2 7. Else 8. zk = 0.3 9. EndIf

- 定]

End Function

10.

[未给- 定]

得 0 分,满分 20 分

问题 4

正确答案

Sub Font_Set()

将工作表Sheet1中单元格区域 A1:D5 的字体设置为楷体并加粗。

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim rg As Range

2.

Set rg = Sheets(”Sheet1”).Range(”A1:D5”)

3.

rg.Font.Name = ”楷体_GB2312” 4. rg.Font.Bold = True

End Sub

5.

问题 5

在工作表中显示九九乘法表。

正确答案

1. Sub Table99()

所选答案 [未给- 定]

2. Range(\= Array(1, 2, 3, 4, 5, [未给

6, 7, 8, 9) - 定] 3. Range(\

[未给

- 定]

4. Range(\[未给

True - 定] 5. Application.CutCopyMode = False 6. For i = 1 To 9 7. For j = 1 To 9

[未给

- 定] [未给- 定] [未给- 定]

8. Cells(i + 1, j + 1) = i & \[未给

* j - 定] 9. Next j

Next i

[未给

- 定] [未给- 定] [未给- 定]

10.

End Sub

11.

问题 1 得 0 分,满分 20 分

参见下图中的学生成绩表,遍历5门课的所有成绩,凡是低于60分的,用红色显示(不能用条件格式,只能用程序实现)。

正确答案

1. Sub markred()

所选答案 - [未给定]

2. Dim i As Integer, j As Integer - [未给定] 3. Worksheets(1).Activate

- [未给定] - [未给定] - [未给定] - [未给定]

4. For j = 5 To 9 5. For i = 3 To 24

6. If Cells(i, j) < 60 Then

7. Cells(i, j).Font.Color = vbRed - [未给定] 8. End If 9. Next j

Next i

End Sub 10.

- [未给定] - [未给定] - [未给定]

得 0 分,满分 20 分

问题 2

用MsgBox输出(遍历)工作簿的所有工作表名。

正确答案 所选答案

Sub tra() 1.

Dim ws As Worksheet 2.

For Each ws In Worksheets 3.

- [未给定] - [未给定] - [未给定]

MsgBox \工作表名是:\ - [未给定] 4. Next 5.

End Sub 6.

- [未给定] - [未给定]

得 0 分,满分 20 分

问题 3

创建一个计算折扣率的函数,产品总值1至500元的折扣为0%,500至1000

元的折扣为10%,1000至2000元的折扣为20%,2000元以上的折扣为30%。

正确答案

1. Public Function zk(x As Integer) As

Single 2. If x <= 500 Then 3. zk = 0

ElseIf x <= 1000 Then

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

4. zk = 0.1

5. ElseIf x <= 2000 Then 6. zk = 0.2 7. Else 8. zk = 0.3 9. EndIf

End Function

10.

问题 4

本例在Sheet1上的单元格区域 A1:D10中进行循环。如果这些单元格中的

值小于0.001,则将其值替换为0(零)。

正确答案

Sub Zero1()

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim c As Range

2.

For Each c in

3. Worksheets(\

If c.Value < .001 Then

4.

c.Value = 0

5.

End If

6.

Next c

7.

End Sub

8.

问题 5

对工作表Sheet1上包含单元格A1的区域(活动区域)进行排序,按第一列中的数据进行排序,并且自动使用标题行(如果存在)。本例假定活动区域(包

含单元格A1)中有数据存在,Sort方法将自动确定活动区域。

正确答案

Sub SortRange2()

所选答案 [- 未给定]

1.

Worksheets(\[2Key1:=Worksheets(\- 未. =xlGuess 给

]

End Sub

3

[- 未

.

给定]

问题 1 得 0 分,满分 20 分

模仿Excel的条件格式设置,对工作表Sheet1的所有单元格,凡数值小于

60的用红颜色显示。

正确答案

Private Sub Cond_Format() 1.

所选答

案 [未- 给定] [未- 给定] [未- 给定] [未- 给

定] [未- 给定] [未- 给定] [未- 给定] [未- 给定]

Dim i As Long, j As Long 2.

For i = Sheet1.UsedRange.Row To 3.

Sheet1.UsedRange.Row +

Sheet1.UsedRange.Rows.Count - 1 For j = Sheet1.UsedRange.Column To 4.

Sheet1.UsedRange.Column +

Sheet1.UsedRange.Columns.Count - 1 If Cells(i,j).Value < 60 Then 5.

Cells(i,j).Font.Color = GRB(255, 0, 0) 6.

End If 7.

Next j 8.

Next i 9.

[未

- 给定] [未- 给定]

得 0 分,满分 20 分

End Sub

10.

问题 2

本例在Sheet1上的单元格区域 A1:D10中进行循环。如果这些单元格中的

值小于0.001,则将其值替换为0(零)。

正确答案

Sub Zero1()

所选答案 [未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

1.

Dim c As Range

2.

For Each c in

3. Worksheets(\

If c.Value < .001 Then

4.

c.Value = 0

5.

End If

6.

Next c

7.

End Sub

8.

问题 3

正确答案

Public Sub myfs() 1.

在Excel中创建一个设置单元格字体和字号大小的过程。

所选答案 - [未给定] - [未给定] - [未给定]

With Selection.Font 2.

.Name = \3.

.FontStyle = \ .Size = 16

End With 4.

End sub 5.

- [未给定] - [未给定]

得 0 分,满分 20 分

问题 4

正确答案

Sub RngCells()

将单元格区域 A1:D10所有绝对值小于10的数字都设置为红色。

所选答

案 [未- 给定] [未- 给定]

1.

Dim c As Range

2.

For Each c In [未Worksheets(\ - 给3.

定]

If Abs(c.Value) < 10 Then c.Font.ColorIndex = [未3 4. - 给

定]

Next

5.

End Sub

[未

- 给定] [未- 给定]

得 0 分,满分 20 分

6.

问题 5

在工作表1上创建“窗体”按钮并建立与之相关的“宏”,编写代码完成:从键盘输入一个整数n,输出如下图之图形。其中每个“*”要加粗,并在单元格中水平和垂直方向居中。

正确答案

Sub 按钮1_单击()

所选答案 [未给- 定] [未给- 定]

1. 2.

Dim n As Integer, i As Integer, j As Integer

Worksheets(1).Activate 3. ActiveSheet.Cells.Clear

n = InputBox(\输入一个整数\ For i = 1 To n

[未给- 定] [未给- 定] [未给- 定]

4.

For j = 1 To 2 * i - 1

5.

Cells(i, n - i + j) = \[未给6. Cells(i, n - i + j).Font.Bold = True - 定]

Cells(i, n - i + j).VerticalAlignment = xlCenter

Cells(i, n - i + j).HorizontalAlignment = xlCenter

Next j

7.

Next i

[未给- 定] [未给- 定] [未给- 定]

8.

End Sub

9.

问题 1

正确答案

Sub SumbyCol()

得 0 分,满分 20 分

对当前工作表整个区域,按每一列求和,并把结果添加在每列的最后。

所选答案 [未给- 定] [未给- 定] [未给- 定] [未给- 定]

1.

Dim Rng As Range

2. 3.

Rng.Cells(Rng.Cells.Count + 1) = 4. WorksheetFunction.Sum(Rng)

For Each Rng In ActiveSheet.UsedRange.Columns

Next Rng

5.

End Sub

[未给- 定] [未给- 定]

得 0 分,满分 20 分

6.

问题 2

在工作表1上创建“控件工具箱”命令按钮“产生数据”(CommandButton1)和“判断”(CommandButton2)。 单击“产生数据”按钮完成在A1:A10上产生两位随机正整数;单击“判断”按钮完成将其中重复数用红色标注。

正确答案

所选答案

1. Private Sub CommandButton1_Click() - [未给定] 2. Dim i As Integer 3. ActiveSheet.Cells.Clear 4. For i = 1 To 10

5. Cells(i, 1) = Int(Rnd * 90) + 10 6. Next i

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

7. End Sub

Private Sub CommandButton2_Click()

8. Dim i As Integer, j As Integer 9. For i = 1 To 9

For j = i + 1 To 10

- [未给定] - [未给定]

If Cells(i, 1) = Cells(j, 1) Then - [未给定] 10.

Cells(j, 1).Font.Color = vbRed 11. End If 12. Next j 13.

Next i End Sub 14.

- [未给定] - [未给定] - [未给定] - [未给定]

问题 3

利用工作表函数求和并用消息框输出。

得 0 分,满分 20 分

正确答案

所选答

Sub Arg2()

1.

Range(\

[未- 给定] [未- 给定] [未- 给定] [未- 给定]

得 0 分,满分 20 分

2.

MsgBox Prompt:= \

WorksheetFunction.Sum(Selection),Title:= \求3.

和\

End Sub

4.

问题 4

正确答案

Sub RngCells()

将单元格区域 A1:D10所有绝对值小于10的数字都设置为红色。

所选答案 [未- 给定] [未- 给定]

1.

Dim c As Range

2.

For Each c In [未Worksheets(\ - 给3.

定]

If Abs(c.Value) < 10 Then c.Font.ColorIndex = [未3 4. - 给

定]

Next

5.

End Sub

[未

- 给定] [未- 给定]

得 0 分,满分 20 分

6.

问题 5

将Sheet1中的一行复制到 Sheet2 上。

正确答案

Sub RowCopy() 1.

Worksheets(\ 2.

Worksheets(\ 3.

所选答案 - [未给定] - [未给定] - [未给定]

Worksheets(\ - [未给定] 4.

Worksheets(\ 5.

End Sub 6.

- [未给定] - [未给定]

问题 1 得 0 分,满分 20 分

在Excel表中统计学生各区段的成绩(数据与结果如下图所示)。

正确答案

1. Private Sub CommandButton1_Click() 2. Dim c As Range

3. Range(\

所选答案 - [未给定] - [未给定] - [未给定]

4. For Each c In Range(\ - [未给定] 5. Select Case c

- [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定] - [未给定]

6. Case Is >= 90 7. col = 2

Case Is >= 80

8. col = 3

Case Is >= 70

9. col = 4

Case Is >= 60 col = 5 10.

Case Else 11.

col = 6 12.

End Select 13.

Cells(15, col) = Cells(15, col) + 1 14. Next 15.

End Sub 16.

- [未给定] - [未给定] - [未给定] - [未给定] 得 0 分,满分 20 分

问题 2

用Excel工作表制作一个会议签到单。当每个与会人员报道时,在其姓名右边的单元格单击鼠标,自动填入当前日期和时间。

正确答案

所选答案

Private Sub Worksheet_SelectionChange(ByVal [未给1. Target As Range) - 定]

Dim r As Integer, c As Integer

2.

[未给

- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

得 0 分,满分 20 分

r = Target.Row ’获取行号 3. c = Target.Column ’获取列号

If c = 2 And r > 1 Then

4.

Target.Value = Format(Now, \5. hh:mm:ss\

End If

6.

End Sub

7.

问题 3

编写程序,在工作表上打印九九乘法表如下。

正确答案

所选答案 [未给- 定] [未给- 定]

1. Sub print99()

2. Dim i As Integer, j As Integer

3. ActiveSheet.Cells.Clear 4. For i = 1 To 9 5. Cells(1, i + 1) = i

Cells(i + 1, 1) = i 6. Next i 7. For i = 1 To 9

For j = i To 9

8. Cells(i + 1, j + 1) = i * j 9. Next j

Next i

10. Range(\

Range(\xlCenter

Range(\

Range(\xlCenter

End Sub

[未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定] [未给- 定]

11.

[未给- 定]

得 0 分,满分 20 分

问题 4

正确答案

Sub Run_it()

在Excel中实现定时提醒,在上午8点45分显示一个提醒信息。

所选答案 [未- 给定] [未 - 给定] [未- 给定]

1.

Application.OnTime

2. TimeValue(\

End Sub

3. Sub Show_me()

本文来源:https://www.bwwdw.com/article/u5k3.html

Top