ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

对vba的对象、属性、方法模模糊糊的,有一种晕的感觉~~

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-4-7 16:47 | 显示全部楼层 |阅读模式

最近想做一个录入数据的vba程序,以避免在excel界面录入时的眼花缭乱的感觉,啃了几天的论坛,对vba的对象、属性、方法模模糊糊的,简单的例子能看懂,可是:
一:比如同样的range,既是对象集合,又是属性,它到底是什么?真是一头雾水;
二:还有那些比较长的语句,中间n多个圆点(.),也分不清楚哪个是对象哪个是属性哪个是方法了,这样的语句有什么规律可循?
三:希望能推荐真正本真正看得懂的书。
谢谢。

[此贴子已经被山菊花于2007-4-7 23:12:15编辑过]

TA的精华主题

TA的得分主题

发表于 2007-4-7 17:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
多按F1

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-4-7 17:11 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-4-7 18:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

在你键盘的左上角的第二个位置.........

TA的精华主题

TA的得分主题

发表于 2007-4-7 19:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
推荐你先看看山版的与代码亲密接触。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-4-7 20:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢

TA的精华主题

TA的得分主题

发表于 2007-4-7 23:12 | 显示全部楼层

回复:(cl662002)对vba的对象、属性、方法模模糊糊的...

1、认识“方法”

2在VBE代码窗口中,按 Ctrl+J 或在对象名后面输入小圆点时,会弹出“属性/方法列表”,列表中带绿色图标的项就是“方法”。

2对于对象而言,方法是命令,是一种动作,是一种操作。你想把单元格删除了,VBA提供了一个命令给你:Delete,这Delete就是方法。在工作表中使用了组合框控件,可以用 AddItem 为组合框添加选择项,这 AddItem  就是方法。

2在代码书写上,与属性相比,也有它的特征。

方法后面不再连着小圆点。

用于结束(前面不带等号的)代码行的,它是方法,如下面的 Delete :

Range("a1").Delete

下面代码以空格连接“Sort”与“Key1:=Range("A1")”,空格前面的 Sort 也是方法。

Selection.Sort Key1:=Range("A1")

把参数写在括号里,括号前面的也是方法,如下面的 Find:

Set c = Worksheets(1).Range ("a1:a500").Find(2, LookIn:=xlValues)

2、对象与属性

2对象与属性,我们可以把它看作是一回事,就像“属性/方法列表”里面的图标,它不区分谁是对象,谁是属性。

你是上司,那一定有下属,你的下属,在他单位里也是个头,那他又有他的下属。

世间事物,只要成了主,就有依附其存在的附属,“老刘汽车上的喇叭”,老刘是主,汽车是附属物,而汽车又是喇叭的主,喇叭是汽车的附属,用VBA的说法,老刘是对象,汽车是属性,但对于喇叭而言,汽车是对象,喇叭是属性。

在代码“Me.Range("a1").Font.ColorIndex”中,Font 表示字体,它是单元格的属性,又是一个对象,它有颜色号、名称、大小等属性。认识对象与属性,难得糊涂,糊涂了才好。

2代码里的小圆点,就是中文句子中的“的”:

老刘.汽车.喇叭.价钱=250

这意思懂吧?

下面的代码:

Me.Range("a1").Font.ColorIndex = 3

用“的”字读,就是:

本工作表 的 A1单元格 的 字体 的 颜色号 改为 3

2还有一个疑问,Range既是对象集合,又是属性,怎么回事?

其实不是,如Range("a1")="ExcelHome",这里的Range()不是属性,它是对象,只是代码中把属性省略了:

Range("a1").Value="ExcelHome"

这个省略的代码风格也来自生活:

“电脑5000、桌子800”,把“价钱”省了,意思大家都明白。

“张三100、李四85”,宣布成绩的时候,不用说“张三的成绩是100分、李四的成绩是85分”,大家还是明白。

3、说正经的

2上面的说法其实是不严谨的,无论怀疑还是相信,都不能到此为止,你还得把问题弄明白。在Excel2003的VBE窗口中,把光标定位到单词中间,按 F1 键,可打开关于该“方法/属性”的帮助,帮助中写“方法”就是方法,写“属性”就是属性。如:


[此贴子已经被作者于2007-4-8 0:25:06编辑过]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2007-4-7 23:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

感谢山菊花:

通俗易懂,好!希望所有贴都这样好。

TA的精华主题

TA的得分主题

发表于 2007-4-7 23:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
山菊花老师[em17][em17][em17][em17][em17]

TA的精华主题

TA的得分主题

发表于 2007-4-8 10:11 | 显示全部楼层

2代码里的小圆点,就是中文句子中的“的”:

老刘.汽车.喇叭.价钱=250

好!!!!!!!

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

本版积分规则

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

GMT+8, 2024-11-23 11:53 , Processed in 0.043528 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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