ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-1-25 01:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:开发帮助和教程
好贴,祝各位老师同学们一起新年快乐,牛年牛气冲天

TA的精华主题

TA的得分主题

发表于 2009-1-25 10:57 | 显示全部楼层

回复 56楼 yagi2008 的帖子

感谢楼主,确实辛苦!

TA的精华主题

TA的得分主题

发表于 2009-1-25 12:49 | 显示全部楼层
一直期待着这样的入门帖,现在终于盼来了,继续关注中。
虽然我已经自己看啦很多资料,但还是感觉对vba不入门,多多学习。
我现在最大的困惑是何时用sub,何时用private sub,sub和private sub又应该在什么时候、什么地方用,唉,太困惑了,还有很多词也搞不懂,比如temp等等。好好学习了。

TA的精华主题

TA的得分主题

发表于 2009-1-25 13:12 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-1-25 15:14 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-1-26 10:56 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-1-27 22:02 | 显示全部楼层

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

  小别数日,今日终于回来了。先给大伙道一声“新年好”!
  早晨一早驱车三个多小时,赶到了孩子他外婆家。到达的时候已然到了中午,自然免不了应酬一番。喝了点小酒,一下午头都昏昏的。到此时日落西山,方突然想起年前许下的今日之约,立即开机上网、奋起疾书,至此,才有了下面的文字,望诸位海涵!
  还记得年前我们说完了声明类关键字,今天我们要讲的是数据类型关键字,列举如下。
  【数据类型关键字】
  Byte:字节类型;
  Integer:整型数值类型;
  Long:长整型数值类型;
  String:字符串类型;
  Boolean:逻辑类型;
  Single:单精度类型;
  Double:双精度类型;
  Currency:货币数值类型;
  Decimal:可以容纳小数的数值类型;
  Variant:任何数字值或字符串值;
  Object:对象类型;
  用户自定义:利用TYPE语句由用户自己定义的数据类型。
  首先,我们先谈谈VBA中大伙见到的文字有哪些。大家在VBA中能够见到的文字,除了之前列举的几大类关键字(保留字)外,就是些数据和注释了。注释是以西文半角方式的单引号开头的文字,在VBA编辑器里显示为绿色。这些字主要用来注释解说变量或代码的用途。数据则有很多种,这才是我们今天要讲的主要内容。在VBA中,数据按照形态大致分为三类,常量、变量和数组。常量就是指在程序中已经指定的值,并且常量的值在程序中保持不变。举个例子,我们声明一个常量名字叫“Name”,我们在可以在声明的时候直接赋予这个常量一个值比如“张三”。那么在这个程序里,我们就不用直接引用“张三”这个名字了,我们在需要引用的时候只要用Name这个常量就可以替代了。可能有的朋友会说,既然Name就是代表“张三”,那我们为什么不直接在程序里写“张三”呢?这里有这么几个原因。一是有可能直接使用“张三”不方便,如果起个有意义的名字更便于阅读和维护代码。二是如果以后需要修改程序,需要将程序中使用到“张三”的地方都改成“李四”,那么如果用引用一个常量的这种方式的话,就只需要修改Name这个常量的值就可以了。变量和常量有点类似,都是以一个名字来命名并赋予一个值给它,不同之处在于,常量的值在整个应用程序代码中是不变的,而变量的值会随着代码位置的不同而发生变化。在这里提供一个小建议,在给变量起名字的时候最好起一些有意义的名字,否则在今后维护代码的时候会遇到困难。比如可以给整型变量加上INT的前缀,如果这个变量用来保存“编号”的,那么可以起这样的名字“INT_name”,如果是保存“生日”的日期型变量呢?可以这样起“DATE_birthday”,等等。再来说说数组,数组也是变量,不同之处是数组是一组变量的集合而不是单个变量。因此,数组一般由变量名和下标组成,例如:NAME(2)、k(5)等。数组按照下标的个数分为一维数组(只有一个下标)、二维数组(有两个下标)和多维数组(有多于2个下标)。除了普通变量能采用数组形式外,对象、控件、单元格等都可以采用数组的形式来表示。对于有规律的变量或对象采用数组的形式可以方便的配合循环语句来简化代码、提高执行效率,不过会占用更多的内存资源,因此是一种空间换时间的方法。
  其次,在学习具体变量之前,我们还要谈谈计算机是如何保存和处理各类数据的。按照数据的种类和载体我们大致可以分为这么几类,数字、西文字符、中文字符、图形、动画、视频、音频等。这些数据在计算机中都被翻译为2进制来保存。比如数字,分为整形、浮点型、单精度、双精度、长整形等,按照2的N次幂的方法计算所能保存的最大数和最小数来确定范围;再比如数字型字符和西文字符,都是按照ASCII编码来保存的,一个字符占用一个字节(8位二进制);中文字符由于数量众多,就采用国际标准交换代码来保存,一个字符占用二个字节(16位二进制);图形、动画、视频和音频数据就更为复杂,一般通过引用(在变量中保存能找到这些数据的地址)的方法保存。
  最后,我们来看看学习变量需要重点掌握哪些内容。一是要十分清楚每种变量类型所对应的取值范围。根据我们第二点讲解的计算机保存各类数据的方法,对应不同类别变量的取值范围是存在不同的。BYTE字节型变量,只能存放1个字节的内容,因此你不能将一个汉字字符保存到一个字节型变量中,也为一个汉字字符需要占用2个字节的空间,如果用BYTE型变量保存就会发生溢出错误。具体上述关键字所对应的每种变量的取值范围详见联机帮助。二是变量的本质是一块特定内存区域的名称,我们通过引用这个名称(即变量名)来使用这块系统分配给应用程序的特定内存存放数据。明白了这一点可以帮助我们更好地在程序中使用变量。三是变量的生存周期和作用范围。这点就是我们上一讲所重点讲述的内容。
  今天太晚了,先简单谈几点吧,有关内容将在今后用到的时候详细表述。

TA的精华主题

TA的得分主题

发表于 2009-1-28 10:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
讲的很好,玩虽然一点不懂VBA,但工作中遇到了非得要它才能完成复杂的数据统计,谢谢你的悉心教诲,很感激你的耐心和无私,平时我工作也很忙,今天我认真向你学习VBA,祝你新年快乐,阖家幸福,春节过得愉快!牛年大吉!来年工作轻松,心情放松!

TA的精华主题

TA的得分主题

发表于 2009-1-28 10:58 | 显示全部楼层
这2天我在看 office论坛__大头之家
那里有一贴叫 [VBA起步]常用的、带解释的 VBA 短句——接龙
http://office.9zp.com/dispbbs.as ... p;skin=0&Star=1

我还云里雾里的,有兴趣的同道可以去领略一下.

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-1-28 14:44 | 显示全部楼层

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

  看到这么多热心的朋友支持这个帖子,真的很高兴。能让这个帖子帮到更多需要的朋友,即使我多写点也感到很开心。今天该讲运算符关键字了,照旧先列出该类关键字。
  【运算符关键字】
  这类关键字太多了,而且有很多种分类方法,比如按参数个数分为单目运算符、双目运算符、三目运算符和多目运算符等,按参与运算的参数类型可以分为数值运算符、字符运算符、逻辑运算符、日期运算符、字节运算符等,按照运算符的作用范围可以分为过程级运算符、函数级运算符和模块级运算符。
先谈谈运算符的含义。到底什么是运算符?运算符就是连接各种类型的数值、常量、变量的运算符号。这里需要特别声明的是运算符与函数的区别。举个比较有代表性的例子,大家在EXCEL的单元格里写公式的时候,如果写2个或2个以上并列条件的时候,可能会遇到AND和OR的关系,以往有很多同事和朋友都来问过我,为什么我写的条件会报错。那么他们是如何写这些条件的呢?"x>1 or y<2",这样写在VBA程序中是可以被接受并符合语法的,但在EXCEL单元格的公式中就会报错,因为在公式中,EXCEL会将AND或者OR都作为函数来看待而不是运算符。按照定义,运算符是连接各类数据的符号,因此其一般前后都有数据,但函数不同,一般是由函数名开头,后面跟上一对括号,括号里面是参数,彼此用逗号分开,因此在EXCEL的公式中,如果用到多个条件之间的关系,就应该采用函数形式而不是运算符的形式,例如and(条件一,条件二)。
  按照运算符所能连接的数据的数量,我们将运算符分为单目、双目、三目和多目运算符。单目运算符只能连接一个数据,比如not 条件一,返回一个结果。这类运算符一般集中在逻辑运算中。大家可能见过这样的运算符号,“++”、“--”,这些也是单目运算符,如果数据在运算符前面意思是先返回该数据然后本身加、减1;如果数据在运算符后面意思是数据先进行加减运算然后返回运算后的该数据,这一般常用于循环语句。二目运算符能连接2个数据,很多运算符都属于二目运算符,比如常见的+、-、*、/等等。三目运算符常见的有这么一种类型,“表达式1?表达式2:表达式3”,意思是先对表达式1求值,如果表达式1条件成立(不为0),则对表达式2求值,然后将该值作为整个表达式的结果返回;如果表达式1不成立,则对表达式3求值,并将该值作为整个表达式的结果返回。类似于条件函数。多目运算符类似于函数的形式,由多个参数参与运算,并返回1个或多个值。
  按参与运算的参数类型,运算符可以分为数值运算符、字符运算符、逻辑运算符、日期运算符、字节运算符等。这个比较容易理解,在此就举几个常见运算符的例子供大家参考。数值运算符主要有“+-*/”等,此外还有“^”符号,表示幂,例如2^3,表示2的3次幂。字符运算符有“&”,表示连接两个字符的连接符号,此外还有“+-”符号,“+”表示字符串的连接,“-”表示剔除。逻辑运算符主要有“not、and、or、xor”等。XOR表示异或的关系,就是如果存在如下表达式:A xor B,则如果A和B均为真或均为假,即A和B相同,则返回真,否则返回假。其他运算符大家可以参考联机帮助,或者也可以在我们今后遇到的时候听我详细讲解。
  明天还剩最后一部分即语句类关键字了,这部分将结合常用的语句及程序结构来进行解说,敬请期待~~~.1

[ 本帖最后由 yagi2008 于 2009-1-28 14:46 编辑 ]

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-12 16:00 , Processed in 0.057762 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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