Upload
elaine
View
253
Download
0
Embed Size (px)
Citation preview
7/25/2019 VBA - Just Another Programming Language Final
1/51
"#$%&' (&$#) *+, -..'#)&/#+0$ 12%$/ -0+/34,
5,+6,&77#06 8&06%&64
!"#$%&' )"*#+, -. /%,&%0
7/25/2019 VBA - Just Another Programming Language Final
2/51
"#$%& '( )'*+&*+,
"#$%&'() *$#+' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -
./' 012%34 5321$ 6#7 8++41$3)1#(2 9()'763$' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, :
8$$'221(; )/' "'?$'4 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @
A3$7# *'$%71)B ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, C
D'$#7E1(; A3$7#2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, F
"3)3 .B+'2 3(E 03713=4'2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, G
H21(; I+)1#( >?+41$1) A#E' ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, J
"'$4371(; 03713=4'2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, K
H2'7 "'61('E L%($)1#(2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, --
H2'7M"'61('E L%($)1#( M >?3&+4' - N O'421%2 )# L3/7'(/'1) O#(?3&+4' - N *%&&3)1#( #6 9()';'72 67#& - )# X ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @R
L#7 Q##+ N >?3&+4' : N O#&+#%(E1(; 9()'7'2) Y1)/ A#()/4B "'+#21)2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @-
O#(E1)1#(34 Q##+2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @:
"# Z/14' Q##+2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @:
"# H()14 Q##+2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @:
"# Q##+ N >?3&+4' - N 5'22'4 L%($)1#( ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @@
"# Q##+ N >?3&+4' : N .3B4#7 *'71'2 >?+3(21#( #6 !! ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@C
I=['$)2\ V7#+'7)1'2\ 3(E A')/#E2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @G
7/25/2019 VBA - Just Another Programming Language Final
3/51
8$$'221(; >?$'4 Z#7]2/'')2 3(E D3(;'2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @J
D3(;' 3(E O'442 I=['$)2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @J
O7'3)1(;\ "'4')1(;\ 3(E D'6'7'($1(; Z#7]2/'')2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @K
*%=7#%)1('2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, U-
*%=7#%)1('2 N >?3&+4' - N *%&&3)1#( #6 A%4)1+4'2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, U-
*%=7#%)1('2 N >?3&+4' : N V%441(; 9) 844 .#;')/'7 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, U:
D'6'7'($' Q1=7371'2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, UU
O#($4%21#( ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, UF
7/25/2019 VBA - Just Another Programming Language Final
4/51
"-./0 12 2345607L1;%7' -^ Z1(E#Y2 5%))#( ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @
L1;%7' :^ >?$'4 I+)1#(2 5%))#( ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @
L1;%7' @^ >?$'4 I+)1#(2 V#+%+ A'(% ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @
L1;%7' U^ "'
7/25/2019 VBA - Just Another Programming Language Final
5/51
"-./0 12 "-./07.3=4' -^ "3)3 .B+'2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -R
.3=4' :^ O#(E1)1#(34 3(E Q#;1$34 I+'73)#72 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, :R
.3=4' @^ S73E' 8221;(&'()2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, :-
.3=4' U^ *+/'7' >W%3)1#(2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, :C
.3=4' C^ D'$)3(;%437 V712& >W%3)1#(2 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, :G
7/25/2019 VBA - Just Another Programming Language Final
6/51
-
81)590:" 7)1;0./12 E#$%&'() 12 1()'(E'E 6#7 )/' %2' #6 4'37(1(; 3 =321$\ 1()7#E%$)#7B 4'?$'4, 844 )'?) 1( )/12 E#$%&'()6#7&3))'E 1( )/' $%77'() 6#() 2/#%4E =' $#(21E'7'E e=#EBf )'?), 8(B )'?) 6#7&3))'E 1( O#%71'7 X'Y 6#()
Y144 =' 3$)%34 058 O#E',
./12 E#$%&'() 12 Y71))'( 1( 2%$/ 3 Y3B )/3) (#) 344 $#($'+)2 $3( =' #=)31('E =B 7'3E1(; )/' 21&+4'
'?+43(3)1#(2 ;1
7/25/2019 VBA - Just Another Programming Language Final
7/51
:
"E1)#7 $3( =' 3$$'22'E 1( 34) )/' 23&' &3(('7\ 7';37E4'22 #6 )/' A1$7#2#6)d I661$'
8++41$3)1#( ='1(; %2'E, 84)/#%;/ )/' 2)%E'() 2/#%4E /3
7/25/2019 VBA - Just Another Programming Language Final
8/51
@
->>&,,?*@ +A& 8&B&%'C&D "#$ ?* 0E>&%
./' 6172) 2)'+ )/3) 2/#%4E =' )3]'( Y/'( +7'+371(; )# Y71)' 058 $#E' 6#7 >?$'4 2/#%4E =' )# 3$$'22 )/'
"'
7/25/2019 VBA - Just Another Programming Language Final
9/51
U
./'7' 2/#%4E (#Y =' 3 "'?$'4 D1==#(,
!"#$%& &6-8&% ?@A "+ B"AA-+
8) )/12 )1&'\ +4'32' )3]' 3 &'() )# (#)1$' 344 #6 )/' E166'7'() =%))#(2 3(E #+)1#(2 3
7/25/2019 VBA - Just Another Programming Language Final
10/51
C
9#>D' 7&>FD?+G
82 B#% =';1( 7'$#7E1(; &3$7#2 3(E Y71)1(; 058 2%=7#%)1('2 3(E 6%($)1#(2\ 1) 12 +7#=3=4' )/3) )/' %2'7
Y144 '($#%()'7 2#&' A3$7# *'$%71)B 122%'2, 9) 12 1&+#7)3() )# %(E'72)3(E Y/B A1$7#2#6)d +43$'2 )/'2'
2'$%71)B &'32%7'2 1()# )/' 2#6)Y37' 2# )/3) B#% $3( %(E'72)3(E Y/B B#%7 A3$7#2 &3B (#) =' Y#7]1(;,
L172)4B\ 1) 12 ?$'4 1( 3
7/25/2019 VBA - Just Another Programming Language Final
11/51
F
6&>'DH?*@ 9#>D',
V4'32' 7'6'7 )# $/3+)'7 -U #6 !"#$%&'($$) +,,-' .,# /0120$$#' 3'201 /45$-=B 5B7#( S#))671'E 32 1) /32 3(
'?$'44'() E'2$71+)1#( #6 A3$7#2\ Y/3) )/'B E#\ /#Y )/'B Y#7]\ /#Y )# &3]' )/'&\ 3(E /#Y )# %2'
)/'&,
7/25/2019 VBA - Just Another Programming Language Final
12/51
G
8-"- "I;07 -:8 =-63-./079( ) +7#;73&&1(; 43(;%3;'2\
7/25/2019 VBA - Just Another Programming Language Final
13/51
J
5,?*@ 1C+?'* 0EC%?>?+ 9'H&
5B E'63%4)\ )/12 &')/#E 12 )%7('E #66, .# )%7( 1) #(\ 6#44#Y )/'2' 2)'+2^
-, I+'( )/' 058 >E1)#7 67#& >?$'4 `84)kL--a
:, L1(E )/' #+)1#(2 =%))#( Y1)/1( )/' )##4 &'(%
!"#$%& C) 781"-+/ ;&+$
@, O41$] )/' $/'$]=#? ('?) )# eD'W%17' 03713=4' "'$4373)1#(f
!"#$%& D) B&E$"%& F@%"@A6& =&56@%@1"-+ GH&5IA-4
U, O41$] Ih
5B 3$)1
7/25/2019 VBA - Just Another Programming Language Final
14/51
K
8&>%#D?*@ =#D?#$%&,
"'$4371(; )/' +7#+'7 E1)#7 b'4+ L14'a 12 3 412) #6 )/' E3)3 )B+'2 )/3) B#% &3B (''E )# %2' 1( B#%7
+7#;73&2^
7/25/2019 VBA - Just Another Programming Language Final
15/51
-R
Data type Storage size Range
Byte 1 byte 0 to 255
Boolean 2 bytes Trueor False
Integer 2 bytes -32,768 to 32,767
Long 4 bytes -2,147,483,648 to 2,147,483,647
(long integer)
Single 4 bytes -3.402823E38 to -1.401298E-45 for negative values;1.401298E-45 to 3.402823E38 for positive values(single-precision
floating-point)
Double
(double-
precision
floating-point)
8 bytes -1.79769313486231E308 to
-4.94065645841247E-324 for negative values;
4.94065645841247E-324 to 1.79769313486232E308 for
positive values
Currency 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
(scaled integer)
Decimal 14 bytes +/-79,228,162,514,264,337,593,543,950,335 with no
decimal point;
+/-7.9228162514264337593543950335 with 28 places to
the right of the decimal; smallest non-zero number is
+/-0.0000000000000000000000000001
Date 8 bytes January 1, 100 to December 31, 9999
Object 4 bytes Any Objectreference
String 10 bytes +
string length
0 to approximately 2 billion
(variable-length)
String Length of
string
1 to approximately 65,400
(fixed-length)
Variant 16 bytes Any numeric value up to the range of a Double
(with numbers)
Variant 22 bytes +
string length
Same range as for variable-length String
(withcharacters)
User-defined Number
required byelements
The range of each element is the same as the range of its
data type.(using Type)
?@A6& () =@1@ ?J8&/
7/25/2019 VBA - Just Another Programming Language Final
16/51
--
5706 8023:08 25:)"31:782 Y1)/ ) +7#;73&&1(; 43(;%3;'2\ ='1(; 3=4' )# $7'3)' %2'7ME'61('E 6%($)1#(2 $3( =' #(' #6 )/'
) %2'6%4 )'$/(1W%'2 1( 3( '(;1(''7j2 )##4]1), Z/'( E12$%221(; A3)43=\ )/'2' %2'7ME'61('E 6%($)1#(2
Y'7' )4B $7'3)'E 32 2'+373)' AM614'2 Y/1$/ Y'7' $344'E 67#& #)/'7 AM614'2, 9( 058\ 1) 12 (#) W%1)' 32
$#&+41$3)'E #($' )/' ;'('734 673&'Y#7] #6 3 +7#;73& /32 347'3EB =''( $7'3)'E,
8) )/12 )1&'\ '(#%;/ ;'('734 ](#Y4'E;' /32 =''( E12$%22'E )# ;1
7/25/2019 VBA - Just Another Programming Language Final
17/51
-:
5,&DJ8&(?*&H 2F*>+?'* J 0E#KC%& L M )&%,?F, +' 2#AD&*A&?+ )'*B&D,?'* 2F*>+?'*
V7#=4'& *)3)'&'()^ 8 $#&( +7#=4'& 1( >(;1(''71(; 12 )/' &%4)1)%E' #6 %(1)2, ./'7'6#7'\ 1) $3(
2#&')1&'2 ='('61$134 )# Y71)' 3 W%1$] %2'7ME'61('E 6%($)1#( )# $#(
7/25/2019 VBA - Just Another Programming Language Final
18/51
-@
./12 21&+4B )'442 )/' $#&+14'7 )/3) B#% Y144 (''E )# E'$437' 344 #6 B#%7 (E L%($)1#(\ 21&+4B )'442 )/' 058 $#&+14'7 )/3) )/' 6%($)1#( E'$4373)1#( 12 #
7/25/2019 VBA - Just Another Programming Language Final
19/51
-U
./'7' 37' 3 ?$'4 1()'763$' 3(E $7'3)' )/' 6#44#Y1(;
2+7'3E2/'')^
!"#$%& P) G-+>&%/"-+ !$+51"-+ ?&/1"+# Q8%&@,/H&&1 Q&1$8
X#Y\ )B+' emO#(?$'4 3(E $3( =' %2'E 41]' 3(B #)/'7 6%($)1#(^
!"#$%& (R) !$+51"-+ B&5-#+"S&, AJ 345&6
8) )/12 +#1()\ $'44 5- 2/#%4E =' 7'6'7'($'E 1( )/' 6%($)1#(,
!"#$%& (() !$66 T/@#& -U !$+51"-+
./' 61(34 7'2%4) #6 )/12 '?3&+4' 12 3 $#(
7/25/2019 VBA - Just Another Programming Language Final
20/51
-C
5,&DJ8&(?*&H 2F*>+?'* J 0E#KC%& N M -**F#% )'KC'F*H?*@ 2F*>+?'*
V7#=4'& *)3)'&'()^ O7'3)' 3 %2'7ME'61('E 6%($)1#( )/3) Y144 $34$%43)' )/' 3%() #6 ('B
3$$%&%43)'E #
7/25/2019 VBA - Just Another Programming Language Final
21/51
-F
32 7"-"090:"7e96 *)3)'&'()2f 37' #(' )Y# )B+'2 #6 E'$121#( &3]1(; $#(2)7%$)2 )/3) #(' $3( %2' Y/'( Y71)1(; 3
+7#;73&, ./'B 344#Y )/' $#&+14'7 )# &3]' E'$121#(2 3=#%) Y/3) )# E# ('?) 1( 3 +7#;73&, ./12 ;1
7/25/2019 VBA - Just Another Programming Language Final
22/51
-G
.#,?> 3( 7+#+&K&*+
./' 6#44#Y1(; 2B()3? 2/#Y2 /#Y 3( 96 *)3)'&'() 2/#%4E =' E'$437'E, ./' )'?) 1( =#4E 12 7'W%17'E Y/14'
)/' )'?) 1( 1)341$2 $3(
7/25/2019 VBA - Just Another Programming Language Final
23/51
-J
3(O0%,& 7+#+&K&*+,
./' 6#44#Y1(; 2B()3? 2/#Y2 /#Y 3( 96P>42' *)3)'&'() 2/#%4E =' E'$437'E, ./' )'?) 1( =#4E 12 7'W%17'E
Y/14' )/' )'?) 1( 1)341$2 $3(
7/25/2019 VBA - Just Another Programming Language Final
24/51
-K
3(O0%,&3(O0%,& 7+#+&K&*+,
./' 6#44#Y1(; 2B()3? 2/#Y2 /#Y 3( 96 *)3)'&'()P>42'96P>42' 2/#%4E =' E'$437'E, ./' )'?) 1( =#4E 12
7'W%17'E Y/14' )/' )'?) 1( 1)341$2 $3(
7/25/2019 VBA - Just Another Programming Language Final
25/51
:R
)'*H?+?'*#% #*H /'@?>#% 1C&D#+'D,
9( 3(B #6 )/' +7'
7/25/2019 VBA - Just Another Programming Language Final
26/51
7/25/2019 VBA - Just Another Programming Language Final
27/51
::
82 34Y3B2\ 1) 12 ;##E )# )'2) %2'7ME'61('E 6%($)1#(2 )# &3]' 2%7' )/'B 37' Y#7]1(; $#77'$)4B, Q1]' )/'
#)/'7 %2'7ME'61('E 6%($)1#(2 $7'3)'E\ )/12 6%($)1#( $3( =' )'2)'E 1( >?$'4, L#7 )/3) +%7+#2'\ )/'
6#44#Y1(; 21&+4' 2+7'3E2/'') Y32 $7'3)'E^
!"#$%& (9) X&11&%Y%@,& ?&/1 Z3E$@1"-+/[
!"#$%& (
7/25/2019 VBA - Just Another Programming Language Final
28/51
:@
3( 7+#+&K&*+ M 0E#KC%& N M /C ID
V7#=4'& *)3)'&'()^ ./' 4'3+ B'37 6%($)1#( 12 %2'6%4 Y/'( E3)3 12 )3]'( # 16)/' 1(+%) B'37 12 3 4'3+ B'37 3(E 7')%7( 3 5##4'3( 7'2+#(2' #6 L8Q*> 16 1) 12 (#) 3 4'3+ B'37,
./' 7%4'2 6#7 4'3+ B'37 E')'7&1(3)1#( 37' 32 6#44#Y2^
-, 844 B'372 ' 3(E L8Q*> 32 #%)+%),
7/25/2019 VBA - Just Another Programming Language Final
29/51
:U
70/0)" 7"65)"5608 e*'4'$) *)3)'&'()f Y#7]2 1( &%$/ )/' 23&' Y3B )/3) 3( e96 *)3)'&'()f Y#7]2, 9) /32 2#&' $#(E1)1#(
)/3) &%2) =' &') 3(E 1) '?'$%)'2 E166'7'() =1)2 #6 $#E' 3$$#7E1(;4B, ./' ;'('734 2B()3? #6 )/' e*'4'$)
*)3)'&'()f 12 32 6#44#Y2^
Select Casevariable
Case condition1
[Code to execute if variable = condition1]
Case condition2
[Code to execute if variable = condition2]
Case condition3
[Code to execute if variable = condition3]
...
CaseconditionN
[Code to execute if variable = conditionN]
Case Else
[Code to execute if variable did not equal any conditions]
End Select
Z/14' )/' ;'('734 2B()3? Y144 ) +7#=3=4B =' 3++41'E )# ) 21)%3)1#(2\ 1) 12 1&+#7)3() )# (#)' )/3)
41]' )/' e96 *)3)'&'()f\ )/' (%&='7 #6 =%'$'3(E )/' ('$'221)B #6 )/' =%'$ /-'$2)3)'&'() 12 $#&+4')'4B
%+ )# )/' %2'7j2 E12$7')1#(, ./'2' 1E'32 3(E 2#&' 241;/) E161$3)1#(2 )# )/' ;'('734 2B()3? Y144 ='
144%2)73)'E 1( )/' 6#44#Y1(; '?3&+4'2,
7/25/2019 VBA - Just Another Programming Language Final
30/51
:C
7&%&>+ 7+DF>+FD& M 0E#KC%& L M 6#H?F, .#,&H )#%>F%#+?'*,
V7#=4'& *)3)'&'()^ Z71)' 3 %2'7ME'61('E 6%($)1#( )/3) 3$$'+)2 )Y# 1(+%)2, I(' 1(+%) 2/#%4E =' 3
73E1%2 3(E )/' #)/'7 1(+%) 2/#%4E =' 3 4'))'7 `0\*8\"\8Va )/3) 7'+7'2'()2 )/' $34$%43)1#( E'217'E =B )/'
%2'7, 96 )/' %2'7 $/##2'2 e0f\ )/' 6%($)1#( 2/#%4E $34$%43)' 3(E #%)+%) )/'
7/25/2019 VBA - Just Another Programming Language Final
31/51
:F
*'$#(E4B\ (#)1$' )/' $344 #6 )/' (%&='7 >2, >?$'4 2)#7'2 )/' (%&='7 1( 1)2 #Y( 6%($)1#(2 3(E 1( )/12
'?3&+4'\ 1) 12 2/#Y( )/3) 344 #6 )/' (#7&34 >?$'4 6%($)1#(2 $3( =' $344'E =B %21(; )/'
WorksheetFunction#=['$), A#7' Y144 =' E12$%22'E 3=#%) #=['$)2 1( 43)'7 2'$)1#(2 #6 )/12
E#$%&'(), ./' 1&+#7) )/1(; )# 7'341_' 6#7 (#Y 12 )/3) )/' (%&='7 >212 (#) 2#&')/1(; )/3) )/' 058
$#&+14'7 2)#7'2 1( 1)2 &'B\ )/'7'6#7'\ )/' %2'7 &%2) 61(E )/' (%&='7 67#& Y1)/1( >?$'4j2 #Y(
&'B, L#7 (#Y\ )3]' 3 &'() )# 2'' 344 )/' E166'7'() :$)(,&')/3) )/' WorksheetFunction/32
)# #66'7 =B )B+1(; eZ#7]2/'')L%($)1#(,f 1( )/' 058 'E1)#7,
82 3( '?3&+4' #6 )/' %2' #6 )/12 6%($)1#(\ )/' 6#44#Y1(; 2$7''(2/#)2 Y'7' )3]'(^
!"#$%& (C) Q8H&%& !$+51"-+ T/@#& O 3E$@1"-+ F"&.
!"#$%& (D) Q8H&%& !$+51"-+ T/@#& O B&/$61 F"&.
.3]' 3 6'Y &1(%)'2 )# (#)1$' )/3) 16 )/' %2'7 E#'2 (#) 6''E )/' 6%($)1#( 3 $'44\ )/' %2'7 $3( 6''E )/'6%($)1#( )/' 1(+%)2 E17'$)4B, b#Y'
7/25/2019 VBA - Just Another Programming Language Final
32/51
:G
7&%&>+ 7+DF>+FD& M 0E#KC%& N M 6&>+#*@F%#D ;D?,K 0PF#+?'*,
V7#=4'& *)3)'&'()^ Z71)' 3 %2'7ME'61('E 6%($)1#( )/3) Y144 3$$'+) )/' 1(+%) #6 Q'(;)/\ Z1E)/\ b'1;/)\
3(E 3 $34$%43)1#( $/#1$' #6 '1)/'7 e*8f\ e0f\ #7 eQ5bf, Z/'( )/' %2'7 '()'72 3 $/#1$' #6 e*8f\ )/'
6%($)1#( 2/#%4E #%)+%) )/' 2%763$' 37'3 #6 )/' 7'$)3(;%437 +712&, Z/'( )/' %2'7 '()'72 3 $/#1$' #6 e0f\
)/' 6%($)1#( 2/#%4E #%)+%) )/'
7/25/2019 VBA - Just Another Programming Language Final
33/51
:J
./' #(4B (#)'Y#7)/B 1)'& 1( )/12 2#4%)1#( 12 )/' %2' #6 )/' Math#=['$), Q1]' )/'
WorksheetFunction#=['$) %2'E 1( )/' +7'?$'4 )# '(2%7' +7#+'7 6%($)1#(341)B,
!"#$%& (P) :%"/W !$+51"-+ ?&/1"+# O 3E$@1"-+ F"&.
!"#$%& 2R) :%"/W !$+51"-+ ?&/1"+# O B&/$61/ F"&.
7/25/2019 VBA - Just Another Programming Language Final
34/51
:K
8023:08 /11;7Q1]' #)/'7 +7#;73&&1(; 43(;%3;'2\ 058 /32 )/' +#Y'7 )# '?'$%)' 3 &3221
7/25/2019 VBA - Just Another Programming Language Final
35/51
@R
2'D /''C M 0E#KC%& L M 7FKK#+?'* '( 3*+&@&D, (D'K L +' :
V7#=4'& *)3)'&'()^ Z71)' 3 %2'7ME'61('E 6%($)1#( )/3) Y144 3$$'+) 3( 1(+%) #6 3( 1()';'7 X, ./' #%)+%)
2/#%4E =' )/' 2%&&3)1#( #6 344 +#21)1
7/25/2019 VBA - Just Another Programming Language Final
36/51
@-
2'D /''C M 0E#KC%& N M )'KC'F*H?*@ 3*+&D&,+ Q?+A 9'*+A%G 8&C',?+,
V7#=4'& *)3)'&'()^ Z71)' 3 %2'7ME'61('E 6%($)1#( )/3) Y144 3$$'+) 6#%7 1(+%)2^ V71($1+34 E'+#21)
3%()\ ()/4B E'+#21) 3%()\ 3((%34 +'7$'()3;' 1()'7'2) 73)' `32 3 673$)1#(a\ 3(E 23
7/25/2019 VBA - Just Another Programming Language Final
37/51
@:
)1:83"31:-/ /11;7eO#(E1)1#(34 Q##+2f $3( =' #6 &3[#7
7/25/2019 VBA - Just Another Programming Language Final
38/51
@@
8' /''C M 0E#KC%& L M .&,,&% 2F*>+?'*
V7#=4'& *)3)'&'()^ I(' #6 )/' ) 1&+#7)3() E166'7'()134 'W%3)1#(2 1( 3++41'E &3)/'&3)1$2 12
5'22'4j2 E166'7'()134 'W%3)1#(, ./' 2#4%)1#( 12 ](#Y( 32 )/' 5'22'4 6%($)1#( #6 )/' 6172) ]1(E `(m-a^
!!
! ! !!
!! !!!!
!!!!!!! ! !! !
!
!!!
Z71)' 3 %2'7ME'61('E 6%($)1#( )/3) Y144 3$$'+) 3 ?$'4 347'3EB /#4E2 )/' $3+3=141)B #6 &3]1(; )/12 $34$%43)1#( %21(;
)/' e5>**>Qif 6%($)1#(, b#Y'
7/25/2019 VBA - Just Another Programming Language Final
39/51
@U
=' 2''( 1( )/12 6%($)1#( )/3)
7/25/2019 VBA - Just Another Programming Language Final
40/51
@C
8' /''C M 0E#KC%& N M "#G%'D 7&D?&, 0EC#*,?'* '( !!
V7#=4'& *)3)'&'()^ 8 $#&( $#(
7/25/2019 VBA - Just Another Programming Language Final
41/51
@F
H21(; 3 "# H()14 Q##+^
Option Explicit
Function TaylorSeries(x As Double) As DoubleDim n As Long
Dim converganceCheck As Double, tolerance As DoubleDim sumTerm As Double, oldTerm As Double, newTerm As Double
n = 0converganceCheck = 100sumTerm = 0tolerance = 0.000001
Do Until converganceCheck < toleranceoldTerm = sumTermsumTerm = sumTerm + (x ^ n) / WorksheetFunction.Fact(n)newTerm = sumTerm
converganceCheck = Abs(oldTerm - newTerm)
n = n + 1Loop
TaylorSeries = sumTerm
End Function
7/25/2019 VBA - Just Another Programming Language Final
42/51
@G
1.S0)"7T;61;06"307T-:8 90">cO90>c9"X> -@@-
$#%72' )# 4'37( /#Y )# +7#;73& 1( )/12 Y3B, b#Y'#,"$#);#7 3 7$)(,&, A#2) 41)'73)%7' Y71))'( #(
#=['$) #71'()'E +7#;73&&1(; Y144 &3]' 3( 3(34#;B )# )/' 63$) )/3) 3( #=['$) $3( =' 3(B '
7/25/2019 VBA - Just Another Programming Language Final
43/51
@J
-))0773:4 0U)0/ R16V7
7/25/2019 VBA - Just Another Programming Language Final
44/51
@K
84#(; Y1)/ +%441(; 1(6#7&3)1#( 67#& 3( >?$'4 Y#7]2/'') 1()# )/' 058 $#E1(;\ 1) 12 342# +#221=4' )# 2'(E
1(6#7&3)1#( 67#& 058 1()# 3( >?$'4 E#$%&'() =B %21(; )/' Range3(E Cells#=['$)2,
L#7 '?3&+4'\ 16 )/' %2'7 E'217'E )/' (%&='7 C )# =' +43$'E 1( O'44 OF\ )/'( )/' %2'7 Y#%4E 21&+4B %2'
Range(C6) = 5, I7\ Cells(6,3) = 5$#%4E 342# =' %2'E,
)D+?*@T 8&%&+?*@T #*H 6&(&D&*>?*@ R'DX,A&&+,
8(#)/'7 1&+#7)3() #=['$) )/3) &3B=' =' 67'W%'()4B %2'E 12 )/' SheetsI=['$), ./12 #=['$) $3( ='
%2'E 1( $#([%($)1#( Y1)/ )/' D3(;' 3(E O'44 #=['$)2 )# E'61(' Y/3) 2/'') 2/#%4E =' %2'E Y/'( ;73==1(;
#7 +#+%43)1(; E3)3, L#7 '?3&+4'\ 16 )/' %2'7 Y3()'E $'44 5J #( e*/'')@f )# =' +#+%43)'E Y1)/ )/' 4'))'7
eSf\ )/'( )/' Sheets(Sheet3).Range(B8) = G$3( =' %2'E,
h''+ 1( &1(E )/3) 16 )/' %2'7 E#'2 (#) 2+'$16B )/' 2/'')\ )/' $#&+14'7 Y144 322%&' )/3) )/' Range#7
Cells='1(; 7'6'7'($'E 37' #( )/' $%77'() ActiveSheet, 96 1) 12 ' $#(
7/25/2019 VBA - Just Another Programming Language Final
45/51
UR
./' 6172) 41('\ Option Explicit12 (#)/1(; ('Y, 8;31(\ )/12 21&+4B )'442 )/' $#&+14'7 )/3)
7/25/2019 VBA - Just Another Programming Language Final
46/51
U-
75.615"3:07*%=7#%)1('2 37' 2#&')/1(; )/3) 2/#%4E (#) =' ('Y, 9( A3)43=\ 3(B 2$71+) 614' )/3) Y32 (#) 3 6%($)1#(
$#%4E /3
7/25/2019 VBA - Just Another Programming Language Final
47/51
U:
./' 2'$#(E ('Y 1)'& 12 )/' &'223;' =#? 1)2'46\ $344'E =B %21(; )/' MsgBox$#&&3(E, 9( )/12 41(' #6
$#E'\ 1) $3( =' 2''( )/3) )/' &'223;' =#? $3( $#()31( $#&+4'? 2)71(;2 #6 1(6#7&3)1#( )# =' E12+43B'E,
9( )/12 '?3&+4'\ )/' The result is: 12 3$)%344B 3 2)71(; #6 $/373$)'72, ./' $#&+14'7 ](#Y2 )/12
='$3%2' 344 #6 )/' $/373$)'72 37' $#()31('E =')Y''( E#%=4' W%#)3)1#( &37]2, ./' 3&+'723(E (&)21;(
12 3 $#($3)'(3)1#( $/373$)'7 Y/1$/ +%)2 &%4)1+4' 2)71(;2 #7 #=['$)2 )#;')/'7, 9( )/12 '?3&+4'\ )/'
&'223;' =#? E12+43B2 )/' 6172) 2)71(; #6 $/373$)'72 3(E )/'( $#(('$)2 )/'
7/25/2019 VBA - Just Another Programming Language Final
48/51
U@
L1(344B\ D3(;' 8- 12 3221;('E )/'
7/25/2019 VBA - Just Another Programming Language Final
49/51
UU
602060:)0 /3.6-6307./'7' 12 #(' 61(34 1)'& )/3) (''E2 )# =' E12$%22'E 1( )/12 E#$%&'(), 5'6#7' 1) 12 1()7#E%$'E\ )/' 7'3E'7
#6 )/12 E#$%&'() 2/#%4E (#Y =' Y'44 ?$'4j2 *#4
7/25/2019 VBA - Just Another Programming Language Final
50/51
UC
@a A3]' 2%7' )/' $/'$]=#? ('?) )# e*IQ0>Df 12 $/'$]'E\ )/'( +%2/ Ih,
8) )/12 +#1()\ )/' $#&+14'7 (#Y ](#Y2 Y/'7' )# 4##] 6#7 *#4
7/25/2019 VBA - Just Another Programming Language Final
51/51
)1:)/5731:9) 12 1&+#7)3() )# %(E'72)3(E )/3) )/12 E#$%&'() E#'2 (#) $#