使用Excel的VBA简单语句处理循环、判断等操作

什么是VBA

VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。


怎么使用Excel的VBA来处理处理重复性问题

Excel本身就自带非常强大的一系列函数,可以处理各种各样的问题.
但是在某些情况下,VBA却更符合处理问题的思想,编写也并不困难


使用VBA

在打开Excel后,使用Alt+F11打开面板


原始数据

使用Excel的VBA简单语句处理循环、判断等操作_第1张图片

这是模拟爬取公司信息其中某一列的节选部分.
可以看到,第一行数据本身显示的应该是"融资上市情况",但是混入了"公司人数"的数据信息
接下来使用VBA语句来过滤掉其中的数据


循环语句

首先打开面板,选中worksheet

使用Excel的VBA简单语句处理循环、判断等操作_第2张图片

右边可以看情况使用,一般使用默认 SelectionChange自动 即可

使用Excel的VBA简单语句处理循环、判断等操作_第3张图片

编写循环语句,将第一列的数据全部复制到第三列(是赋值,并不是使用公式)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
/定义一个整型变量/
Dim i As Integer


/整型变量需要小于32767,如果数字过大,使用Long类型;示例中只有16行,所以定义从1到20行,多余为空没有问题/
For i = 1 To 20


/sheet1表的 i 行的第三列的值=sheet1表的 i 行的第一列的值(右边赋给左边)/
Sheet1.Cells(i, 3) = Sheet1.Cells(i, 1)


/进行下一个循环/
Next
End Sub

Dim i As Integer
	For i = 1 To 20
	Sheet1.Cells(i, 3) = Sheet1.Cells(i, 1)
Next

自动加载,当鼠标点击表任意位置时,就会开始执行语句

判断语句

判断是否3>0,输出一句话
If 3 > 0 Then
	MsgBox "3大于0呀"
End If

使用Excel的VBA简单语句处理循环、判断等操作_第4张图片

循环+判断 结合使用

将第一列值为融资情况的列赋值到第三列

Dim i As Integer
For i = 1 To 20
	/*如果 i 行第一列的值不包含数字 0 ;
	或者说
	如果 i 行第一列的值包含数字 0 的数目为0个*/
    If InStr(Sheet1.Cells(i, 1), "0") = 0 Then
    /*i行第3列的的值为第一列判断为true的值*/
    Sheet1.Cells(i, 3) = Sheet1.Cells(i, 1)
    End If
Next

使用Excel的VBA简单语句处理循环、判断等操作_第5张图片



还有各种各样的语句结合使用,可以实现更多的功能

你可能感兴趣的:(Windows笔记)