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

什么是VBA

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


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

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


使用VBA

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


原始数据

在这里插入图片描述

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


循环语句

首先打开面板,选中worksheet

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

循环+判断 结合使用

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

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

在这里插入图片描述



还有各种各样的语句结合使用,可以实现更多的功能
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值