ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yagi2008

[分享] VBA入门指南——献给在这里得到帮助但看不懂代码的朋友(已建电梯)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-1-28 19:27 | 显示全部楼层
本帖已被收录到知识树中,索引项:开发帮助和教程
楼主过年都在进行教学真是太令人感动了,祝你牛年快乐!万事如意!

TA的精华主题

TA的得分主题

发表于 2009-1-29 11:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
热切期待中!!!

TA的精华主题

TA的得分主题

发表于 2009-1-29 14:22 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-1-29 19:19 | 显示全部楼层
对初学的人来说 真是太好了!!!!!
严重支持啊!

TA的精华主题

TA的得分主题

发表于 2009-1-29 19:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢楼主的精彩讲解,学习中

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-1-29 22:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

【2009.1.29】代码起步——关键字(续)

  今天一天都在带儿子,因为昨天老婆的腰闪了。哎,好在明天可以回自己家了,真是“归心似箭”啊~
  今天是关键字的最后一讲,按照惯例,还是先将该类关键字列举如下:
  【程序结构类】
  IF...ELSE...END IF:分支判断选择语句;
  DO WHILE...LOOP:先判断后执行循环语句;
  DO...LOOP WHILE:先执行后判断循环语句;
  FOR...NEXT:限定次数循环语句;
  GOTO...:无条件转移语句。
  今天我想主要谈谈程序结构问题。所谓程序结构,就是指程序代码的执行顺序,按照执行顺序的不同我们将程序结构大致分为以下三类:顺序结构、分支判断选择结构和循环结构。基本上我们目前能接触到的语句结构都离不了这三种类别。
  先讲第一类,顺序结构。这类语句是按照程序代码书写的先后顺序一句一句从前往后顺序执行的,这类语句结构是最简单且容易理解的一类。那么如何才算一个完整的语句结束呢?这在不同的编程语言环境中是不尽相同的,比如C语言中以分号作为每个语句的结束标志,而VBA中,则以换行符作为一个语句的结束标志,换句话说,只要在同一行书写,哪怕再多的代码都被看作一条语句来执行。
  第二类是分支判断选择结构。这类结构并不像顺序结构那样按顺序逐条执行代码,而需要按照判断语句的结果对各条分支语句进行选择执行,所以需要通过分支判断选择语句,对本结构代码加以控制执行。例如,“IF...ELSE...END IF”,这条语句以“IF”开始,至“END IF”结束,其中在IF所在行书写判断的条件表达式,“IF”和“ELSE”之间书写条件表达式为“真”时执行的代码,“ELSE
”和“END IF”之间书写条件表达式为“假”时执行的代码。实例如下:
IF 条件  THEN
  语句1
ELSE
  语句2
END IF
在这里实例程序中,就体现了一个典型的分支判断选择结构,程序是这样执行的:当程序执行到IF语句时,系统会计算条件表达式的值,如果该值为“真”(即条件成立),那么就执行语句1,然后结束该IF结构去执行END IF后面的代码;如果该值为“假”(即条件不成立),那么就执行语句2,然后结束该IF结构去执行END IF后面的代码。所以通过这里实例可以看出,在分支判断选择结构中包含的语句不是每一个都被执行到的,其执行与否、何时执行由条件表达式控制。1条IF条件语句可以区分2种情况下的执行代码,那么多于2种情况该怎么办呢?可以通过在IF语句中嵌套IF语句来实现多条件判断执行的效果。实例如下:
IF 条件1  THEN
  语句1
ELSE
  IF 条件2  THEN
    语句2
  ELSE
    语句3
  END IF
END IF
这和EXCEL中的IF函数的嵌套类似。除了IF语句外,该类结构还有一条语句,也可以实现多条件的分支判断选择结构,即:
SELECT CASE 条件
  CASE 值1:
    语句1
  CASE 值2:
    语句2
  CASE ...
    ...
  ELSE CASE:
    语句3
END SELECT
这里通过计算条件表达式的值与各分支语句中的值进行比较来选择具体到哪个分支中执行相应的代码。
  第三类是循环结构。和第二类分支结构类似,循环结构也需要通过循环语句来控制程序代码的执行。按照循环条件的位置和计算方法不同,循环语句大致分为如下三种:
DO WHILE...LOOP:先判断后执行循环语句;
DO...LOOP WHILE:先执行后判断循环语句;
FOR...NEXT:限定次数循环语句;
前2类是不限定次数或者在代码执行前无法确切指定循环次数的循环控制语句。实例程序分别为:
DO WHILE 条件
  语句1
  语句2
LOOP
这类语句先判断条件表达式的值,然后根据该值决定是否进入或继续执行循环体内部的语句1和2。
DO
  语句1
  语句2
LOOP WHILE 条件
这类语句先执行循环体内部的语句1和2,然后进一步根据条件表达式的值决定是否再次回到DO语句继续执行循环体内的语句。
第3类是限定循环执行次数的循环语句。实例程序为:
FOR 控制变量=1 TO N STEP 步长
  语句
NEXT
这里通过每次循环后控制变量的自动增加步长值,然后与最大值N比较,来决定是否继续执行循环体内的语句。
循环语句也是可以嵌套使用的。无论分支结构还是循环结构的控制语句,都会打乱原先执行的语句顺序,从而给理解和维护代码带来困难,因此要恰当利用这些结构控制语句,并加上相关注释,以防代码出现错误或今后理解困难。
  还有一条语句,称为无条件转移控制语句,即GOTO 转移地址名称,这条语句可以方便编程人员在无法确知转移条件和难于控制时将程序执行顺序强制转移到指定的地址。由于是无条件转移,这种情况中存在着编程人员的主管随意性,因此必须加上必要的注释,并尽量少用,以避免今后程序理解和维护的困难。
  至此,我们已经将VBA代码中常见的关键字都一一讲解完毕了,想必大家今后在看到程序中的那些E文的时候也大致能知道这个属于什么类型的关键字、在这个位置有什么作用了,至于如何才能熟练掌握并运用这些关键字写出自己的代码,则是我们这个教程接下来的章节需要完成的任务,敬请期待《VBA入门指南——代码起步之我的程序》篇。

TA的精华主题

TA的得分主题

发表于 2009-1-29 22:49 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-1-30 10:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-1-30 10:54 | 显示全部楼层
楼主辛苦了, 为初学者能省下不少时间, 功德无量.

如能再继续编一些基本的 点命令, 则让初学者能更快地进入到EXCEL快乐天堂!

TA的精华主题

TA的得分主题

发表于 2009-1-30 12:29 | 显示全部楼层
本人对VBA一知半解,版主的精彩讲解,肯定会收获良多,在此多谢了,希望以后分享版主更多好文章。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-19 08:18 , Processed in 0.032036 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表