1、[VBA入门到放弃笔记]对象属性方法事件

一、概念
1.1对象:和相亲对象的“对象”一样的概念,你相亲的对象是高富帅还是白富美?
1.2属性:相亲对象的属性--是男的还是女的?高吗?帅吗?白吗?心灵美吗?
1.3方法:相到意中人(男追女),送鲜花,送戒指,送衣服,送包包....种种方法只为搞掂她。
1.4事件:(女)结婚ing,但不是你的意中人。你的意中人身披金甲圣衣、驾着七彩祥云来......(感觉要发生点神马事情)......
二、VBA(Excel)中常见的对象
2.1工作簿:也就是Excel文件,Wokrbook表示。
2.2工作表:工作簿Workbook中的对象,WorkSheet表示
2.3单元格:工作表WorkSheet中的对象,可以用Range或cells来表示
2.4图表、图片等等其他对象。
三、集合:类似集体相亲,大家一起玩相亲......又如一个住宅小区是各栋楼、绿化等的集合。集合本身也是对象。
3.1 多个工作簿,Workbooks表示工作簿集合。
3.2 多个工作表,Worksheets表示工作表集合,一个Workbook是包含很多个工作表的集合。
3.3 Sheet,即可以指工作表Worksheet,也可以指图表Chart等。见下图,Sheet可以是黑色框内的任一个对象。Worksheets表示工作表集合是同类型的,如一群狮子是集合,但都是狮子,类似英语中的复数。Sheets集合就是指工作表、图表等这些对象的集合,可以是同类型的也可以是不同类型的,得看实际情况而定,如一群动物,有狮子有鬣狗有斑马有鸵鸟.......,又如一群动物,但只有狮子没有其他动物(吃光了)。所以,工作簿中只有工作表,那么Sheets就是工作表集合,工作簿中有工作表有图表,那么Sheets就是工作表和图表的集合。

代码一般是这样的结构:

Sub 代码的命名()
中间这里写代码
End Sub

【特别注意:运行代码前,请将鼠标光点放到代码区,操作:菜单栏--视图--本地窗口,打开本地窗口,键盘F8一下一下地按逐句运行代码,看每句代码运行之后的效果】

Sub 父对象与子对象()
'设定对象要使用set语句
'如设定a为单元格区域 [A1:A2]
Set a = Range("a1:a2")
'设定b为工作表
Set b = WorkSheets("小明")
'a的父对象的名称
sheetname = a.Parent.Name '返回sheetname=小明,即工作表的名称
'b的父对象的名称
workbookname = b.Parent.Name '返回workwookname=1.对象属性方法.xlsm,即工作簿的名称
MsgBox sheetname
MsgBox workbookname
'即:层级关系是:单元格---工作表---工作簿---???  从小到大。参考下面语句
' a 已设定为单元格区域,见上面set语句!
d = a.Parent.Parent.Parent.Name
MsgBox d
'下面语句返回比尔盖茨吗?
MsgBox a.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Name
End Sub
Sub 属性()
'单元格a5的行高等于单元格a1的行高,或指定值
Range("a1").RowHeight = 50
Range("a5").RowHeight = Range("a1").RowHeight
'指定当前工作簿活动工作表中某个单元格的值为100
Range("a1").Value = 100
'VBA可以不激活对象就对对象进行属性修改,如下语句:设定【1.对象属性方法.xlsm工作簿】下的【小明】工作表的【A1】单元格值为200
Workbooks("1.对象属性方法.xlsm").Worksheets("小明").Range("a1").Value = 200
'有些对象的属性是只读的,不能简单的通过赋值来修改,如工作簿的名称Name属性,单元格的Text属性
a = Range("a1").Value'将单元格A1的值赋予给a,根据上面语句a=200
Range("a1").NumberFormat = "$#,##0.00" '设置单元格格式
b = Range("a1").Text'返回单元格A1的格式
Name = ThisWorkbook.Name'返回当前工作簿的名称【"1.对象属性方法.xlsm"】
End Sub
Sub copy()'单元格的copy复制(方法)
'将单元格区域d12:f15复制到h12
Range("d12:f15").copy Destination:=Range("h12")
'可以简写为
Range("d12:f15").copy Range("L12")
End Sub
Sub 单列去重复方法()'利用录制宏:【数据--删除重复项】 生成的代码
'Columns:=1,1列数据
' Header:=xlNo,数据没有标题
Range("$K$1:$K$15").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
Sub 多列去重复()
Range("$N$1:$o$15").RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
End Sub
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 22,033评论 6 49
  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 14,678评论 1 20
  • VBA学习笔记 笔记摘抄自EXCEL精英培训-蓝色幻想 VBA学习笔记01(链接)VBA学习笔记02 (链接) 目...
    天天向上的orange阅读 9,111评论 1 66
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,856评论 6 13
  • 亲爱的耶稣 谢谢你在圣经上告诉我们,爱里没有惧怕,爱既是完全的,主啊 ,谢谢你是我的避难所,我的高台,我的拯救,自...
    有你生命更美好阅读 832评论 0 0