系统:Windows 10 软件:Excel 2010 @Excel结合VBA高效工作
今天来举个例子,回顾一下前面三次的内容
问题:假设工作表“举例”,A列有一组数据,1-10,如果A列某行数字小于5,请在B列同一行写上"小于5",如果A列数字大于5,则在C列同行写上“大于5”,如果A列所在行等于5,则在D列同行写上“等于5”,如下图所示 前提: 1)说一下Sub/End Sub,VBA中的代码一般是放在Sub...End sub 之间,一件事的完成,可以分成几个部分或者只有1个部分,每个部分都可以用一个Sub...End sub表示。 2)VBA 要求代码闭合,例如IF...END IF,For...Next,以及Sub...End sub。 3)含有VBA代码的Excel文件要求另存为启动宏的工作簿*.xlsm格式。 4)VBA不要求显式定义变量,就是不要求先定义变量,就可以直接使用。 5)对于某个默认关键字不熟悉,鼠标选中,按下F1键,会出现对应帮助文件 6)VBA代码行句首为Rem (Rem空格)或者单引号,表示该行其后内容为注释 操作:打开目标文件夹test.xlsx,另存为test.xlsm,选择菜单,开发工具-Visual Basic-插入-模块(输入VBA代码)
逻辑结构(算法): 1)给定一个大范围循环(1-1000); 2)如果对应行不是空,则判断与5之间的大小关系; 3)根据与5对比结果,分别在B/C/D列写入信息
代码如下:
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
代码写完后,点击工具栏中的运行按钮即可,返回工作表,发现问题已经解决 以上为本次的学习内容,下回见
*本文为原创作品,如若转载请标明出处,如发现有错误,欢迎指正 如想了解更多,欢迎关注公众号:Excel结合VBA高效工作(原 VB与Office)
|