一舍咖、概念
1.1對象:和相親對象的“對象”一樣的概念,你相親的對象是高富帥還是白富美锉桑?
1.2屬性:相親對象的屬性--是男的還是女的排霉?高嗎?帥嗎刨仑?白嗎郑诺?心靈美嗎夹姥?
1.3方法:相到意中人(男追女),送鮮花辙诞,送戒指辙售,送衣服,送包包....種種方法只為搞掂她飞涂。
1.4事件:(女)結(jié)婚ing旦部,但不是你的意中人。你的意中人身披金甲圣衣较店、駕著七彩祥云來......(感覺要發(fā)生點神馬事情)......
二士八、VBA(Excel)中常見的對象
2.1工作簿:也就是Excel文件,Wokrbook表示梁呈。
2.2工作表:工作簿W(wǎng)orkbook中的對象婚度,WorkSheet表示
2.3單元格:工作表WorkSheet中的對象,可以用Range或cells來表示
2.4圖表官卡、圖片等等其他對象蝗茁。
三、集合:類似集體相親寻咒,大家一起玩相親......又如一個住宅小區(qū)是各棟樓哮翘、綠化等的集合。集合本身也是對象毛秘。
3.1 多個工作簿饭寺,Workbooks表示工作簿集合。
3.2 多個工作表,Worksheets表示工作表集合叫挟,一個Workbook是包含很多個工作表的集合艰匙。
3.3 Sheet,即可以指工作表Worksheet霞揉,也可以指圖表Chart等旬薯。見下圖,Sheet可以是黑色框內(nèi)的任一個對象适秩。Worksheets表示工作表集合是同類型的绊序,如一群獅子是集合,但都是獅子秽荞,類似英語中的復(fù)數(shù)骤公。Sheets集合就是指工作表、圖表等這些對象的集合扬跋,可以是同類型的也可以是不同類型的阶捆,得看實際情況而定,如一群動物,有獅子有鬣狗有斑馬有鴕鳥.......洒试,又如一群動物倍奢,但只有獅子沒有其他動物(吃光了)。所以垒棋,工作簿中只有工作表卒煞,那么Sheets就是工作表集合,工作簿中有工作表有圖表叼架,那么Sheets就是工作表和圖表的集合畔裕。
代碼一般是這樣的結(jié)構(gòu):
Sub 代碼的命名()
中間這里寫代碼
End Sub
【特別注意:運行代碼前,請將鼠標(biāo)光點放到代碼區(qū)乖订,操作:菜單欄--視圖--本地窗口扮饶,打開本地窗口,鍵盤F8一下一下地按逐句運行代碼乍构,看每句代碼運行之后的效果】
Sub 父對象與子對象()
'設(shè)定對象要使用set語句
'如設(shè)定a為單元格區(qū)域 [A1:A2]
Set a = Range("a1:a2")
'設(shè)定b為工作表
Set b = WorkSheets("小明")
'a的父對象的名稱
sheetname = a.Parent.Name '返回sheetname=小明,即工作表的名稱
'b的父對象的名稱
workbookname = b.Parent.Name '返回workwookname=1.對象屬性方法.xlsm,即工作簿的名稱
MsgBox sheetname
MsgBox workbookname
'即:層級關(guān)系是:單元格---工作表---工作簿---甜无??蜡吧? 從小到大毫蚓。參考下面語句
' a 已設(shè)定為單元格區(qū)域昔善,見上面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
'指定當(dāng)前工作簿活動工作表中某個單元格的值為100
Range("a1").Value = 100
'VBA可以不激活對象就對對象進(jìn)行屬性修改君仆,如下語句:設(shè)定【1.對象屬性方法.xlsm工作簿】下的【小明】工作表的【A1】單元格值為200
Workbooks("1.對象屬性方法.xlsm").Worksheets("小明").Range("a1").Value = 200
'有些對象的屬性是只讀的,不能簡單的通過賦值來修改牲距,如工作簿的名稱Name屬性返咱,單元格的Text屬性
a = Range("a1").Value'將單元格A1的值賦予給a,根據(jù)上面語句a=200
Range("a1").NumberFormat = "$#,##0.00" '設(shè)置單元格格式
b = Range("a1").Text'返回單元格A1的格式
Name = ThisWorkbook.Name'返回當(dāng)前工作簿的名稱【"1.對象屬性方法.xlsm"】
End Sub
Sub copy()'單元格的copy復(fù)制(方法)
'將單元格區(qū)域d12:f15復(fù)制到h12
Range("d12:f15").copy Destination:=Range("h12")
'可以簡寫為
Range("d12:f15").copy Range("L12")
End Sub
Sub 單列去重復(fù)方法()'利用錄制宏:【數(shù)據(jù)--刪除重復(fù)項】 生成的代碼
'Columns:=1,1列數(shù)據(jù)
' Header:=xlNo牍鞠,數(shù)據(jù)沒有標(biāo)題
Range("$K$1:$K$15").RemoveDuplicates Columns:=1, Header:=xlNo
End Sub
Sub 多列去重復(fù)()
Range("$N$1:$o$15").RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo
End Sub