vba基础打卡3

来源:互联网 发布:大数据比赛 编辑:程序博客网 时间:2024/05/17 22:41

1、变量赋值

Sub test()
   Dim i人数 As Integer
   Dim i考试成绩() As Integer
   Dim i As Integer
   i人数 = InputBox("输入学生的人数:")
   ReDim Preserve i考试成绩(i人数)
   For i = 1 To i人数
       i考试成绩(i) = InputBox("输入考试成绩" & i)
   Next
End Sub

2、使用 Select 和 Activate 操作同一张工作表时,二者实现的功能一样,都是将单个工作表选中或激活。区别在于 Select 可以同时选取多张工作表,而 Activate 只能设置一个工作表为活动状态,例如使用“Worksheet.Select”语句选取所有工作表,但只有 Sheet1 为活动工作表。而“Worksheets.Activate”则是错误的语句,在运行时会弹出显示「编译错误」的信息提示。如果用 Select方法选定单元格,应注意 Select方法仅用于活动工作表。如果从模块中运行 Sub 过程,必须先在该过程中激活工作表,然后才能用 Select方法选定单元格区域,否则该方法将失败。

3、如何在vba编辑器上设置 worksheet.Active("激活")?
4、If Application.InputBox("请输入操作权限密码:") = 123 Then

              Range("A1").Select

              Else

              MsgBox "密码错误,即将退出!"

               Sheets("普通文档").Select

         End If

5、设置文字白色,Sheets("机密文档").Cells.Font.ColorIndex = 2

6、 Range 的属性 CurrentRegion 来返回 Range 对象,该对象代表当前区。(当前区指以任意空白行及空白列的组合为边界的区域)。

7、求平均, AverageValue=Application.WorksheetFunction.Average(Worksheets(1).Range(″ A1:A1000″))  

8、尽量减少使用对象引用,尤其在循环中 每一个Excel 对象的属性、方法的调用都需要通过 OLE 接口的一个或多个调用。

   如1)使用 With 语句 2)使用对象变量  如果一个对象引用被多次使用,则你可以将此对象用 Set 设置为对象变量,以 减少对对象的访问。在循环中要尽量减少对象的访问   3) 减少对象的激活和选择 

 Sheets(″Sheet3″).Select  

Range(″A1″).Value = 100  

Range(″A2″).Value = 200   可改为:

With Sheets(″Sheet3″)   

    .Range(″A1″).Value = 100   

     .Range(″A2″).Value = 200  

End With  

4)关闭屏幕更新   Application.ScreenUpdate = False   请不要忘记VBA 程序运行结束时再将该值改回来:   Application.ScreenUpdate = True