fourseasonbeans 发表于 2017-9-18 18:49

VBA与Excel入门系列-04-小结

系统: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)


韩立 发表于 2022-1-19 09:53

学习一下
页: [1]
查看完整版本: VBA与Excel入门系列-04-小结