咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公
  • 系统环境:Windows 10
  • Excel:2010版本


综合之前的三篇,在一个小示例中应用三大对象,三大结构



Part 1:示例介绍

  1. 假设工作表“举例”,A列有一组数据,1-10,如果A列某行数字小于5,请在B列同一行写上"小于5",如果A列数字大于5,则在C列同行写上“大于5”,如果A列所在行等于5,则在D列同行写上“等于5”,如图1所示


图1 示例



Part 2:基础知识

  1. 说一下Sub/End SubVBA中的代码一般是放在Sub...End sub 之间,一件事的完成,可以分成几个部分或者只有1个部分,每个部分都可以用一个Sub...End sub表示
  2. VBA 要求代码闭合,例如IF...END IF,For...Next,以及Sub...End sub
  3. 含有VBA代码的Excel文件要求另存为启动宏的工作簿*.xlsm格式,如图2所示
  4. VBA不要求显式定义变量,就是不要求先定义变量,就可以直接使用
  5. 对于某个默认关键字不熟悉,鼠标选中,按下F1键,会出现对应帮助文件
  6. VBA代码行句首为Rem (Rem空格)或者单引号,表示该行其后内容为注释


图2 另存为.xlsm格式

xlsm文件:打开目标文件夹test.xlsx,另存为test.xlsm,选择菜单,开发工具-Visual Basic-插入-模块(输入VBA代码)


Part 3:逻辑

  1. 给定一个大范围循环(1-1000);
  2. 如果对应行不是空,则判断与5之间的大小关系;
  3. 根据与5对比结果,分别在B/C/D列写入信息



Part 4:代码

Sub test() Set sht = ThisWorkbook.Worksheets("举例") For i = 1 To 1000 Step 1 If sht.Cells(i, "A") <> "" Then If sht.Cells(i, "A") < 5 Then sht.Cells(i, "B") = "小于5" ElseIf sht.Cells(i, "A") > 5 Then sht.Cells(i, "C") = "大于5" Else sht.Cells(i, "D") = "等于5" End If Else Exit For End If Next i End Sub


图3 代码截图


代码写完后,点击工具栏中的运行按钮即可,如图4所示。返回工作表,发现问题已经解决


图4 运行代码



以上,为本次的介绍内容,下回见。

本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条