ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

菜鸟谈VBA最最基础入门《原创》

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-8-17 22:18 | 显示全部楼层
本帖已被收录到知识树中,索引项:开发帮助和教程
To 102F
VB中值类型在声明之后是会赋给默认值的,正如你所说,Long的默认值为0.

TA的精华主题

TA的得分主题

发表于 2009-8-17 22:19 | 显示全部楼层
请问楼主,有WORD文档吗。虽然也可以自己一点点的复制粘贴,但确实有点麻烦。希望能提供出来,供打印学习。谢谢。

TA的精华主题

TA的得分主题

发表于 2009-8-17 22:25 | 显示全部楼层
原帖由 yj0715 于 2009-8-17 22:19 发表
请问楼主,有WORD文档吗。虽然也可以自己一点点的复制粘贴,但确实有点麻烦。希望能提供出来,供打印学习。谢谢。

1F有PPT下载

TA的精华主题

TA的得分主题

发表于 2009-8-17 22:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
楼主是老师吧?写的非常清楚,循循善诱,有教师的风范啊~~非常适合我这样的VBA初学者,弄清了很多在别的书或教程里没点破的事,太感谢了

TA的精华主题

TA的得分主题

发表于 2009-8-18 12:19 | 显示全部楼层
请问老师,这一段:
Sub 求1到10000之间奇数和2()
    Dim I&, J&
    For I = 10000 To 1 Step -2
        J = J + I
    Next
    MsgBox "1到10000之间奇数和为" & J
End Sub
是不是应该9999 to 1啊?
搞不清是我不理解还是真的有问题,谢谢解答~

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-18 12:19 | 显示全部楼层
再说Excel的对象模型
---------------------
  在前面的贴子里,我们简单介绍了VBA的开发环境、语法基础及常用的语句。同时对集合、对象、属性、方法和事件等几个重要的概念作了简单的讲解。通过学习,你是否有所收获?我说了,我只是给你指路。就像你说你要到北京天安门看升国旗仪式,我只能告诉你打出租车到机场,花一千块买张机票你就可以去了,我可不能把你背去北京我再要着饭走回来。所以现在,对前面学过的内容,你可以在心里面作一个回顾,问问自己,通过学习,收获了什么?还存在什么不足?接下来该怎么做?
  适时的小结是很有必要的,可以看到存在的不足和努力的方向。
  所以这一贴,没有新内容,再来说一说Excel的对象模型,当作是一种对前面的回顾也罢,当作是和大家的一种闲聊也行。不管了!
  
  VBA是通过对象操作来操作和控制Excel。不管是操作Excel程序(Application对象)、工作薄(Workbook对象)、工作表(Worksheet对象)、单元格(Range对象)还是操作图表(Chart对象)、窗体(Userfrom对象)等等,都是在操作对象。每个对象都是其他对象的一部分,也可以由其他对象组成。这个前面的贴子已经讲过,这里不再多说。
  我要说的是,VBA的语法和Excel的对象模型组成了应用Excel VBA程序设计的基础,从某种意义上来说,理解和熟悉Excel对象模型的过程,也就是使用Excel VBA进行程序设计的过程。所以,熟悉Excel的对象模型,对我们学习VBA的重要性可想而知。

  可是,什么是Excel的对象模型?
  不知道这样讲你是否能理解:家里面有厨房吧?厨房里面有很多的东西,比如碗柜,冰箱等,而碗柜里又有饭碗,盘子等,冰箱里有鸡蛋,黄瓜等。Excel就像一个装了很多东西的大厨房,Workbook对象就像冰箱,Worksheet就像冰箱里的蔬菜啊什么的。当我们给这个大厨房及厨房里的这些对象画一个简单的结构图时,这个结构图我们就称之为对象模型。
  
  下面就是Excel的对象模型结构图:

2-1.jpg

  Excel对象模型在Excel的帮助文件里就有了,我们可以通过打开帮助来查看它。如果你找不到,请打开你的OFFICE的安装目录,找到\OFFICE11\2052目录下的VBAXL10.CHM。这个文件就是Excel VBAHelp文件了,双击打开它,你就可以看到我们上面的图了。
  从对象模型,我们可以看到对象之间的包含关系,Excel最顶端的对象为Application对象,即Excel程序本身,其他所有的对象都是在Application对象的下面。用鼠标单击其中的每一个对象,就可以跳转到对象的说明。
  呵呵,知道什么是VBA了吧?就是对以上这些对象的操作。就像在厨房里做饭是对厨房里各种对象进行操作一样,Excel Vba程序设计过程中,我们就是通过读取或设置对象的属性、调用对象的方法、编写事件过程来操作Excel

  对象模型很重要,是的。但是Excel对象模型包括了大量的对象、属性和方法,就像书架上放着的汉语大词典,也许有些内容我们一辈子都不会用到它,所以就像我们不用去记住词典的内容一样,我们不必记住对象模型里的所有内容。我们要做的只是熟悉它的结构和组成,需要用到时,翻开字典,查到它所在的页码,然后快速地去打开它。
  熟悉了对象模型,当你在学习VBA的过程中,如果再有什么问题,有字典可查了吧?千万不要忘记了这个随时跟在我们身边的老师。

  不要嫌查字典的麻烦,二年级时你天天翻字典,到高中到大学了你还天天翻吗?从菜鸟到高手,就是一个从查Help到不需要查Help的过程,刚开始时解决一个问题也许需要几个小时,后来也许会快到只要几分钟。呵呵……这是别人告诉我的,我相信,现在我还在坚持翻字典,但我坚信会有不需要再翻它的那一天!也希望你信!
  
   
  PS:如果你的Excel里没有Help,找不到对象模型的文件,那我给你一个:

         VBAXL10.part1.rar (480 KB, 下载次数: 16874)
         VBAXL10.part2.rar (480 KB, 下载次数: 13984)
         VBAXL10.part3.rar (480 KB, 下载次数: 13121)
         VBAXL10.part4.rar (480 KB, 下载次数: 13971)
         VBAXL10.part5.rar (333.47 KB, 下载次数: 13949)

[ 本帖最后由 ggsmart 于 2009-8-18 13:40 编辑 ]

评分

9

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-8-18 13:24 | 显示全部楼层
感谢楼主无私的奉献的精神,正好要学习,谢谢!顶,好贴!

TA的精华主题

TA的得分主题

发表于 2009-8-18 15:50 | 显示全部楼层

佩服!!致敬!

怎么说呢!对做出贡献的人。致敬

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-8-18 16:19 | 显示全部楼层
[小试牛刀]制作个性化的欢迎界面
--------------------------------
  如果你辛辛苦苦设计了一个Excel应用程序,想不想很臭美的显摆一下?那我们就给它设计一下“欢迎界面”吧,让每一次别人用它的时候都给他点信息,告诉他,这是爷我做的,顺便也打打广告什么的。
  什么是“欢迎界面”?经常作用电脑的我们应该不陌生吧?打开ExcelWordPS等等软件时,在加载的那几秒钟里,都显示一个欢迎界面,给我们介绍了一些基本的信息。


  这一贴我们就来给我们的Excel做一个个性化的欢迎界面,需要实现的目的是:
  1)打开Excel文件时,隐藏Excel应用程序的界面,同时弹出一个欢迎界面,界面上有你想向别人显摆的内容,有什么,随你了;
  (2)欢迎界面显示5秒钟后,退出欢迎界面,进入Excel文件;
  (3)界面上要动态显示几秒钟后进入工作薄。
  例子见附件:
   欢迎界面.rar (40.37 KB, 下载次数: 41021)


----------------------------------
  这是我们第一次来做例子,在制作的过程中,也许你需要弄清楚以下一些问题,如果不知道的,去查Help了:
  1、想一想,需要发生什么事件才能实现在打开Excel的时候隐藏程序的界面而显示欢迎界面?
  2、要隐藏或显示一个对象,需要修改它的Visible属性,Excel应用程序是什么对象?还记得吗?
  3、显示一个窗体要用什么方法?关闭一个窗体要用怎么做?
  4、如果我们用一个标签来显示“几秒种后进入文件”,那么每隔一秒种我们需要修改一次该标签的什么属性?
  5、怎样安排一个程序在将来的某个时间运行?这需要用到OnTime方法。
  如果有一个程序名叫“mysub”,我们需要这个程序在5秒钟后运行,则代码为:
  

  1.   Application.OnTime Now + TimeValue("00:00:05"), "mysub"
  2.   
复制代码

  详情可以查对象模型,里面有介绍。
  6、怎么在程序里调用另一个过程?
  语句格式为:Call 程序名
  如要在一个程序里运行名为“mysub”的过程,只需要输入:Call mysub即可。
  其实直接输入程序名也可以,但我不喜欢这样做,总感觉不便于阅读!
  7、怎样禁用户通过关闭窗体右上角的关闭按钮关闭“欢迎界面”?这需要用到窗体(UserFrome对象)的QueryClose事件了。请查看Help
  
  好了,能告诉你的就这么多了,希望你能做出来!我例子的密码会在下一贴的时候公布!为了能好好显摆一下,希望你的欢迎界面不要像我的这样简单,多给它美化美化,不但可以加深自己对窗体的认识,还可以增加显摆的条件。
  希望各位把自己的成果展现出来,供大家学习!
  

[ 本帖最后由 ggsmart 于 2009-8-25 16:53 编辑 ]

评分

17

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-8-18 16:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
太棒了,我的处女回复给你了~~~~~~~~~~
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-23 23:51 , Processed in 0.048781 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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