0% found this document useful (0 votes)
10 views

ExcelVBAProgram.pdf02

The document provides an overview of Excel VBA programming, including concepts such as Object-Oriented Programming (OOP) and the structure of VBA objects like Workbooks, Worksheets, and Charts. It discusses properties, methods, and collections associated with these objects, as well as variable types and usage in VBA. Additionally, it outlines the application hierarchy and how to reference specific elements within Excel using VBA syntax.

Uploaded by

Keing Ruekpisut
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

ExcelVBAProgram.pdf02

The document provides an overview of Excel VBA programming, including concepts such as Object-Oriented Programming (OOP) and the structure of VBA objects like Workbooks, Worksheets, and Charts. It discusses properties, methods, and collections associated with these objects, as well as variable types and usage in VBA. Additionally, it outlines the application hierarchy and how to reference specific elements within Excel using VBA syntax.

Uploaded by

Keing Ruekpisut
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Excel VBA Programming

1'WU'Vl~~1'W1i11m'!::;Ulb~mnu VBA bb~::;t-lillIf11'1 VBE ~'liJ'i'1'l'WuJ'::;n'ElUIf11'l1 b'll'W Project Explorer ~211l-J1J'Cl


~i1ln1J'nU~llUb'~n!il bL~:; Code Windows ~H'~i1ln1J'nu~li'l'lJll'l VBA bu'WIii'W Yh1~l1n~I?J-l'Wl'VlJ'1Un'lbf'111l'lilll
~1·n~'ll-JnUn1J'~I?J-l'Wlbb'ElU'I'l~bf'1.r'WiII'ltJ VBA .
1'WU'Vl~'1:; bL'W::;Ulbb'W'l~i1lbb~::;~Wi1'Wn1J'~I?J-l'WlbbllU'I'l~Lf'1.r'WiII'ltJ VBA

~'l"'l :;'lI'ltJ 1~l1n~I?J-l'W1 boih 1"'lt-l~n n1nL~::;211l-J1Hl~1?J-l'W1 bbllU'I'li'i b01.r'W1i11llth'liJuJ'::;~'Vlfim'l'l

3.1 "a"iinlSWGuU1WSlmSUUiJ\l VBA


t-I~nn1J''lJll'l VBA "'l:;1l1~mb'W'li'\i1lbbUU Object-Oriented Programming (OOP) ~'11~01'lIl-J21'W1"'lnu1'I'1~t-I~1l
~'l!?l1'l1 ~'l(j-tJn~1 "~llUb'~n!il (Object)" r1'l'!'W n1J'~I?J-l'WlbbllU'I'li'iL01.r'WL~1lH''l1'W1'W Excel ri1'ltJ VBA 'hu'W!iill'l~m~n
n'l~llUL~n!il!?l1'l11'W Excel 'Wllmln~liiil'lmlU~'1n1J'nlt-1'Wi1l21m'l::;Lb'li1l~1ll-J1~nu~llUL~n!il L'lI'W nl J'nlt-1'W(M)ru21 l-J U'1l
(Property) nlJ'nlt-1'Wi1l75finlJ' (Method) LL~ ::;nlJ'nlt-1'Wi1l Lt-IIiJn1nW (Event) LU'W!ii'W ti1ltJnlJ' nl t-1'Wi1l21m'l::;bb'li1l~ll l-J
Lt-I~ 1~"'l :;'lI'ltJ1 ~211l-l1J'Cl01 'lU 0ll-J~llU L~ n I'll~Y11'11'WI,h'l11i11'Elth'liJu J'::;~'Vljjm'l'l

3.1 .1 ailu('hGi (0tdec:t)


~llUb''1n!il (Object) 1'Wl-!l-J l-JiI'l'lJ1l'lnlJ'~I?J-l'W1LLllU'I'l ~ L01.r'W t-Il-JltJn'l ~'l~211l-l1J'Cl01'lUf')l-J1~iJ0lru21l-Julii (Property)
75finlJ' (Method) LL~ ::; Lt-IliJnlnW (Event) 1ri1 iJ~'1~Lu'WiillUL"ln!ilL~m (Single Object) t-I~lln~l-J'lJll'liillUL~n!il~(j-tJn~1

"01ll~Lii01.r'W (Collections)" iil'llltha)llUL~n I'11'W Excel 1i11LLrl 21~i1l'lI'W (WorkBook) m::;i1l1~Y11 n1 J' (Worksheet) Lb~::;
LLeJ'WlJil (Charts) LU 'W!ii'W
_ ,L

• 6I&lala6lIlU (Collections)
01ll~;H~01.r'W (Collections) ~1l "n~l-J'lIiI'liillub~n!il~LU'WUJ'::;I.f1'VlL~mn'W" (LLIf1~ll'lH'~ll !?l 1'1 n'W) L'lI'W Collections

~1l "Wo rkbooks" bU'W1l ~l-J'lIiI'l~llUL~n!il "Workboo k" ~'1t-1l-Ji1l~ Ltli1lH''11'W1l~ tli1mLIf1~::; Workbook liill'lH~ll~
LLl'1 n!?lI'1n'Wl~htJ Lu'WIii'W

• cnCiiilduu&l\)5&JuiSnGi (Object Hierarchy)


~llUL~n!ilm01J"l21¥I'lnlJ'~i1lL1tJ'IbLUU~Ir1ui'W (Hierarchy) ti1ltJi'WU'W~i1l LU'W~i1UL~ n !il Application (1'W~~n~i1
Excel) dJ'W~llUL~n!ilLLuu Single Object mtJ1'W~i1UL~n!il Application '1::;UJ'J'''l Collections 1f11'11 L'lI'W

Collections . .
~1l "Workbooks" Lu'Wn~l-J'lIll'l{)llUL~n!ilL75f01u01 (Workbook) ~'1t-1l-Ji1l
Collections ~1l "Windows" Lu'Wn~l-J'lJll'liillUL~n!ilt-lill!?lI'l (Window) ~'1t-1l-Ji1l

Collections ~1l "Add lns" Lu'Wn~l-J'lIll'liillUL~n!il Addln ~'1t-1l-Ji1l

1'WbLlf1~:; Collections 211l-l1J'CliJ Collections ~'W11l~mtJ1'W1i11~n L'lI'W mtJ1'W Collections ~1l "Workbooks" "'l::;il

Collections 1f11'11 L'lI'W


Am,·
ihW1~Jj" LA~

Collections ~tl "Worksheets" huun~l-J']Jtl'liitlUb~niilh'iff'l~'Vl (Worksheet) ~'1"'l-Ji1l


Collections ~tl "Charts " huun~l-J'1Itl'l41tlUb~niil'lllf(;l (Chart) ~'1"'l-Ji1l

. Collections ~tl "Names" dJun~l-J'1Itl'liitlUb"iniil Name ~'1"'l-Ji1l

I'll m HI hh~i1l'l~ 1 r;1U.ff'U'lI 'tl'lii'tlu h~ n !il~'tl flU1 ~ 11oii1'1~U1';;"''1lU

Worksheets

PivotT abies

"nnlUbb~i1l'l"''l'tlth'lihr;1u.ff'u'1I'tl'lii'tlUh~nIil1u Excel ~iJnlJ'~i1lh~~'1~1"'U'tltJ1'1bUUJ':;hU~u ~'1~'i'l1,x~l mJ'moii11"l


1U~1"'UnlJ'Y11'11U'lI'tl'lbbr;i'i'l:;-1i'tlU b~nIil1';;~1~~U
... ... c:; ~ r

3 . .2 n1Sn\lMil Uli» GI (Object eference)

Application .Workbooks("Book 1") .Worksheets("Sheet2"). Range("C5")


I I I t.­
0%" " .:"1 " .. ~ ~ 0 '" .. ~ ~
f'l1>i'l'1l1'1Ii1UbuUnld'tl1'1b1Wll'i'l'i'l "C5" bum:;(911l:t'Vl1nlJ"ll'tl "Sheet2" '1Itl'l~~i1l'llU'll'tl "Book 1" bUU1'1f'lN

'\,n nt11'1D'I~~i1l'llU~n1~'1H''11U1U'lIru:;Ju hj~1buu#f'tl'lt11'1~tl~~i1l'l1ufi1';; bb~i1l'l"''ltltJ 1'1~1i''11';;''''1e

Worksheets("Sheet2"). Range("C5 ")

Range("C5")

!
Excel VBA Programming

3.1.3 .ruauuGi ( roperty)

Worksheets("Sheet1 ").Range("A 1")Value =30

3.1. J6ms ( ethodl


1fin1~ (Me tho d) bth,jn1HhVl'W i?l n1~nJ':;Yi1U1'1 '1l£h.'11~nU'Ei '1l Ub9niil b'll'W n1V1'W(i)1~~'1lUb'~niilChJnH' Method
"Clear" ~ .
Vll-J1tJ~'1 n1J'I'l1J~ 1ii'fl:!JI'l~'E1tJ'1'W~mJb~niil btl'W~'W bb~i?I'Iiil'"J'1l tJ1'1~1i'l1J;r,;)'1~

Worksheets("Sheet 1"). Range("A 1") .Clear

bb~(i)'1 iil'd'fl th'l Property bbl'l:; Method 1'W Excel

;JiJu!5mii (Object) Property Method


Applications DisplayFuliScreen Help

ActivePri nter QlJit

Workbooks Author Save

Name Close

Worksheets Visible Select

Cells Copy

Rang Column(s) Copy

Count PastSpecial

Chart HasLegent Copy

HasAxls Delete

1. bll(i) hJmm:!J Exce l VI~'1"11n'!'Wu'W~nlvJ~dJ'W "ObjReference .xls" b~~"1bb~'"J n i?l~:I.J "Alt + F11 " b~mll (i)
n1J" Hi'l1'W VBE

2. r,;)UbGI'lf'1~n~'fltJb~n~I;~'1l "Sheet1 " "'nn Project Explorer "1:;,j,1nD Code Window ~1V1f1Jb~tJ'WA1i'l "l1 n,!'W
1~b~tJ'WA1i'lr,;)'i~
Excel VBA Programming

Nu enc-.JLariable d~hJI?l'dbbU~~bnuoif'ill;j',;'HthJI?l'db'6'1'l1bb'6'1:;1fh.Jn'lJ'~'l'l..l'lru b'll'W B = 5, Z = 100 bU'WWI'W (1'W~d~'il


'lI'il'lI?l'dbbU~~'il "B" bb'6'1:; "z" ~'1il"h1'WI?l'dbbunu'W 5 bb'6'1:; 100 17I'l'-J~'lI11U)

String Variable dJ'WI?l'dbbUJ'~bnuoif'ill;j'6'1bU'Woif'ilFl'd'l'-J m~fh)'1'W(i'I~'l1,xr#l'dbbUJ"lIi:l(i'ld~'il'l1'i'l Double Quote Fl~'il'-J~'l


lil'J bbU J'~\'dtJ b'll 'W strName = "~'l11n~'-Jyj bFlY1~" b'lJ'WWI'W

Array Variable vi1'il~b~tJn~'l "1il'dbbUnbUUmmJ" bu'Wnt1'-J'IJ'il'lr#l'dbbUJ'~il"lli:l(i'loif'il'-J'6'1b~mn'W


, ilJ'UbbuumH'hvl'l.J(i'I
~ ~

~'ilIil'dbbU J'~'fl ;j'fwI'Jw..h(i) 'i:(i'ltJ~ i bbVl'WIil'db'6'1'IJ b'll'W MyArray(1) = Computer, MyArray(2) = Book d:I'W(il'W

• nnrnsGI~~GijIllJs

" ,
,x'l'-J~'WWI'WIij''dtJl?l'db'6'1'l1 'v11'il'1ln'll~:;~'W1
hl1oiibFl~'il'l'v1'-J1tJVl1'1FlruM'l'i'1l71f l?l'J rihi:l'Wm~ (Operator) 'v11'f)1il'J'1ln'IJd':;~u'\'Et (#, $ , %, & bb~:; !)

VBA "I:;~ 1'l'J'l'-J1?l'J'fln'Et~~'-Jyjb~ mb~:;~'-J'\I11mlJ bU'WI?l'J b~m n'W bb~:; b~'f)1,x'ih'W;'f)lrA'~'ltJ 1'l'JJ'1oiivY'IIil'd'1ln'Et~~'-Jyjb~ n

bb'6'1:;~m'l1'v1rlJ b'll'W Commission Rate hl1'1l commission rate


hi ~'lI'il'l~'l'l'v11'f)bFl~'il'l'v1'-J'ltJ"'l(i'l ()
'i'1'lmd'bl1oiibl'l~'f)'1'v1'-J'ltJ Underscore U 1~ b'll'W Commission_Rate
.
'i'1'l'-J1J'bl~'1~'fllrA'm'd'i'1'1'i'1(i'1
, 254 1il'J'1ln'Etd'
ldJbil'W~'l'i'1'1'J'W (Reserved Word) b'll'W ;'flYi'lni'W (Function) 'v11'f)~'li'lVl'l'lmJ'~'l'W'Jru bU'WIPl'W

~ 'f) 1?l'J bb U~~ ~ Fl'd ~~'f) Fl'J'l'-J'v1'-J1tJ ~'1 ~n'Etru:;'lI'fl'lIil'd bb u~1,x'-J'l n~ ~ (i'I m"l~'WI~l'WrA''JtJ'1ln'EtJ'tl'f)'IJ'fl'l"lli:l(i'l-ii'fll;j'6'1 (Tag)
~'1 bu'WIil'J'1ln'EtdJ1'l'Et'l'1l'l ml'Et 3 1il'J bb~'J!il1'-JrA''JtJ~'flI?l'J bbUd' b'll'W ~'1;'fl bU'W "I ntSalary" 10ii bnU~'l b~'Wb~'fl'W'i:(i'ltJil"lli:l(i'loif'f)l;j'6'1
bU'Wb'i1'IJ~'l'W'd'Wb~'-J dJ'WWI'W

l?l'dbbUJ''V1nl?l'd''l:;WI'fl'l~(i'lbnuoif'f)'-J'i1 ~'1il'fltl~'dtJn'W'v1'6'1'lnVl'6'1'ltJ'i'UbbUU b'J!'W l?l'Jb'6'1'IJ 1?l'd'1ln'EtJ' 'v1ffi.-r'W~ bU'WI11'W ~tJmUbbuu


q qJ 'tI ~ 'lJ

mt1'll1-;i1 ""lIi:l(i'loif'fl'-J'6'1" ~'1ill'lru'i'1'-Ju~bb'6'1:;mJ'1oii'l'l'W~~'l'ln'W ~nvY'ItJ'I1.jf~'W~1'Wml'dtJi'1'd'l'-J~'lI9i'l'ln'W(~·'dtJ


• q

UU11i1

Byte Byt 1 hWI o n'l 255


Boolean Bin 21Uf>'r True'v1'1\'l False

Currency Cur 81UIYI -922,337,203,685,4 77 .5808 Ci'l


922,337,203,685,477 .5807
IK':'II~

rut 9999
Double Obi 81u~ -1.79769313486232 x 103()B ii..,
324
-4.94065645841247 x 10 (ci1'v1fU
~l\.1'l\.l'i'lU)
\L~::; 4.94065645841247 x 10
324
~..,
1.79769313486232 x 1OoCB (~l'v1rU~l\.1'l\.l
u']n)

Integer Int 21u~ -32,768 n'l 32,767

Long Lng 4 LUIPl -2,147,483,648 ii'l 2,147,483,647

Object Obj 4 LU~ Reference 'lJlI'l{)lIuL~nlii


38
Single Sng 411JIPl -3.402823 x 10 ~'l-1.401298 X 10-""
(~,)'v1fu~l\.1'l\.l~U)
45
LL~:; 1.401298 x 10. ii'l 3.402823 x 1038
(~,)'v1rU~,)\.I'l'i..!U'ln)

String (variable - Str 10 lu~ + (Pl,],)l.Jtn'l 0 D'l l,h':;m ru 2 'I'1\.1~l\.1


length) String

String (fixed - Str A'lll.Jtn'l'lJlI'l


length) String

Variant (with var 16 Lu!i1 L'v1rlllw'lu'li'l'l-iim;l~'lJ'tl'I Double


numbers)

Variant (with va r 221uIPl + m1l.Jm'l 0 0'1 U~:;l.J1ru 2 '1'1\.1'11'1\.1


c haracters) String

n1~n1'V1\.1(?1'lln(?1.;r'1ll.J~ 1'IXiil'l Lblh~') bU\.!I~''1l'lYi'''llHlJ1 ~'l~n1tru:;oiim.J~~iJm,J!Il'l~ b'li\.l 'v11 n#i'1l'l mnnu ~1 butJiil'l L~'lJ
~ ~

~1'kl'ltJb~l.J il~l 1 - 9 bb~:;Hy;'htJ'lru ~'ln~'1ln'lln(?1oii'1ll.J~bUtJ Byte ~'ll.j(~tJ~ltJ'V1ll'lW'l'lll-JL~~'l 1 llJ~L'lht!tJ ~'lr.J~1'IX


~

r.~fI'lll.J L~~'lr;imJnn{)m'tnr'V1U'l~A'lll.J~l~l~'1l'lbliil.Jl~ LutJ#itJ

4.3.3 mslJs:
LiJtJ~li'l~'f111'IXm1UO)liil'l LLu~"'l:;1.j(il'lln(?1oii'1ll;j~LutJ'lln(?11(?1 tJ'1ln"'lln~~'l LUtJn1~"'l'1l'l~tJ~n1m1'lltJ 'f1') l~·hJnLml.J
.
\h:!1tJ>lIii'L~'l~tJ ~'tULLlJU r;)'l~
Excel VBA Programming

"I v 'V 6'] 'V 0 I I 'V .::!.I Q/ "I 0 I 'V r.:S. 'V
"lln~UbbUU'nl'1I'1'W9:; 6'TIA1'l1 "Dim" tJ'El:IJ1"nn "Dimension" I'Il:IJi?I'ltJ'll'ElI'I'lbbUd' bb'~:;Al'll "As" bbgj'l9'11'11:IJi?I'ltJ

'llUi?l1i'Ell;jgj~!ii'El'lmnnub'WIIl'lbbUd' bb'6'1i?1'1I1l'l'Elth'll~I11'1~

(1 ) Sub DataVariableO
(2) Dim IntSalary As Integer
(3) Dim StrName As String
(4) Dim x As Integer

(5) End Sub

1Il'l bbbUd'~'El "I ntSalary" l:I'llUi?l1i'Ell;jgj bll'Wbgj'll~l'W'l'Wb~:IJ

lIl'lbbU~'El .
"StrName" l:I'llUi?l1i'El:IJgjbU'W1i'ElA'll:IJ

lIl'lbbUd'~'El "x" l:I'llUi?l1i'Ell;jgjbU'Wbgj'll91'W'l'Wb~:IJ

Byte Byt Dim BytRount As Byte

Boolean Bin Dim BlnAbort As Boolean

Currency Cur Dim CurSala ry As Currency

Date Oat Dim DatStartDate As Date

Double Dbl Dim DblPi As Double

Integer Int Dim IntRetvalue As Integer

Long Lng Dim LngParam As Long

Object Obj Dim ObjGraph As Object

Single Sng Dim SngLoadFactor As Single

String Str Dim StrUserName As String

Variant Var Dim Varlnput As Variant

'i-nn bJl~ud':;m f111l'l bbU d'<J 1 bU'W1i'tll;jgj'llUi?lbi?lHn'tl'W 1Il'l bbUd',!'W9:;Q nr"hI,-\'Wi?lb<Xl:I'llUi?l1im;jgj bU'W Variant bi?ltJ'Ell'I b'Wml

~'1 bll'WIIl'l bbUd'~ '6'11:1J1d'n bU~ tJ'W'llUi?l1i'tll;jgj 1~ ;'W'tl~ nUlU bbUU1i'tll;jgj~ bnu Wl'W1Il'l bbUd',!'W1 111'111l'l'tltll'1
Excel VBA Programming

4 ..3.4 •
r1'lSl11ftUGIrr.rlllIKrl

n1nhWW()1~1~'dbbU'''l:;!i('1l''!'l'1l(;]r1~'1l''nU'lliJ()1;r'1l:IJ~~u':;n1V'11~ b()1U"l:;H'b'1lbU'1lbnl?l'1lfb'lllnU (b~~'il"'\-1mUb'lllnU


~l.jjl:wvn,,~ruMl!'llllf) ~ln:;'\-1~l"~'1l~'dbbU,nlJ~l~':;1J r;1"~'l'1lth"

Sub VariableTestO
IntSalary = 500000
StrName = "'1l1Ul"l "l"b"ll'C)dtl""
x=x+1
End Sub

"lln~'l'1lfh,,;rl,,!i(U~'lbbU~'tl "lntSalary" lJ~lb'lllnU 500,000 bb~:;~'lbbU~'tl "StrNa me" bnlJojf'Elr1'll:W~l "'1l1Ul"l


"l"b"ll'C)d~"" n-iib0i~'El"'\-1:Wltr Double Quote lun1nll'l,ju()1"hl~nu~'lbbU, String) U'Eln"lln~tJ"!'llm,nnl'l,jU()1~11~nu
~'lbbU,~1Ji"llnn1'~lU'lru A'El ~'lbbU~'tl "x" lJ~lb'lllnlJ~~~~fi~bn()1"llnn1'~lU'lru'll'tl" x + 1

U1"~ ¥"lJn1,H"lU~'lbbU'b()1trhnJlu':;n1V'1H m"lri'1l1~bn(;]ojf'tl~()1~~1(;]1Ji r;1",xum"lb~trU~li'l "Option Explicit"


Hb'l,jC'tlb~'~btr'1lfbb,n b~mJ"V'1ul~U':;n1V'1~'lbbun'lnr1f'l bb~:;tll~U~'lbbU~hnJlu':;n1V'11~ "l:;bb!'l(;]"ojf'tl~(;]~~l(;]l~'Vmu

4.3.5 UOUlUGlIJil\lGI311l1s

• Gi51Us Local

dju~'d bbU'~U':;n1 V'I'tl~mtrlub~'~ btr'tlfl()1 n"l:;l-ii"lU1Jl b'u~l:;mtr lub~,~ btr'1lf,xu b~'tlb~,~ btr'1lf""l"lUb!'l~"l bb~'l
~'lbbU, Local n"l:;'l,jltr1u ~'1btlUn1'Aum<htr~'dl:W~11~nm:;lJu

• IiPIIUs MockJtewlde

(1) Dim IntMean As Integer


(2) Sub Calculate1 0
(3) IntMean = 50

(4) MsgBox (IntMean + 30)

(5) Ca lculate2

(6) End Sub

(7) Sub Calculate20

(8) MsgBox (IntMean + 10)

(9) End Sub

b~'il,",~n~'i:'fjJ';L~'ilf "Calculate1" LL~'l Run 'i:'fjJ';L~'ilf "1:::1!ile.JI1~'fjfidJ'Wiil'lLI1'lJ 80 L~'il,",~n~>J "OK" "1:::Wi'1i?1'l


iii'] LI1'lJ 60 iil'ltU

P,
A I B C 0 A , B C I 0
I ! 1 ! 1_­
2 2
3 ~ 3
4 4
80
5 5
II
I Ii
6 " 61( 6
7 7
8 I 8

"11 niil'l'iltlWii1'l ~'Wl!ilu d':::nl f"Iiil'l LLU d' " lntMean" dJ'WLLUU Modulewide (Udd'-A'i?1Vl 1) "11mr'Wrhvl'Wi?1~'h11Xnu
IntMean dJ'W 50 (un-A'i?1~ 3) LL~'lLL'i'1i?1'l~l IntMean + 30 (UdJ'-A'i?1~ 4) lri1e.JI1~'fjfiL1'J'W 80 VI~'l"11mr'W~~n1-n

'i:Yid'~ L~'ilf Calculate2 (UdJ'-A'i?1~ 5) ;'l"1:::LL'i'1i?1'l~l IntMean + 10 (un-A'(7)~ 8) lri1e.JI1~'fjfiLu'W 60 ',

• mlllJs Public
Lu'Wiil'lLLUd'~'VJn'i:'fjd'~L~'ilfl'W'VJn{i'ilUL~niil'lJ'il'l Projec ts 'i'11~lnlH'l1'Wlri1 'i:(7)~UJ':::nlf"lri1'l~ficl"L1f(7) Public LL'VI'W

Dim ri'il'W'i:'fjd'~L~'ilfLLdn iJ t ULLUUnld'Ud':::nlf"ll11'ld

L..-_ _ _ _ P_ub_l_ic_ln_t_M_
e_an_A_s_ln_te_g_e_r_ _ _ _ _ I/' .
nld'Ud':::nlf"liil'lLLUd' Public 'i'11l-m(lud':::nlf"l1'W{i'ilUL~niil Module Vl1-'il~'ilUL~nmi'Wl L~'il11X'VJn{i'ilUL~niil'i'11:1-J1d'(l
i1~nH'l1'Wlri1 'i:i?1~"1:::,;r'il'lUd':::nlf"lHri'il'W'i:'fjd';L~'ilfLLdn iil'lI11'l'iltl1'1

1. 'i'1~l'1{i'ilU L~nI9l1V1~'i: (7)~,",~n'lJ'l11'W Project Explorer ''l1mr'WL~'ilm~1;} In sert ~ M o dule "l :::unn{] "Module1"

2. li1uL;JI1,",~n~{i'ilUL~niil "Module1" "llmr'WL;~'W'i: ~i?1~li'l l?1'ld


Excel VBA Programming

(1) Public IntMean As Integer


(2) Sub Ca lculate 10
(3) IntM ean = 50
(4) MsgBox (IntMean + 30)
(5) Sheet1.Calculate2
(6) End Sub

(1) Sub Calculate2()


(2) MsgBox (IntMean + 10)
(3) End Sub

4. Run 1:'Y'I~LU'f)f Calculate1 "l:::unnD Message Box LL~rn'lIi1'lL~'lI "80" ~'lLtlUI:.J~:Wl"llnn1J'lYmfll IntMean

~'ltJ 30 "llmr'L..lf1~n~:w "OK" "'l:::Udln{]Ii1'lL~'lI 60 ( LtlUI:-J~"llnn1J'v11'l1'L..l'll'fl'l1'Y'1d~LtJ 'elf Cal c ulate2 ~'el~1'L..l


Sheet1 'I1W'el'l )

• m"5l1l1s Static

ud:::n1P1Wl'L..ll:'Y'Id~ LtJ'elf (LVli1'f)'L..lnu 1Il'l LLUd Local) 1rntJfll'lJ'f)'lIll'l LbUd"l:::tJ'lf1'l'f)~Lri'f)b'Y'ld~ LtJ'f) f"l Un1dv1 1'llWb~'l

bL~:::H'l1'L..l1~b'Um:::mu1ub'Y'ld~LtJ'f)f~ud:::n1P1I1l'lLLUdHLYh,r'L..l

Static IntMean As Integer

(1 ) Sub Calculate1 0
(2) Static IntMean As Integer
(3) Dim IntData As Integer
(4) IntMean = IntMean + 10
(5) IntData = IntData + 5
(6 ) MsgBox (IntMean & " " & IntData)

(7) End Sub


(8) Sub Calculate20
(9) For i = 0 To 3
(10) Calculate1
(11) Next I
(12) End Sub

2. Run b~J'~lEJ'elf Calculate2 ~~unn{] Message Box U~i?"'l!9l'll'i'l'IJ 2 f11 lri'elf1 ~n "OK" ~~~~l~un1nhnw
~'1~U

I I

10 5 20 5 30 5 40 5

Ir:::::::::::i?K. ::::::::J) I::::.::::::9.~:::::::::.::JI IL.::~~:§( :::JI I::::::=::SiK::::::::~:D


~ln~ulth'\"-J'i'l~~tf~ln~li'll'Wumli?1~ 6 bi?lm'i'l'1l!9l'l",ih~'el IntMean ('llUi?I Static iif11lu~tJ'WluLi'eltJ1) ~'l'Wl'i'l'1l
~'lVi~'l~'el IntData ('llUi?I Loca l) iirllLyilnu 5 L~:W'el ll'i'l~"l1C~~~n'i'lU~'1Lri'elYll'11'W~U l'W'1Iru~~!il'lLLUJ' IntMean ~~~ 1'11
~ ,
j.nn~t.lL~'eltJ11111:W~1'W'l'WJ''elU'1l'el'ln1 J'Yll'11'W

4.3.6 Gi511lJsa11sB (Array)

D1~L1tJnH",1'el~1'1~'1(;'hLLml'l ~L1tJn~1 "~'WL~n'lf (Index)" bi?ltJnlJ'~l'1~'1~:Wl:nnl'W'el1mrJi1'el'lH~'el'1l'el'l'el1mY ll~'l1111:W


~'ltJ~t.l L~no£'1I'el'l~:lJ1'fi n

n1J'UJ'~n'iV'\'el1 LJ'tJ~~H ~1~1 "Dim" 1111:w~rjtJ~'el !9l'lLLUJ''el1 mY LL'i'l~!9l'l L'i'l'1l L~'el~l'1~'1~:lJ1:n n l'W'el1lJ'tJ bi?ltJ b~:w"nn

~1 0 ll~'l1111lJ~'ltJf11'6'li?lYiltJ'1I'el'l~'llC ~lmr'W~'1nl"''Wi?I'llui?loii'ell;l'i'l 'W'eln~lnCi('1ii~ULLuu~m~-nu~'1C


Excel VBA Programming

Sub ArrayVariableO
Dim IntSalary(O To 50) As Integer

Dim IntBonus(50) As Integer

End Sub

"11niil'l!lth'lnlJ'l.h:; n1i'\ml~~'fl "lntSalary" ll~:; "lntBonus" lJ'l!v'li1oii'fll;j~lU'W Integ er lJ%'1m:nn~'1'j,.\~1i1 51 iil'l

(~~~Uiil'll~'lIiil'l!U 0 lU'W%'1m:nniil'l~ 1) 'j,.\lntii'fl'ln1~li1iil'l!uiil'lllmhn'li 0 lu;hu'W 1 %'11~1~[l1oiffhi'liil'lI7l'flhJ.n

Option Base 1

1'W~'loii'flri'fl'W'j,.\ill.nlu'Wml~6 1 ij~l'VhJ'W llYi"11'1ll~'l'illmm1~1i'l 60 ij~ n1nh:;n1i'\ml~6'j,.\~ltJij~%'11mJ'[lYi11~


bli1 tJn 1 n:;1.j'll'Wlli1'l1'fl'llll7l~:;ij ~HmtJ 1'W'l'l v~u c11i1"11 n~ 'fl'll'il'lm l J'6 ll~ :;'lI'WlIi11'Wlll7l ~:;ij~"1:;lh:;n1 i'\ lltJ n"11 n tl'Wbli1tJ 10if
, , ~

lV'l1'fl'l'j,.\~ltJV'I'fl~~.h (.) ~'W r;1'1U

Dim IntArray2Dim(1 to 5, 1 to 5) As Integer

"11n~lhlUuoiil'1rfi'WlU'Wn1J'1h:;n1i'\mlJ'6 2 ij~ lJ'l!v,li1oii'ill;jmu'W Intege r ll~:;lJ%'1~l:nn~l'W'l'W 25 iil'l (%'11m~[l~'il'l


mlJ'6 2lj~ lU'Wllmll~:;V'I'fl~~'W1~) n1J'~1'11i'l%'1m:nnl'WmlJ'6 2 ij~ Yi11M'I~

IntArray2Dim(2, 5) = 20

Dim IntDiArrayO As Integer

, 0­

ReDim lYl'flnl'j,.\'WIi1~ l'W'l'W%'1~l:nn r;1'1U

Sub DynamicArrayO
Dim intArrayO As Integer

ReDim intArray(5)

End Sub
• rnSIoo,UG13l1lJsanlsB
n'1 J'H''11'Wiil'l m.htl1 bJ'tJyh 1riibli1tJ~1'1 (i'l~tlm bJ'tJ~ ~tl 'I n1J' ~nl-J Ji'l tJ ~ 1bbVlll'l'lItl'I ~l-J1:.B nfl1tJl'Wm bJ'tJ~ ~'il'l n'1 J'
r'h~'Wli1 roi1V11-tl tStJnH'iim;ltl iil'l iil'ltlth'l

(1) Option Base 1


(2) Sub ArrayValueO
(3) Dim intArray(50) As Integer
(4) intArray(5) = 100
(5) data = intArray(20)
, ,
(6) MsgBox ("1'l:W1:nniil'l~ 5 ij"'"b'Vi1nu " & intArray(5 ) & Chr(13) & "I'lm:nniil'l~ 20 ij","
b'Vi1nu " & data)
(7) End Sub

mJ111n.."'h,;1s iiFi111,hnu 100 '"11n?;tJ 9::b"'W~1 I'lm:nniil'l~ 5 iJf'i1b'Vi1nu 100 1il1l-Jl~1i11'WmJ''Vl1i1


;1}m1nGh~ 20 iiFi11"hfiu 0
~ 4 ~'l'W~:W1:nniil'l~ 20 i:lf'i1bil'W 0 b~tl'l"ll ntY'IhJ1~n1V1'W1i1f'i111Xnu
I'lm:.Bn OJ ~1bbVtll'liil'lmi1'l

4.3.7 3mJs5il~5 .. (Object),

(1) Sub ObjectVariableO


(2) Dim activeCel1 As Range
(3) Dim activeWindow As Window
(4) End Sub

91nlA'li1ii1'1~'WtJJ'::n'1i'1iil'lbbtJJ'11Xdlwiil'lbbtJJ'-5tlUb~nr;l "Range " bbtl:: "Window" 'I1111X~1'1(i'l Property bb~::


Method 'lItl'liitlUb~ mloJ1'Wiil'lbbtJJ'1~ lli1tJ9::~tl'lH'Mb1fli1 "Set" tnVlU1 iil'liil'l'ilth'll7ltl1tJ11
Excel VBA Programming

9111 LC'ilVl11'WU'Vl~ eJ1'Wl-Jl1iJi'1l~1'"lii'l~'W3''W1l1 ~~(;lJ'W1 'bunLll~l-J 'li'"ltJ'l~l1ll'Yr(;lJ'Wl'Vl~1Uii'lVl'iin 1l1~~r.l1 dj'W~'1lIl1T


~(;lJ'W1'bumml-J 'W'1l n 91 nCu'lliJi' LL~ ~'11i{Li1'Wtil'"l'ilth'lIl1~~(;lJ'W1 'bumml-J'iltil'l~,tJ ~il,r'Wf;l'il'WIl1~vll'll'W1lJ-nu .n'1l'W ~,,,,r1J
LC'ilVll1'WU'VlC9:;dj'WL'VIflUflll1~~(;lJ'W1 'bunLnl'l-JiJi''"ltJ VBA ~i:lV'l'"l1l-JVI~1 nmmmil:;-nu.n'il'Wl-Jln~'W 'b~1tJ9:;H Buill-in
Fun ction {~ll1rir'il~~iill'l1

8 . 1 n,si)iiln,sGi~lau

Abs Abs(number) LL~If)'l1'i1 Absolute 'lJ'il'l!;]'"lL~'1Il'W number

Atn Atn(number) lL~If)'l1'i1~~ (!Pi1 Arctangent) 'li'il'ltil'lL~'lil'W number

Cos Cos(number) LLl;'l~N~' Cosine 'lJ'il'l!il'lb~'1I1'W number

Exp Exp(number) LL~~'lL~'lIS''W e 'lJ'il-:!til'lL~'lI1'W number


Fix Fix(number) tilIf)LI"Il!tLL~:;\LU~-.1I1l'"lL~'1Il'W number l~'il~l'W~util'lL~'lmuu Integer

Hex$ / Hex Hex(number) LLU~'lf'l1'l1'il'l~1'"lL~'!Il'W number 1~'il~1'W~uL~'lIJ1'W 16 (lU'lJ'il'l String)

Int Int(number) U~LI"Il!t~l'lL~'lIl'W number ~.:JL~'ill~'1l~l'WtU Integer

Log Log(number) LL'i'1~Nrh Logarithm 'lJ'il~!il'"lL~'lJl'W number

Oct$ / Oct Oct(number) LLU~-.l~1'lJ'il,:)vl'lL~'lJ1'W number l~'il~·t'WlUL~'lJ:l''W 8 (~1J'lJ'il.:J String)

Randomize Randomize [(number)) VI1 Random Number 'lJ'il~!il'm'l'lJl'W number


Rnd Rnd [(number)] VI1 Random Number 'lJfl'ltil'lL~'lJlw number ~'li11'i1r:;'Wl1'l 0 LL~:; 1

Sgn Sgn(number) LL'i'1~l-.lL"if'1l'l",mtJ'!I'il'ltil'lL~'Jtl'W number


Sin Sin (number) LL'i'1~1'l:Pi1 Sine '!I'il'l~l-J~rl1"''W1f)1'W number
Sqr Sqr(number) LL~~N"h nll'll'1l'ltil'"l L~'lJ~n1",'W~'l'W number
Tan Tan(number) LLIMil'<wh Tangent ~1'il'l~l-J~nlV1'W~l'W number
Val Val(slring) LLU~'lf'l1'lJ'il'l String l~'1l~l'W!u'll'il 'lf,'lL~'lJ

.
• aD&Jfi ~LI18UawGl"jlau

r.ll'W'l'Wbtiil-J 'bl7lmnntil'lLfl'llLU'WU'ln 9:;1~I'i1Lu'W 1 Vl1ntil'lLfl'lHU'WflU 9:;1~I'i1Lu'W -1 LLfl:;vl1ndj'Wbfl~~'WtJr'i9:;1~!Pi l LU'kl

o LL~I7I'lIl1J'H'l1W'h~'l~'l~'1l'lc;1'ltil'l'iltil'liil'1lhJC
MyNumber = 0.86
Dim MyString As String

MyString = FormatPercent (MyNumber)

8.3 n 1SiJGJn1S String

GJ1Sllln 8.2 bbM)'l Built-in Function VlHroli11n1l' String

Asc Asc(string) bL<'lI11'lfi')l'~~ ASCII 'll'il'l'1ln'l!tl'~1'::'41-w string


Chr$ / Chr Chr(charcode) bbUfl-l1'~~fi') ASCII ~1':;1JL'W charcode 1thtl'Woi,)'1lm~1'
Format$ / Format Format(expression, n"I'I~'Wl11lthLlJlJ'll'il'l expression 1i11l-J~thLlJlJ~n"l'\~'WI11L'W format
format)

InStr InStr([start, ]string1 , l1,)~,)LLV1U'I']J'il-l~,) string2L'W string1 tl11m~l-J~')n~,)LLl1U'I~


string2[, compare]) start 1?l,)l-J~ULLlJUn1nm~lJLVi~lJV1n,)V1'WI11·l'W compare

Lcase$ / LCase Lcase(string) LLurI'IIII,)'1ln'l!t1'L'W string L~'il~1uvJ'll'eNoi')~n'l!t1'oi,)Li-\n

Left$ / Left Left(string, length) oi~I~')'ll'il'l string '11n'if1£JhJ'll,)11?11l-J~1'W,)'W~1'~1JL'W leng th


Len Len(string) LL~I11'lr'l,)1l-Jm,)'lJ'fI'lr'hl'W string

LSet Lset stringvar = string rolI11A 1L'W string Lwnl11.]1tJ Lb~')n1 ').\'Wl11fi1L~nlJ stringvar

Ltrim$ I Ltrim Ltrim( string) vll11'll'fl'l~1'l'll'il'lr'hL'W stdng "11 n.n1 £J1u'll,) 1

Mid$ / Mid Mid (string , start[, length]) 1II111~1L'W string "I1 nI11 1LLV1U'I start 1?11l-1~1'W')'W~j'::'4L'W length
Right$ / Right Right(string, length) vlI11A1L'W string ~1n'll,)11t1.n1~1/I1l-J~1'W'l'W~1':;'41'W length
Rset Rset stringvar = string {(P1~11'W string lwnl11'lJ'l1 LL~'ln1 V1'W1111~nlJ stringvar

RTrim$ / RTrim RTrim(string) 1II111'li'1l'l~1'1'lJ'il'lcoi1L'W string r.nn'll'l11t1oii1tJ

Space$ / Space Space(number) 1.l.<'l111'l'll'fl'l~1'l1?l1l-J~ 1'W'l'W~n1').\'WI11L'W number


Str$ / Str Str(number) LLUfl'lri1 vl'l Lfl'llL'W number L~LtI'W string

String String(number, chara cter) Lb<'lI11'l!il'l~n'l!t1'L-W character ,K11?l1l-J~1'W'l'W~n1v.'W1111 'W number


Trim$ / Trim Trim(string) vll11'!1'il'l~1'1'i1'iln"l1n")11'W string

UCase$ / UCase UCase(string) LLUI"'1vl'l'1lf11:t1'b'W string l~'il~·l'W~t1vl')'1ln'l!t1'A')·ll1~·


Excel VBA Programming

CVDate 1 Cdate LtJ~uu1't.I~"Iln String ","hl i?l'lL~'!J1~d'jt.l Date


Date I Date$ ~t.lril'!1'iN1'U~U"l'1Ut.l
DateSerial bLM'l'lu~1t.1ltJ LL1J1J'!I!l~ Integer
DateValue LLl'li;)~1't.I~1t.1~tJmJ1J1J'1l-1 String
Day "~{'h'l1't.I~ (1-31)
Hour LLI:'\[i)-1.ff''l hN (0-23)

Minute 'L\'1[i)'1t.11V1 (0-59)


Month "~[i)'1 L~!lt.l (1-12)
Now LL~[i)'11'u~U"1"Ut.l
Second "1:'\[i)'1~U1Vi (0-5.9)
Time I Time$ U,1:'\[i)'1L'li'llU"'l'1Ut.l
TimeSerial ,,1:'\ [i)~ b'd~11u~tJ'!J!l~i?l'd L~'lJ

TimeValue LLtJ~~L'd~l"'lln String hMlu Date


WeekDay LLI:'\!?i'l1'u1u~\J~11"'" (1-7)

Year LLI:'\[i)'lU (hhnt.l 9999)

• msanJChlGi'l\)1fl String lumuH (Date)


L'Ll'Un1nbU\'l'lril1't.I~'e)~lt.1tULLUU String l,x'e)~lt.1tU'lJ'1l-1 Serial Number ~-Ji:Jri1J':::\,dl-J -659434 ~'1 2958465
LL~'l9'11':l1ril Serial Number !i1-Jmh'l~lLLu~NLtlt.I Date (~lnri1 Serial Number hi'1l~lt.1'll'd'l!i1-Jn'6il'd "l:::~t.I~hL1:lt.l Error
13 ~1!l Type Mismatch ng\'um)

~l~j"U Built-in Function ~b~tJ'loii'1l-Jnun1mUI'I-Jril1't.I~"llnttJbbuu String l,x'e)~lt.1tU'lJ'1l-J Date ~'e) CVDate


. .
~-J~'U"hi'e)~l'In~umdJuuJ':::IJ1Y1 Varian t LLI'I::: COate ~'1 At.lrili'1ll-Jl'lng\'U~lbljt.lUJ':::IJ1Y1 Date !i1-JI?l'l'e)tll'1rrJ'1l1un

(1) Sub ConvertDateO


(2) Dim DateStr As String
(3) DateStr co: "1 /15/46"
(4) result = "WI'l-5'Y'ifi"'llnn1nbtJ\'I'I1'u~~!l " & CVDate(DateStr)
(5) MsgBox result
(6) End Sub
""ni?l'l'1lthmJ'Wn1n~t1~'Iril'l'W~"lIn'ii'1lfl'lll-l "1/15/46" Li1IULtI:mml-l"l::;~ojh1"l'i1 "1" fi'1l rill~'1l'W '6'i'l'W "15" fi'1l
~11\..1~ ll~::; "46" fi'1l f'11'l1'1l'lU ""n~'W"l::; ~~t1~'I1,x'1l~1'Wttl~~uu Date ~~~'l~~l'li1l'l(:.J~~Ylfi~'lUfl1i'.:J MsgBox b~'1l Run
1LJ~~~~U'1lf"l::;1rJf(:.J~~Ylfii?l.:J.n

01(

r.n nttlb~l'li1l'l(:.J~~Ylfiilttl~~uu'l'W~dj'W Date ~'1l 15/ 1/2546 t-1l-l1U~'I 'l'W~ 15 ~~'1l'W l-lnnm-l Yl .Y'1. 2546
1r>1 tJ'1::;~~'i'li1l'l(:.J~1?11l-lttl~buU~nlt-1'Wi1IWl'W Control Panel '6'i'l'W~dj'W Regional and Language Options (1'W~.nn1t-1'Wi1I
~lh,l'l\..l ~~'1l'W b~~::;u~dJ'WYl'Vljj~nn'll)
, t-11n String ihtl~~uu~1lJrlnlii'1l'l ~'li'W "30/15/46" Li1IUf'11 "30" "l::;li']'Wril l~'1l'W
~ ~

~~n~I~::;t-1'il'1 1 ~'I 12 l'Vh~'W i1('I~'W l~'1l Run snuLYl~~lU'1lfoi.:JilojJ'1lfl'lll-lll~'Il~'1l'W-ii'1liJi1IYl~li11 dJ'WI;l'W

• msmJamGi5Iaulr\b'A'~u~uri (Date)
dJ\..Inlnltl~'Iril"l l ni?l'l~~'lI1,x~tl'W 'l'W l~'1l'W 1'1 Li1Iuboif DateSerial ilttlllUUn1~boif'll'WrIl'l~

DateSerial(year, month, day)

year

month t-1l-J1U~'I i?l'll~'lI~boifll'i'li1l'll~'1l'W ill"h~::;t-1'il'1 1-12


day t-1l-J1UO'l i?l'l l~'lI~boifll'i'li1l.:J'l'W ilril~::;t-1'il'1 1-31

.n'1lboif DateSerial lltl~'Iltl'W'l'W~1'W~t1 llUU


~
Date "I::;1rJf(:.J~~Ylfi'll'1l.:J'l'W~1i11mUllUU~nlt-1'Wi1I11l'W Control Panel
~

r.l\..1~dJ'W Regional and Language Options n ~I'lfi'1l t-11nnlt-1'Wi1IttllbUU'1'W~.tl'W11jj'l!l'ln~jj' n1nltl~.:Jril year


~;;l~CJ I'lt1~jrlij'Wu 1"1.Y'1. llliit-11 n nlt-1'Wi1I t tllluUlu'Wmjj'I1'Vlu n1nltl~'If'11 year "l::1rJf(:.J~~v'®iruu11 'Vl jj~ml'll

(1) Sub ConvertDate2(}


(2) result = "(:.J~~~fifi'1l " & DateSerial(2006 , 9, 30)
(3) MsgBox result
(4) End Sub

r.n n i?l'l'1lth'lbtl'Wn1nbtl~'Iril"llni?l'll~'lI (2006, 9, 30) lU'WttlllUU


1U~ L~'1l Run snuL~~~ lU'1lf"l::;1rJf(:.J~~Ylfii1('I~ ~~ii'I'i!lFiil 301912549

OK
Excel VBA Programming

. .
"lln~~~'Y'Ifi"l:;'~\.I~li:lJ'UbbUU<)\.I~bU\.I Date ~'tl 30/9/2549 b(;1mb6'1(;1'ltJ'Y'I'YIfi~nnn 2549 (bti'tl'l"lln1\.1~nn11-l1..lVl
fl1<)\.1~1\.1 Control Pane l bUWbUu1'Y1tJ) \.I'tln"llmbU'i1'l'i'1'l\.l~bU\.ltJI?11~~n'ii1'l~lbb~'l '\.nmrn~IiJ.J\.I1n11-l\.l(;1IK'lb'i1'])~d~\.I
<)\.I~ bb'i1:;b~m.,lbn\.l'])'tl1Jb'])[;]~n1~\.I(;1 bUmm~"l:;bbU'i1'lfi11m(;1tJ'El[;]b\.lm; b'll\.l ~lnn1~\.I(;1fi1 month bU\.I 15 ~"bn\.l 12

( "hmn ~~(;1'])'tl"b~'tl\.l) ~1 3 fl1 ~",r\.l~'i1~'Y'Ifi'])'tl"b~'tl\.l~1~"l:;bU\.l b~'tl\.l3 b(;1tJ'Ell?lb\.lm; ,{jWf\\.I


• ~ln year ,tJ\.IL'i1,])~'1l,m~n~i:lfi1~lnrh 30 J'~UiJ"l:;~:Pl'll~ ,tJ\.I 2000+year
• ~ln year bU\.Il'i1'])'i'l'1l,,~~n~lJ7h~"Lbiil30 ~\.I1tl J':;u,j"l:;~r1'"n~,U\.l1900+year

b{jUn1m6'1(;1'l-ru~ll"l'UU'])'tl"'''l~'tl'l b(;1tJboD Date$ ~"1~~'i1~'Y'Ifi'U\.I<)u~1UtU'lJ'tl'l Strin g '])\.11(;11 0 ~'l'Eln~~


1Ut tl bbUU mm-dd-yyyy bb'i1:; Date ~,,1~~'i1~'Y'Ifib{jU<)u~1Utu'])'1l" Date bb6'1(;1"IK'l'tlth"n1J'boD"lu1ri1~"n

(1) Sub CurentDate O


(2) result = "-r\.l~ll"l ~U\.l ~'1l " & Date$
(3) MsgBox result
(4) End Sub

"llnlK'l'tl ~ l" biJ\.I n1J'bb'i'l(;1'l<)U~ll"l~UU'lJ'tl'l bY'l1'tl'l '])ru:;~'YI(;1'i'l'tlUbU mm~buu-ru~ 10 ~'l" 1Y'l~ 2549 bri'tl Run

<DU b'Y'lJ'~ btJ'tlf"l:; 1~eJ~~'Y'Ifi~'ln

-itl\'iil~~utl Au 0$-10-2006

OK

Un ~IiJ.JUl6'11mJ'mb6'1(;1'l-ru~1l"l~UWU U~liil'lb'i1'lJYl'i1:;~11~ b(;1tJboD W ee kD ay, Day, Month bb'i1::; Year ~'l~


")iJIiNij 8 .1 0 bb6'1(;1'ln1mU'i1'l<)UYlll"l~uwuwphiil'l b'i1'lJ

ResultYear = Year(Date)
Re sultMonth = Month (Date)
ResultDay = Day(Date)
ResultWeekDay = WeekDay(Date)

"ll n iil'l'tl~1"b{jUn1J'bb'i'l(;1'lfl1<)U~1l"l'"lUU 1U~nbUU<)u'Y'l~1X~u ~~ 10 ~'l"1Y'l~ 2549 ~'l,ru~1'lJ'tl'liil'lbbUJ'iil l"1


1tJiil'l'tl~'I""l:;biJtJ~"n
111:'17'·
,hllil'ftUl'i IFiM

(;]'lLL1h ResultYear iJfilLilu 2006 (U rU'\)


(;]'lLL1.J~ ResultMonth iJfilLilu 8 (L~'1lU~~vnf'1l-1)
(;]'lLL1.J1 ResultDay iJfilLUU 10 (1U~ 10)

(;]'lLL1.J1 ResultWeekDay iJfilLUU 5 6u'r'I~~~u~)

TimeSerial (hour, minute, second)

hour
minute ~mtJ~~ (;]'l L~'lI~H'LLMHU1Yl iJfil 0-59
second ~mtJ~~ (;]'lL~'lI~H'LL~I?N';jU1Yl iJfil 0-59

n1m1.J~~(;]'lL~'lIl'Ill-1~nfh'lm "l::;f'1~ltJnUn11b·ifVl~Mu DateSerial ( LL1.J~~(;]'lL~'lILUU1U~) bi?1tJ TimeSerial "'l::;H'

IttJ~~(;]'l L~'lIb1X'1ltJbU11.J
v •
LLUU L'l~l (;],,!i1'l'1ltJl~ 1ii'1l'l1.J~

(1) Sub ConvertTime()


(2) result = "1!-I~~'r'Ifi ~8 " & TimeSerial(9, 45, 15)
(3) MsgBox result
(4) End Sub

"lln(;]'l'1ltJl~LUUn1m1.J~"(;]'lL~'lI (9, 45, 15) b1X'1l~·lul1.JLLUU L'l~l LL~'lLL~i?1~I!-I~~'r'IfiWi'ltJ~li~ MsgBox L~8 Run

iulY'i~;lhtJ'1l{"'l::;Uil!-l~~'r'IfiLUU "1!-I~~'r'Ifi ~'1l 945: 15" ~mtJ~~ L'l~l 9 Ul~n1 45 U1Yl 15 ';jU1Yl

• rl1SIlafil\lOa,OiJi1UU
LUUn1nL~i?1~L'l~lU"'l"ltfU'1J'1l~Lf'11'1l~ bi?1tJH' Time$ ~1'1l Time bi?1tJ~~~'1l~"'l::;b1XI!-I~~'r'Ifiliil"nU (;],,~ ~lnH Time$

.
"'1:;1rlil!-l~~'r'IfiLUU1U~bU11.J'lI'1l~ .
String 'lIUli?1 8 (;]'l'1ln'l!/'J' bU11.JLLUU hhmmss bU'lIru:::~ Time .
"'l::;b1XI!-I~~'r'Ijj1uJ'1.J'lI'1l~

(1) Sub CurentTime()


(2) result = "1!-I~~'r'Ifi~'1l " & Time$
(3) MsgBox result
(4) End Sub
Excel VBA Programming

"l'lnril'"l'1lth':)btl'Wn1nb'!.'1iP1':)b'"l1'l'ltl"l~U'W'lI'1l'lbY'iji'1l'l ;~'lJru!:~YliPI '!.'1'1luhJmnl'l-Jbtl'Wb'"l'i1'1 13 'W'I~n1 49 tnVl 34 ".'j'W'I~


bri'1l Run 'nUh~l'~bl'l'1lfr.dJ1eJ'i1~~firK~~

~il~fii{Ai) 13:49:34

OK

"l'ln~u bb'!.'1iP1~b'"l'i1'1tl"l'U'WbU 'W 13:4934 'W '1ln"l'l nn1J'bb'!.'1iP1~b'"l1'l'ltl"l'Ut.lIWnJ~n~'I'"l'-J'I bb~'"l '!.'1'1lJ'I'i'mb'!.'1iP1~ b'"l~1
tl"l,U'WbU'WY'i'lril'"lb'i1'l1Y1'i1!:ri'll J1 tiPIl'l11f Built-in Function ~b~moii'1l'l ~'1l Hour, Minute bb1'l!: Second rK'Iril'"lm.h'lI?i'1l1U~

ResultHour =Hour(Tim e)
ResultMinute = Minute(Time)

ResultSecond = Second(Time)

"l'l n ril,)'1ltJ'I~bUt.m'lnb'!.'1iP1'lri'lb'"l1'l'lU"l~U'W b'W~~bU'Wb'"l'i1'1 13 'W'I~n1 49 'W'IYI 34 ~'W'IYI rK~,r'Wri'l'll'1l'lrK'"lbblhlih'l1


b'Wril,)'1lth~"l!:bU'WrK,:)~

ril'"l bblJ'i' ResultHoud:iri'l bU'W 13 (i''"l t~N)

ril'"lbbUl' ResultMinute ~ri'lbU'W 49 ('W'IYI)

ril'"lbbU'i' ResultSecond ~ri'lbU'W 34 «i'W'IYI)

'W'1l n"l'l n n1'i'bb'!.'1iP1'11'W~ bb'i1!: b'"l'i1'1U"l'U'WI,nlJ~ n~'I'"llJ1 bb~ '"l 'L-I'I n 1if'1l~ n1'i'bb'!.'1iP1~~'l1'W~ bb'i1!:b '"l'i1'1tl"l'U'W~ ¥'1llJrltl

'!.'1'1lJ1'i'(1bojh~'Ini'W Now .
~~"l!:1J1eJ'i1~~fi~~1'W~bb'i1:;b'"l'i1'1 b'W'i'U'lI'1l~ Date ~~eJ1'Ib,x'i1iP1~'WI'I'1l'Wn1n~tJ'Wt~iPI'lJ'1l~tunbmlJl~

ResultTime = Now

"l'ln Y;)'Ii'~oii'l~ lif'Wril'"l bbUl' ResultTime ~ri'l bU'W 10/8/2 549 13:49:34 ~~ b1l'Wri'l1'W~ bb'i1:;b,)'i1'1U"l'U'W'lI'1l~ b1'1~'1l'l
.
tiPImb'!.'1iP1~1'W~b'W'i'U'lJ'1l~tJ~Ylfi~n1'1'1I
, .
(bu'WeJ'i1"l'lnn11'fl'l'L-I'WiPll'UbbUUb'W Control Panel ,r'Wb'1l'l)
Excel VBA Programmin g

l'\,nJ'Vl~"l::::n~1'ln'ln1J"Hf VBA V'I'lUV'l~ii'1lUb'in{;1i:\..l


, Excel b'li'W Window, Workbook, Worksheet bL'~:::: Cell bU'WIliu

bi?1EJ"l::::!StJnloif Method bb~:::: Property b~'1lfhl!I'Wi?111Xbb~~::::ii'1lUb'~nrfl~~m~ru::::t-f~'1lnJ'::::';hn1ru1'1mh'l 'W'1ln"l1 n~tT'Imi1'ln~

n1J'~I?ln1,-ii'1ll;j~mEJI'Wn'::::i?11'M';hn1' ~'1n'1l~1iiV'l'l1~~1Y'lb)J~'1ln1'~(iJ.J'W1bb'1lJJ~g;bV'li'W'1lth'l~1n

9 .1 n,soo.n"1SClUG1~'U
• (Workbook)

, , >­

~1'1 1 bY;'1lJ'::::1.J~~ i?1'11'WVl"l ::::~I?ln1,r;1'1i1

GIl51\ln 9...1 bb~i?1'1ii'1lUb~nrfl~H51'1n'l~~i?1'11'W

Workbooks 1-ii~1'1 n'll'l ~ i?1'1 1'W~ btl i?1'1l~-k'lt.l~ i?1 (1oif1Il'l L~'llU'1l n~1 r;1Ut.l1'1l Il1t.1'Wi?1 LU'W~'1lI'l~ 1?l'l1'Wr'i1r;i')
ActiveWorkbook 1ojfih'ln'l~~1?l'11n1'i'~n1~'1QnH'I1'W
ThisWorkbook ·lojf~1'1n'l~~1?l'l1'W~uJ''j'''llAI?l~1i<1~n1~'1JJ'j'::::~'l~
" .
e.J'i.'l'1l£J1'\,!'llru::::'!'W

n1'j'-ii1'ln'l ii'1lUb'inrflr;)'ln'g;i1'lJJnH1'l~nuii'1lUL~ n rfl "Application" (U1'lV'l}'lhj-ii1'ln'lil~Ub'~nrfl Application n't~)


"nnJ''W''l::::~i?1n1J'~l-j1?l'l1'WJ)'lEJ~1i'l~1'l1 bi?1m1tJnH' Method LL~:::: Property ~~1Y'lb)J r;)'l~

Method Muir;
Add 1'l11'1~~1?l'l1'\,!hnJ
Close tll?l~~1?l~1'\,! (1;\1 ntT'l1~1iPl';'WVin-ii'~l;j~"\:::::i:Hi'1l F1'l1~ b~'1l'\..\liP1H!l1i11'W~A)
Open CiJI?l~~1?l'l1'W
Save ';'W~n?l~1?l'l1'\,!tl?ltJ1fil'1l biii~ (t.l1n';'WVinFlf'lLLjw-:::::JJJ'1n!Jn<'i'1wii'1lR'l1~11An1t.1'Wi?1;'1l)
SaveAs ';'\,!'Vin~~i?1,n'\,!1i?1tJ1~'1l1t.1~ (t.l1n~1nU~'1l Liii~"l::::JJJ'1n!lojJ'1lI'l'l1~ b~'1l'\,!11A'VI'J'1U)
~ 4 ~ 0

SaveCopyAs u'W'Vln~I1f1'11'\,!bLUU\'lJ'1'1~1 bU1

GetOpenFilename Lbl'll1!'1Vl~1~1'l "Open" Lyj'1lA'Wm1~~ (1.Jii'l~n'lJil'1lUb~niil Application)


GetSaveAsFileName LbI'lI?l'lt.lih>i1'l "Save As" Lyj'1l';'WVin11~~ (1.Ji1'llJn'lJ{i'1l'lJ L~nll1 Application)

Property nihil
Name bbl'li?1'l~'1l1~~ (hhL~i?1'lbbt.l~'l~'1l~)
,.,j, ~ .1 ~
Path Lb~i?1'l Lb1;\~W/l'1l~"lJ'1l'l ~"1~

Ful lName L\,~I?l'l LLVl~'l~'1l~ LL~::::~'1l'1J'1l'l1~~

You might also like