Excel之VBA的使用

发布时间 2023-12-30 19:20:05作者: 罗毅豪

VBA是Excel中使用的一种语言,对Excel的功能进行了增强。

定义一个简单的VBA过程示例如下:

Sub Fun()
  MsgBox "Fun"
End Sub

我们可以在Excel通过录制宏,编辑VBA代码,然后查看宏,执行代码。

使用示例如下:

1.使用Worksheets、Range和Value设置某张工作表某个单元格的值

Sub SetName()
    Worksheets("Sheet1").Range("A4").Value = "小明"
End Sub

2.使用Font.Size修改某张工作表某个单元格的字体大小

Sub SetFontSize()
    Worksheets("Sheet1").Range("A4").Font.Size = 20
End Sub

3.通过End(xlDown)可往下移动到某列的最后一个单元格,使用Offset(row,column)可移动单元格位置

Sub AddNewRecord()
    Range("A1").End(xlDown).Offset(1, 0).Select
    Selection.Value = "小锋"
    Selection.Offset(0, 1) = 100
End Sub

4.通过InputBox输入和MsgBox提示

Sub AddNewRecord()
    Name = InputBox("请输入名字")
    performance = InputBox("请输入绩效")
    Range("D6").End(xlDown).Offset(1, 0).Select
    Selection.Value = Name
    Selection.Offset(0, 1).Value = performance
    MsgBox ("输入成功")
End Sub

5.通过Debug.Print可在立即窗口打印调试信息,可使用循环进行操作

Sub AddNewRecord()
    y = Range("D6").End(xlDown).Row
    Debug.Print (y)
    For x = 7 To y
        Range("E" & x).Value = 500
    Next
End Sub

6.可以通过Dim对变量进行声明,从而对输入内容进行校验

Sub AddNewRecord()
    Dim Name As String, performance As Integer
    Name = InputBox("请输入名字")
    performance = InputBox("请输入绩效")
    Range("D6").End(xlDown).Offset(1, 0).Select
    Selection.Value = Name
    Selection.Offset(0, 1).Value = performance
    MsgBox ("输入成功")
End Sub

7.使用If-Then-Else-End If实现分支

Sub CalcPrize()
    y = Range("D6").End(xlDown).Row
    For x = 7 To y
        If Range("E" & x).Value >= 2000 Then
            Range("F" & x).Value = 10000
        Else
            Range("F" & x).Value = 0
        End If
    Next
End Sub