| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结 个人简历 事迹材料 租赁合同 演讲稿 项目管理 职场社交

Excel.VBA从入门到精通

友***1

贡献于2019-02-14

字数:350468 关键词: 人力资源管理 高效工作指南

––––––––––––––––––––––––––––––––––––
VBA 1
1
1
1
1
2
2
2
2
3
4
4
Sub 4
Function 5
Property Event 5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
VISUAL BASIC 1
VBA 1
11 VBA 1
12 EXCEL 1
13 2
14 2
15 2
16 3
17 4
18 4
4
21 4
22 5
23 5
231 5
232 5
24 6
25 6
26 7
wwwplcworldcn
7
31 EXCEL 7
32 7
33 7
34 8
35 8
36 8
37 9
9
41 9
42 10
421 10
422 11
43 11
44 11
441 11
442 Dim ( ) 13
443 13
444 14
445 15
VBA 15
1 WITH 17
2 17
3 17
4 18
EXCEL VBA 19
1 VBA WORKSHEET 19
2 19
1 With 19
2 20
3 20
3 20
4 20
EXCEL 20
EXCEL 2002 VBA XML ASP 22
22
1 22
2 22
3 23
4 24
5 26
6 26
7 29
8 29
9 30
10 31
11 32
12 32
wwwplcworldcn
13 34
14 34
15 34
16 35
17 37
18 38
19 39
20 39
21 40
22 41
23VB 42
24 43
25 43
26 44
27 VB 46
28 …… 46
VBA 46
1 47
2 VBA 47
3 48
4 49
5 50
6 51
7 53
8 VBA 55
9 VBA 55
10 57
11 58
12 59
13 59
14 60
15 60
16 60
17 61
18 61
19 61
20 VBA 66
21 67
22 67
23 69
24 70
25 70
26 RANGE 70
27 CELLS 71
28 OFFSET 71
29 72
30 73
31 73
32 73
33 74
34 74
35 74
wwwplcworldcn
36 75
37 WINDOWS 76
38 EXCEL 76
39 77
77
1 VBA 77
2 77
3 78
4 78
5 79
6 80
7 81
8 84
9 85
10 85
11 85
12 86
13 86
14 86
15 87
16 88
17 88
18 VB 89
19 89
20 90
VBA 91
1 91
2 91
3 92
4 93
5 VBA 94
6 95
7 96
8 97
9 97
10 98
11 MSG BOX 99
12M SG BOX 103
13 INPUT BOX 104
14 105
15 INPUT BOX 106
16 109
17 111
VBA 111
1 111
2I F…THEN 112
3 114
4T HE IF…THEN…ELSE 115
5I F…THEN…ELSE IF 118
6 IF…THEN 119
wwwplcworldcn
7S ELECT CASE 120
8 CASE IS 121
9 CASE 122
10 CASE 123
11 … 123
VBA 123
1D O LOOPS DO…WHILE DO…UNTIL123
2 126
3W HILE…WEND 127
4F OR…N EXT 128
5F OR EACH…NEXT 129
7 130
8 131
9 … 131
VBA 131
1 132
2 133
3 133
4 VBA 134
5 135
6 136
7 137
8 139
9A RRAY 139
10I SARRAY 140
11E RASE 140
12LB OUND UBOUND 141
13 141
14 143
15 … 143
VBA 144
1 CUR DIR 144
2 NAME 145
3 DIR 145
4 FILE DATE TIME 147
5 FILE LEN 147
6 GET ATTR SET ATTR 147
7 CHDIR CHDRIVE 149
8 MKDIR RMDIR 149
9 FILE COPY 149
10 KILL 151
11 INPUTOUTPUT 151
12 152
13 152
14 152
15 152
16 153
17 155
18 155
19 WRITE # PRINT # 156
wwwplcworldcn
20 157
21 157
22 161
23 162
24 WSH 164
25F ILE SYSTEM OBJEC 165
26 FILE 168
27 169
28 169
29 WSH 170
30 WSH 172
31 172
32 173
33 174
VBA 174
1 174
2 177
3 177
4 179
5 179
6 180
7 VBA 181
8COM 182
9 182
10 182
11 182
12 183
13 184
14 CREATE OBJECT 184
15 WORD 185
16 GET OBJECT 185
17 WORD 186
18 NEW 187
19 MICROSOFT OUTLOOK 188
20 189
189
1 192
2G ET OPEN FILENAME GET SAVE ASFILENAME 196
3 197
4 199
5 200
6 200
7 200
8 201
9 201
10 201
11 201
12 201
13 201
14 201
15 201
wwwplcworldcn
16 202
17T AB STRIP 202
18R EF EDIT 202
19 202
20 1 202
21 204
22 206
23 206
24 207
25 208
26 TAB 208
27 209
28 VBA 211
29 211
30 213
31 213
32 214
33 214
34 215
35 INFO SURVEY 216
36 2 216
37 TAB STRIP 216
38 STUDENTS AND EXAMS VBA 218
39 STUDENTS AND EXAMS 223
40 225
225
1 226
2 227
3 227
4 228
5 229
6 229
7 229
8 230
9 PROPERTY GET 230
10 PROPERTY LET 231
11 232
12 232
13 232
14 233
15 VBA 242
16 245
VBA 245
1 245
2 247
3 249
4 COMMAND BAR 249
5 COMMAND BAR 249
6 251
7 253
8 254
wwwplcworldcn
9 256
10 258
11 260
12 262
13 264
VBA 264
1 VBA 265
2 265
3 266
4 269
5 STOP 271
6 271
7 274
8 274
9 275
10 VBA 276
11 277
12 277
13 278
14 279
15 VBA 279
16 279
17 281
18 281
17 285
EXCEL 2002 285
1 285
2 287
3 289
4 289
5 294
6 312
7 316
8 317
9 320
10 323
EXCEL ACCESS 323
1 323
2 329
3 ACCESS 329
4 AUTOMATION ACCESS 331
5 DAO ACCESS 334
6 ADO ACCESS 334
7 EXCEL ACCESS 336
8 ACCESS 336
9 ACCESS 338
10 ACCESS 343
11 ACCESS 345
12 347
13 348
wwwplcworldcn
14 ACCESS 350
15 ACCESS EXCEL 350
16 GET ROWS 350
17 COPY FROM RECORDSET 354
18 TRANSFER SPREADSHEET 354
19 OPEN DATABASE 356
20 ACCESS 360
21 ACCESS 363
22 EXCEL ACCESS 365
23 ACCESS 365
24 EXCEL ACCESS 367
25 EXCEL ACCESS 369
26 EXCEL ACCESS 370
27 EXCEL ACCESS 370
28 372
wwwplcworldcn
V B A
1
VBA
融长ou–着集迎集魔– 必嵌嵌懂嫌度度嫌惊嵌 –






度 –溢暗族操迎豫必惊溢迎邻–
必 懂嵌狂x邻鉴首必嵌嵌必 必拉懂 –
惊 获激 pu迎首集邻始–p龄集v身t鉴始–量集骤始–铅oto始–魔鉴xt始–w集t长始–集魔t鉴铅鉴龄始–s集魔铅首鉴 –
––––

获激 –
度–橄–
必–增–喧器增喧器嫌立o量览城属嫌
词–
惊 篇ot溢魔量精龄喧器藏o龄喧器狂黄v喧器骤p喧器–
懂 –橄–榄榄橄榄橄种集颜鉴
s –
拉–篇ot溢魔量精龄藏o龄狂黄v骤p



获激溢 度必 膳yp鉴 –
– – –
–背t龄集魔铅– 减– 喧嵌嫌描拉懂嵌嵌器–
–激yt鉴– – 度–
–激oo首鉴身魔– – 必–
–魔t鉴铅鉴龄– 势– 必–
–种o魔铅– – 懂–
–背集魔铅首鉴– – 懂–
–熬ou迎首鉴– – 族–
–熬身t鉴– – 族度嵌嵌属度属度嫌暗暗属度必属惊度–
–点u龄龄鉴魔邻y– 淆– 族–
–熬鉴邻集骤身首– – 度懂–
–获身龄集身魔t– – –
–精迎面鉴邻t– – 懂–


度获激溢 –
必–精pt集o魔–狂xp首集邻集t––
惊–
熬集骤 –– –身s ––––响–熬集骤– –– xyz–身s–集魔t鉴铅鉴龄–
紫龄集v身t鉴 ––身s ––––响–紫龄集v身t鉴––xyz–身s–迎yt鉴–
紫u迎首集邻 – –身s ––––响–紫u迎首集邻–– xyz–身s–s集魔铅首鉴–
理首o迎身首 –––身s ––––响–理首o迎首身首––xyz–身s–量身t鉴–
wwwplcworldcn
V B A
2
背t身t集邻 – –身s ––––响–背t身t集邻–– xyz–身s–量ou迎首鉴–

懂 点o魔st
点o魔st –紫集 橄惊富度懂度拉暗必描– 身s –s集魔铅首鉴–



理首o迎身首 熬集骤 –
熬集骤–喧装首ow鉴龄–to–言 upp鉴龄 –装始–装首ow鉴龄–to–言 upp鉴龄 始–富言 器–身s–typ鉴–检种ow鉴龄 嵌
藏融喧器–
获激溢
美鉴量集骤 p龄鉴s鉴龄v鉴 –
熬集骤 –身龄龄身y度喧器– 身s– 量ou迎首鉴–架–美鉴量集骤 –身龄龄身y度喧拉器–架–身龄龄身y度喧惊器橄必拉嵌–架– 美鉴量集骤 –p龄鉴s鉴龄v鉴–身龄龄身y度喧拉始度嵌器–


度获激溢 –
 ––––’’’’––––检检检检’ –
 美鉴骤 –检检检检美鉴骤 –
必–橄 藏橄度必惊环o龄骤度富邻身pt集o魔橄

s鉴t–骤yo迎面鉴邻t橄o迎面鉴邻t–––骤yo迎面鉴邻t架橄o迎面鉴邻t–


度获激溢 –
必––––架–架–架–架– –
惊 –豫–豫–豫–豫––
懂–


度ffff膳长鉴魔膳长鉴魔膳长鉴魔膳长鉴魔狂首s鉴狂首s鉴狂首s鉴狂首s鉴 –
f –邻o魔量集t集o魔– 膳长鉴魔 –装st身t鉴骤鉴魔ts言装 狂首s鉴 –鉴首s鉴st身t鉴骤鉴魔ts言–
度f –溢激–溢魔量–点榄熬– 膳长鉴魔 –溢橄激增必– 狂首s鉴 –溢橄点增必––
必f –x必拉嵌– 膳长鉴魔 –x橄x嫌度嵌嵌––

f–邻o魔量集t集o魔–膳长鉴魔–
装st身t鉴骤鉴魔ts言–
装狂首s鉴f–邻o魔量集t集o魔嫌魔–膳长鉴魔–
装鉴首s鉴集fst身t鉴骤鉴魔ts言–富富富–
装狂首s鉴–
装鉴首s鉴st身t鉴骤鉴魔ts言言–
狂魔量–f–
度架–
f –篇u骤迎鉴龄–榄–度嵌– 膳长鉴魔 –
––––熬集铅集ts–橄–度–
狂首s鉴f –篇u骤迎鉴龄–榄–度嵌嵌– 膳长鉴魔 –
––––熬集铅集ts–橄–必–
狂首s鉴 –
––––熬集铅集ts–橄–惊–
狂魔量–f –
wwwplcworldcn
V B A
3

必背鉴首鉴邻t–点身s鉴背鉴首鉴邻t–点身s鉴背鉴首鉴邻t–点身s鉴背鉴首鉴邻t–点身s鉴点身s鉴点身s鉴点身s鉴点身s鉴狂魔量–点身s鉴狂魔量–点身s鉴狂魔量–点身s鉴狂魔量–点身s鉴 –
度–
背鉴首鉴邻t–点身s鉴背鉴首鉴邻t–点身s鉴背鉴首鉴邻t–点身s鉴背鉴首鉴邻t–点身s鉴 –紫集量–
点身s鉴点身s鉴点身s鉴点身s鉴 –溢度嵌度–
紫龄集邻鉴橄必嵌嵌–
点身s鉴点身s鉴点身s鉴点身s鉴 –溢度嵌必–
紫龄集邻鉴橄惊嵌嵌–

点身s鉴–狂首s鉴点身s鉴–狂首s鉴点身s鉴–狂首s鉴点身s鉴–狂首s鉴 –
紫龄集邻鉴橄暗嵌嵌–
狂魔量–点身s鉴狂魔量–点身s鉴狂魔量–点身s鉴狂魔量–点身s鉴––––
惊点长oos鉴–点长oos鉴–点长oos鉴–点长oos鉴––
邻长oos鉴喧集魔量鉴x始–邻长o邻鉴嫌度始邻长o集邻鉴嫌必始始邻长o集邻鉴嫌魔器
集魔量鉴x––度–
邻长o集邻鉴–获身龄集身魔t –
理鉴t点长o集邻鉴–橄–点长oos鉴喧魔量始–便背p鉴鉴量y便始–便花魔集t鉴量便始–便环鉴量鉴龄身首便器–
懂背w集t邻长背w集t邻长背w集t邻长背w集t邻长 –
背w集t邻长喧鉴xp龄嫌度始–v身首u鉴嫌度装始–鉴xp龄嫌必始–v身首u鉴嫌必–豫–装始–鉴xp龄嫌魔始v身首u鉴嫌魔言言器–
sw集t邻长 点长oos鉴 膳美花狂
–鉴xp龄––获身龄集身魔t–v身首u鉴––
膳龄u鉴–膳龄u鉴膳龄u鉴膳龄u鉴膳龄u鉴背w集t邻长背w集t邻长背w集t邻长背w集t邻长––篇u首首 –


度环o龄–篇鉴xt环o龄–篇鉴xt环o龄–篇鉴xt环o龄–篇鉴xt ––
环o龄– 邻ou魔t鉴龄 –橄 –st身龄t– 膳o –鉴魔量–装 背t鉴p –st鉴p言––– – – 响–st鉴p–度–
装st身t鉴骤鉴魔ts言–
装狂x集t–环o龄言–
装st身t鉴骤鉴魔ts言–
篇鉴xt–装邻ou魔t鉴龄言–
度–
环o龄 –蓄o龄量s–橄–度嵌– 膳o –度– 背t鉴p –嫌度–––– – – 响––度嵌– –
––––环o龄–点长身龄s–橄–嵌–膳o–暗––––– – – – 响––度嵌– –
––––––––立y背t龄集魔铅–橄–立y背t龄集魔铅––点长身龄s––– ––响– –
––––篇鉴xt–点长身龄s––––– – – – – – 响–魔邻龄鉴骤鉴魔t–邻ou魔t鉴龄–
––––立y背t龄集魔铅–橄–立y背t龄集魔铅––便–便–––– – 响– –
篇鉴xt –蓄o龄量s–

必环o龄–狂身邻长环o龄–狂身邻长环o龄–狂身邻长环o龄–狂身邻长篇鉴xt篇鉴xt篇鉴xt篇鉴xt –––––––– –
环o龄–狂身邻长 –鉴首鉴骤鉴魔t– 魔 –铅龄oup–
背t身t鉴骤鉴魔ts–
装狂x集t–fo龄言–
背t身t鉴骤鉴魔ts–
篇鉴xt –装鉴首鉴骤鉴魔t言–
度–
环o龄–狂身邻长 –龄身魔铅必– 魔 –龄身魔铅鉴度–
蓄集t长–龄身魔铅鉴必富集魔t鉴龄集o龄–
富邻o首o龄集魔量鉴x橄描–
富p身tt鉴龄魔橄x首背o首集量–
狂魔量–w集t长–
篇鉴xt–
–蓄集t长狂魔量–蓄集t长 ––
wwwplcworldcn
V B A
4
蓄集t长–o迎面鉴邻t–
装st身t鉴骤鉴魔ts言–
狂魔量–蓄集t长–

惊熬o熬o熬o熬o首oop首oop首oop首oop –––– t龄u鉴t龄u鉴t龄u鉴t龄u鉴 ––––
熬o–{w长集首鉴–|u魔t集首}–邻o魔量集t集o魔 响–w长集首鉴–u魔t集首 –
背t身t鉴骤鉴魔ts–
狂x集t–量o–
背t身t鉴骤鉴魔ts–
种oop–

熬o– – – – – – – 响– 量o– –
背t身t鉴骤鉴魔ts–
狂x集t–量o–
背t身t鉴骤鉴魔ts–
种oop–{w长集首鉴–|u魔t集首}–邻o魔量集t集o魔–



获激溢 –
度器 理oto –首集魔鉴– 首集魔鉴 –
必器 精魔–鉴xp龄鉴ss集o魔–铅osu迎–量鉴st集魔身t集o集魔首集st––o魔–鉴xp龄鉴ss集o魔–铅oto–量鉴st集魔身t集o魔首集st––
鉴xp龄ss集o魔 –
惊器 理osu迎 –首集魔鉴首集魔鉴美鉴tu龄魔 –美鉴tu龄魔 ––理osu迎 –首集魔鉴 –
背u迎–铅osu迎t龄y喧器–
熬集骤–魔u骤–
篇u骤橄集魔put迎ox喧器–
f–魔u骤嵌–t长鉴魔– 理osu迎 –美out集魔鉴度–熬鉴迎u铅富p龄集魔t–魔u骤狂x集t–su迎 –
美out集魔鉴度架–
篇u骤橄魔u骤属拉––
美鉴tu龄魔–
狂魔量–su迎–
懂器 w长集首鉴w鉴魔量 膳美花狂 获激 –
w长集首鉴–邻o魔量集t集o魔 –w长集首鉴–榄拉嵌–
装st身t鉴骤鉴魔ts言–– 橄增度 –
w鉴魔量 –– – – 蓄鉴魔量–
––––

精魔–狂龄龄o龄

精魔–狂龄龄o龄–理oto–种集魔鉴 ––– 首集魔鉴 –
精魔–狂龄龄o龄–美鉴su骤鉴–篇鉴xt – –
精魔–狂龄龄o–理oto–嵌 – ––––– –


获激溢 背u迎–环u魔邻t集o魔 紫龄op鉴龄ty 狂v鉴魔t –
背u迎背u迎背u迎背u迎 ––––
背u迎–喧激y获身首器喧激y美鉴f器–
背u迎–p身sswo龄量–喧 激y获身首 –x–身s–集魔t鉴铅鉴龄始– 激y美鉴f –y–身s–集魔t鉴铅鉴龄器–
f–y橄度嵌嵌–t长鉴魔–y橄x增y–鉴首s鉴–y橄x嫌y–
x橄x增度嵌嵌–
wwwplcworldcn
V B A
5
狂魔量–su迎–

背u迎–邻身首首豫p身sswo龄量–喧器–
熬集骤–x度–身s–集魔t鉴铅鉴龄–
熬集骤–y度–身s–集魔t鉴铅鉴龄–
x度橄度必–
y度橄度嵌嵌–
点身首首 –p身sswo龄量–喧x度始y度器– 度富–点身首首–喧 度始– 必器–检–必富––
度始– 必–
量鉴迎u铅富p龄集魔t–x度始y度– 度必度度必y度 x度 –
狂魔量–su迎–
环u魔邻t集o魔环u魔邻t集o魔环u魔邻t集o魔环u魔邻t集o魔 ––––

喧激y获身首器喧激y美鉴f器–
环u魔邻t集o魔–p身sswo龄量喧激y获身首–x–身s–集魔t鉴铅鉴龄始–迎y龄鉴f–y–身s–集魔t鉴铅鉴龄器–身s–迎oo首鉴身魔–
f–y橄度嵌嵌–t长鉴魔–y橄x增y–鉴首s鉴–y橄x嫌y–
x橄x增度嵌嵌–
集f–y橄度拉嵌–t长鉴魔–p身sswo龄量橄t龄u鉴–鉴首s鉴–p身sswo龄量橄f身首s鉴–
狂魔量–环u魔邻t集o魔–

背u迎–邻身首首豫p身sswo龄量–喧器–
熬集骤–x度–身s–集魔t鉴铅鉴龄–
熬集骤–y度–身s–集魔t鉴铅鉴龄–
x度橄度必–
y度橄度嵌嵌–
集f–p身sswo龄量–t长鉴魔– 度富–橄–检–必富– –
量鉴迎u铅富p龄集魔t–x度– –––– – –
––––鉴魔量–集f–
狂魔量–su迎–
紫龄op鉴龄ty紫龄op鉴龄ty紫龄op鉴龄ty紫龄op鉴龄ty 狂v鉴魔t狂v鉴魔t狂v鉴魔t狂v鉴魔t ––––
获激 获激溢


获激溢 –
––––
s篇u骤鉴龄集邻喧x器––– – 始–– 激oo首鉴身魔 膳龄u鉴–o龄–环身首s鉴–
s熬身t鉴喧x器–––––– – 始–– 激oo首鉴身魔 膳龄u鉴–o龄–环身首s鉴–
s狂骤ptyx––––– 狂骤pty始– 激oo首鉴身魔 膳龄u鉴–o龄–环身首s鉴–
s溢龄龄身y喧x器––– – –
s狂龄龄o龄喧鉴xp龄鉴ss集o魔器––
s篇u首首喧鉴xp龄鉴ss集o魔器– –喧篇u首首器–
s精迎面鉴邻t喧集量鉴魔t集f集鉴龄器–

––––
背集魔喧藏器点os喧藏器膳身魔喧藏器溢t身魔喧x器–––
种o铅喧x器– x –
狂xp喧x器–鉴 x–
溢迎s喧x器––
魔t喧魔u骤迎鉴龄器环集x喧魔u骤迎鉴龄器–魔t––嫌族富懂––嫌暗–环集x–嫌族富懂–
–嫌族–
背铅魔喧魔u骤迎鉴龄器––获身龄集身魔t–喧魔t鉴铅鉴龄器–
背黄龄喧魔u骤迎鉴龄器––熬ou迎首鉴–
wwwplcworldcn
V B A
6
获身龄膳yp鉴喧v身龄魔身骤鉴器––魔t鉴铅鉴龄–
美魔量x 嵌嫌度 x –

––––
膳龄集骤喧st龄集魔铅器–– – – st龄集魔铅–
种t龄集骤喧st龄集魔铅器–– – – st龄集魔铅–
美t龄集骤喧st龄集魔铅器–– – – st龄集魔铅–
种鉴魔喧st龄集魔铅器–– – – st龄集魔铅–
种鉴ft喧st龄集魔铅始–x器–– – st龄集魔铅x –
美集铅长t喧st龄集魔铅始–x器–– – st龄集魔铅 x –
立集量喧st龄集魔铅始–st身龄t始x器–– st龄集魔铅 st身龄t x –
花邻身s鉴喧st龄集魔铅器–– – – –
种邻身s鉴喧st龄集魔铅器–– – – –
背p身邻鉴喧x器–– – – – x–
溢s邻喧st龄集魔铅器–– – – –集魔t鉴铅鉴龄–
点长龄喧邻长身龄邻o量鉴器– – – –st龄集魔铅始–

––––
点激oo首喧鉴xp龄鉴ss集o魔器– – 激oo首鉴身魔–
点激yt鉴喧鉴xp龄鉴ss集o魔器–– – 激yt鉴 –
点点u龄喧鉴xp龄鉴ss集o魔器–– – 点u龄龄鉴魔邻y –
点熬身t鉴喧鉴xp龄鉴ss集o魔器–– – 熬身t鉴 –
点熬迎首喧鉴xp龄鉴ss集o魔器–– – 熬ou迎首鉴–
点熬鉴邻喧鉴xp龄鉴ss集o魔器–– – 熬鉴邻鉴骤身首–
点魔t喧鉴xp龄鉴ss集o魔器–– – 魔t鉴铅鉴龄–
点种魔铅喧鉴xp龄鉴ss集o魔器–– – 种o魔铅–
点背魔铅喧鉴xp龄鉴ss集o魔器–– – 背集魔铅首鉴–
点背t龄喧鉴xp龄鉴ss集o魔器–– – 背t龄集魔铅–
点获身龄喧鉴xp龄鉴ss集o魔器–– – 获身龄集身魔t–
获身首喧st龄集魔铅器––– – – –
背t龄喧魔u骤迎鉴龄器–– – – 背t龄集魔铅–

––––
篇ow–––––– –获身龄集身魔t–喧熬身t鉴器–
熬身t鉴––– – –获身龄集身魔t–喧熬身t鉴器–
膳集骤鉴––––– –获身龄集身魔t–喧熬身t鉴器–
膳集骤鉴龄–––– –背集魔铅首鉴–
膳集骤鉴背鉴龄集身首喧长ou龄始–骤集魔ut鉴始–s鉴邻o魔量器––获身龄集身魔t–喧熬身t鉴器–
熬身t鉴熬集ff喧集魔t鉴龄v身首始–量身t鉴度始–量身t鉴必装始–f集龄st量身yofw鉴鉴颜装始–f集龄stw鉴鉴颜ofy鉴身龄言言器––获身龄集身魔t–喧种o魔铅器–

背鉴邻o魔量喧t集骤鉴器––获身龄集身魔t–喧魔t鉴铅鉴龄器–嵌––拉暗––
立集魔ut鉴喧t集骤鉴器––获身龄集身魔t–喧魔t鉴铅鉴龄器–嵌––拉暗––
病ou龄喧t集骤鉴器–––获身龄集身魔t–喧魔t鉴铅鉴龄器–嵌––必惊––
熬身y喧量身t鉴器–– –获身龄集身魔t–喧魔t鉴铅鉴龄器–度––惊度––
立o魔t长喧量身t鉴器––获身龄集身魔t–喧魔t鉴铅鉴龄器–度––度必––
鉴身龄喧量身t鉴器–––获身龄集身魔t–喧魔t鉴铅鉴龄器–
蓄鉴鉴颜量身y喧量身t鉴始–装f集龄st量身yofw鉴鉴颜言器––获身龄集身魔t–喧魔t鉴铅鉴龄器



––––––––
熬集龄 装喧p身t长魔身骤鉴装始–身tt龄集迎ut鉴s言器言–p身t长魔身骤鉴–
wwwplcworldcn
V B A
7
–p身t长魔身骤鉴–喧便便器检–身tt龄集迎ut鉴s–
–p身t长魔身骤鉴–

––––––––
磅集首首 –p身t长魔身骤鉴–– 始–p身t长魔身骤鉴––
美骤熬集龄 –p身t长魔身骤鉴– p身t长魔身骤鉴––
––––
精p鉴魔 –p身t长魔身骤鉴–环o龄–骤o量鉴–装溢邻邻鉴ss–身邻邻鉴ss言–装首o邻颜言–溢s–装言f集首鉴魔u骤迎鉴龄–装种鉴魔橄龄鉴邻首鉴魔铅t长言–
属–喧属精器–
p身t长魔身骤鉴–––
骤o量鉴––溢pp鉴魔量激集魔身龄y魔put精utput–美身魔量o骤–
–美身魔量o骤–––
身邻邻鉴ss––美鉴身量蓄龄集t鉴–美鉴身量–蓄龄集t鉴–––
首o邻颜––背长身龄鉴量种o邻颜–美鉴身量种o邻颜–蓄龄集t鉴–
种o邻颜–美鉴身量–蓄龄集t鉴–––
f集首鉴魔u骤迎鉴龄––度––拉度度–––––环龄鉴鉴环集首鉴–
–龄鉴邻首鉴魔铅t长––惊必操描操

–––––属精–精p鉴魔––属精–
–p身t长魔身骤鉴––溢pp鉴魔量激集魔身龄y
精utput–美身魔量o骤–
–精p鉴魔––骤o量鉴––激集魔身龄y––种鉴魔–

––激集魔身龄y魔put––美身魔量o骤–
–溢pp鉴魔量––精utput–

––––
魔put –f集首鉴魔u骤迎鉴龄始–v身龄首集st––
理鉴t –装言f集首鉴魔u骤迎鉴龄始–装龄鉴邻魔u骤迎鉴龄言始–v身龄魔身骤鉴 –
––––
蓄龄集t鉴 –f集首鉴魔u骤迎鉴龄始–装output首集st言––
紫龄集魔t –f集首鉴魔u骤迎鉴龄始–装output首集st言––
紫ut– 装言f集首鉴魔u骤迎鉴龄始–装龄鉴邻魔u骤迎鉴龄言始–v身龄魔身骤鉴––
––––
点首os鉴 –装f集首鉴魔u骤迎鉴龄首集st言––精p鉴魔–属–喧属精器––

––魔put–––蓄龄集t鉴–––紫龄集魔t––
–蓄龄集t鉴–––魔put––
–蓄龄集t鉴––蓄龄集t鉴––紫龄集魔t––
蓄龄集t鉴–– 蓄龄集t鉴––
–output首集st– 喧点长龄喧度惊器–增–
点长龄喧度嵌器器 –
––––
种精环喧f集首鉴魔u骤迎鉴龄器–––种o魔铅–精p鉴魔––
狂精环喧f集首鉴魔u骤迎鉴龄器–––魔t鉴铅鉴龄–激oo首鉴身魔––膳龄u鉴–美身魔量o骤––
魔put––
种o邻喧f集首鉴魔u骤迎鉴龄器––––种o魔铅属–
背鉴鉴颜喧f集首鉴魔u骤迎鉴龄器–––种o魔铅–精p鉴魔–属
wwwplcworldcn
Visual BASIC
1
––––
Visual BASIC ––––
VBA
11 VBA
– – 暗嵌 始富
始富架 狂藏点狂种 狂藏点狂种
始 蓄精美熬–激溢背点 蓄精美熬 始富
嫌嫌嫌嫌嫌嫌嫌嫌获集su身首–激身s集邻–环o龄–溢pp首集邻身t集o魔喧获激溢器始 获激溢
获溢背花溢种–激溢背点–富 获激溢 便便获激 富获激溢 获激
架––
– – 度富–获激 始 获激溢 喧狂藏点狂种 器–
– – 必富–获激 始 获激溢 富–
– – 惊富– 获激 始 获激始 获激
喧城富狂藏狂器始 获激溢 便便始 狂藏点狂种富––
– – 始获激溢 获激 富始 获激始
获激溢 富始 获激溢 获激 富始 狂藏点狂种
获激溢 始 蓄精美熬–溢点点狂背背–精花膳种精精磅–环精藏紫美精–紫美精蓄狂美紫精篇膳– 获激溢
富–

– – 城–获激溢 富–
– – 城–获激溢 狂藏点狂种 便便富–

– – 获激溢 始始始
富––
– – –始始 狂藏点狂种 富–

12 EXCEL
– – 获激溢 获激溢 架––
– – 度富–富–
– – 必富– 狂藏点狂种 始富–
– – 惊富–富–
– – 懂富– 狂藏点狂种始富–
– – 拉富–富–
– – 描富–富–

– – 狂藏点狂种 架––
– – 度富–狂藏点狂种 始始始富–
– – 必富–狂藏点狂种 富–
– – 惊富–狂藏点狂种 富–
– – 懂富–富–

– – 始始
始始富 狂藏点狂种 始 狂藏点狂种 始
富–
wwwplcworldcn
Visual BASIC
2

– –– –––– – 13
– – 获激溢 –
– – 便便 狂藏点狂种 获激溢 ––
– – ––
– – 度器–
– – 必器 溢度 便便–
– – 惊器便便嫌便便嫌便便–
– – 懂器便便始便便
便便–
– – – 必拉拉

– – 拉器便便便便便便始便便–
– – 描器便便–

– – –便便便便嫌便便嫌便便–

– – –
––
– –– –––– – 14
––
– – 狂藏点狂种 获激溢 狂藏点狂种 便便
获激溢 便便 狂藏点狂种
狂藏点狂种 便便便便
––
– – 度 溢惊–
– – 必便便嫌便便嫌便便便便–
– – 惊便便便便 溢惊


– –– –––– – 15

– – 狂藏点狂种 富始 获激溢 富––
– – 度便便嫌便便嫌便便便便–
– – 必便便始便便––
– – 获激溢 获激狂


背u迎–喧器–
响–
响––立身邻龄o–
响–xw––必嵌嵌嵌嫌描嫌度嵌–
响–

wwwplcworldcn
Visual BASIC
3
响–
蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄–
富点o首o龄魔量鉴x–橄–惊–
富紫身tt鉴龄魔–橄–x首背o首集量–
富紫身tt鉴龄魔点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻–
狂魔量–蓄集t长–
狂魔量–背u迎–

获激溢


背u迎–喧器架–

便–响便便便–

蓄集t长– 狂魔量–蓄集t长– 蓄集t长
便s鉴首鉴邻t集o魔便便便蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄–
便便富便便–



富点o首o龄魔量鉴x–橄–惊架–
蓄集t长 始 蓄集t长 惊富喧
惊 器 惊 –

富紫身tt鉴龄魔–橄–x首背o首集量
喧便便x首背o首集量


富紫身tt鉴龄魔点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻–

狂魔量–蓄集t长架 蓄集t长––

狂魔量–背u迎架–

– –– –––– – 16
– – –


背u迎–喧器–
响–
响––立身邻龄o–
响–xw––必嵌嵌嵌嫌描嫌度嵌–
响–

响–
wwwplcworldcn
Visual BASIC
4
蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄–
富点o首o龄魔量鉴x–橄–惊–
狂魔量–蓄集t长–
狂魔量–背u迎––

– – 蓄集t长–
架–

美身魔铅鉴喧便溢拉便器富背鉴首鉴邻t–

– – 始始 溢拉 富––

– –



– –– –––– – 17

– – 狂藏点狂种 富
富架––
– – 度器富–
– – 必器始始富–
– – 惊器 狂藏点狂种 富–
– – 懂器富–

– –– –––– – 18

– – 始 获激溢 始
富富 获激溢 获激 富
始始富始富–

– – 架–
– – 度器获激溢 狂藏点狂种 –
– – 必器获激溢 –
– – 惊器狂藏点狂种获激溢富–
懂器––

– –– –––– – 21
– –
点膳美种增点––
– – 便便
便便––
– – 狂藏点狂种
wwwplcworldcn
Visual BASIC
5
点膳美种增点 点膳美种增点 狂藏点狂种
溢懂 必懂 ––
– – 度 狂藏点狂种 便便–
– – 必便便便便便–
– – 惊便便–
– – 懂便便便便–

便便
便便便便便便便便
便便–

– –– –––– – 22
– – ––
– – 度–
– – 必–
– – 惊–

– –– –––– – 23
– –
便紫狂美背精篇溢种富藏种背便 狂藏点狂种
便便便便

便藏种背膳溢美膳便
点架览蓄篇熬精蓄背览紫龄of集首鉴s览溢pp首集邻身t集o魔– 熬身t身览立集邻龄osoft览狂x邻鉴首览藏种背膳溢美膳
便藏种背膳溢美膳便–––
– – 狂藏点狂种
藏种背膳溢美膳 –

– –– –––– – 必富惊富度–必富惊富度–必富惊富度–必富惊富度–––––––––
– – 始始始
架––
– – 度器便病精花美必便便便嫌便便嫌便便始便便
富–
– – 必器便便富–
– – 惊器便便便便富–
– – 懂器便便富富–
– – 拉器便便富始始
始 狂藏点狂种 富–
– – 描器便便富–
– – 操器富–

– –– –––– – 必富惊富必–必富惊富必–必富惊富必–必富惊富必–––––––––
– – 始富
架––
– – 度器 狂藏点狂种 富–
wwwplcworldcn
Visual BASIC
6
– – 必器 狂藏点狂种 富喧狂藏点狂种 富器–
– – 惊器 溢惊 富–
– – 懂器便便嫌便便始富便便富––
– – 拉器便便始富 溢惊 始富
便便嫌便便始 紫狂美背精篇溢种富藏种背 始始 获激溢
便便富 获激溢
富 紫狂美背精篇溢种富藏种背 始 狂藏点狂种 紫狂美背精篇溢种富藏种背始
狂藏点狂种 富–

– –– –––– – 24
– – 始始始
始––
– – 狂藏点狂种 始富便便
富便便

––
– – 度便病精花美必便–
– – 必便便–
– – 惊便便便便–
– – 懂

狂藏点狂种 便便–
– – 拉便便便便便便

– – 描便 度便 熬狂种狂膳狂 便
便–
– – 操便 度便便便

– – 族––
– –



– –– –––– – 25
– –
便便
便便便便便便

便便––
– – 便
便––
– – 度便病精花美必便便便嫌便便便便–
– – 必便便便便便便便便–
– – 惊便便–
– – 懂便便便便–
wwwplcworldcn
Visual BASIC
7
– – 拉便便–
– – 描便便便便–
– – 操–
– –– –––– – 26
– – –

––
– – wo龄颜迎oo颜始wo龄颜s长鉴鉴t始龄身魔铅鉴始邻鉴首首s始始始始始始

狂藏点狂种 狂藏点狂种
狂藏点狂种
便便–––

– –– –––– – 31 EXCEL
– – 富–
– – 度器嫌嫌嫌嫌嫌富–
– – 必器嫌嫌嫌嫌嫌富––
– – 惊器嫌嫌嫌嫌嫌富–
– – 懂器嫌嫌嫌嫌嫌富–

– –– –––– – 32
– – 始便病精花美惊便富
始便便始便便富 度描 暗

– – 度–
– – 必–
– – 惊–
– – 懂–
– – 拉–
– – 描–
– – 操––
– – 族

– – 暗
蓄集魔量ows –

– –– –––– – 33
– – 狂藏点狂种 始始架–
– – 度器便病精花美惊便始便便富–
– – 必器便便富–
– – 惊器 狂度始富–
– – 懂器始始富始
wwwplcworldcn
Visual BASIC
8
溢种膳 富–
– – 拉器 度 始便便始富始
富–
– – 描器始富–

– –– –––– – 34
– – 始架–
– – 度器始富–
– – 必器始便便富–
– – 惊器便便 溢度 富–
– – 懂器始富–
– – 拉器始溢度 膳美花狂始富始溢度
环溢种背狂富–
– – 描器富便便富–
– – 操器便便 溢惊 富–
– – 族器始富–
– – 暗器始 溢度 度始 溢度 富–
– – 度嵌器富–

– –– –––– – 35
– – 狂藏点狂种 始始
富始便便
富富–

– –– –––– – 36
– – 始始富
富始
富 获激溢 富架–
– – 度器便病精花美惊便始便便嫌便便嫌便获激溢 便始 获激溢 富–
– – 必器 获激溢 便便便便始
便便––
– – 始获激溢 便花背狂美环精美立度便始便便始
始富––
– – 架–
– – 溢器架始富
富狂藏点狂种 始架便便始便便始便便
便便便便富–
– – 激器喧膳身迎背t龄集p器架富
富架始
富始始 膳溢激度 膳溢激必始富–
– – 点器架始富始
始富始架便
便便便便便富便便便富富富便富–
– – 熬器架富
wwwplcworldcn
Visual BASIC
9
– 架城富迎骤p始城富邻u龄始城富铅集f始城富集邻o始城富面p铅始城富w骤f富––
– – 环器美鉴f狂量集t架
fx便便––
– – ––
– – 获激溢
便便便属便 获激溢

环拉 –

– –
始始富


– –– –––– – 37

– – 度富–
– – 架富 狂藏点狂种 始
富检
狂藏点狂种 始富–

– – 必富–
– – 架始始富–

– – –

– – 度富–
– – 度–
– – 必–
– – 必富架–
– – 度 获激溢 –
– – 必 获激溢 –
– – 惊富架喧–器––

– –– –––– – 41
– – 获激溢

––
– – –
– – 获激溢 –
– – 获激溢 –

– – 狂藏点狂种
狂藏点狂种 获激溢

wwwplcworldcn
Visual BASIC
10

– –– –––– – 42
– – 获激溢
––
– –

懂嫌度 ––
懂嫌度–––
背u迎–邻骤量背骤身首首环o魔t豫点首集邻颜喧器–
蓄集t长–背鉴首鉴邻t集o魔富环o魔t–
富篇身骤鉴橄便溢龄集身首便–
富环o魔t背ty首鉴橄便美鉴铅u首身龄便–
富背集z鉴橄度描–
狂魔量–蓄集t长–
狂魔量–su迎––
– –
点骤量背骤身首首环o魔t 点首集邻颜
点骤量背骤身首首环o魔t
––
– –
环身首s鉴– 膳龄u鉴富 获激溢
懂嫌必 度嵌势––
懂嫌必–––
紫u迎首集邻–环u魔邻t集o魔–背长集pp集魔铅喧紫龄集邻鉴器–
背长集pp集魔铅–橄–紫龄集邻鉴–城–嵌富度–
狂魔量–环u魔邻t集o魔––
– – 紫龄集邻鉴器富 紫龄集邻鉴
紫龄集邻鉴
––
溢–激––
度–紫龄集邻鉴–度嵌嵌–
必–背长集pp集魔铅–橄s长集pp集魔铅喧激度器–

– –– –––– – 懂富必富度–懂富必富度–懂富必富度–懂富必富度–––––––––
– –


––
– – 立s铅迎ox
立s铅迎ox
––
– – 度–
– – 必便便嫌便便嫌便获集su身首–激身s集邻 便 获激溢 –
– – 惊跃获激溢 便便
便膳长集swo龄颜迎oo颜便便便嫌便便
喧便便 点t龄首增美器–
wwwplcworldcn
Visual BASIC
11
– – 懂便便便便便便–
– – 拉便便便便便便便
便–紫u迎首集邻–背u迎–
狂魔量–背u迎 –
– – 描–
立s铅迎ox–便便–
立s铅迎ox

紫u迎首集邻–背u迎––
立s铅迎ox–便便–
狂魔量–背u迎–

– – 获激溢 –
– – 城––
– – 城–淆––减–富–
– – 城– 必拉拉 –
––
– –– –––– – 懂富必富必–懂富必富必–懂富必富必–懂富必富必–––––––––
– – 便便
便属便 环拉 ––
– – 度便属便–
– – 必便便–

– –– –––– – 43
– – 始富 获激溢 富
架––
– – 度器便便嫌便便富始富–
– – 必器便病精花美懂便始富––

狂x邻鉴首–病o骤鉴––
– –– –––– – 44
– – 富始始
始富––
– – 始架––
– – 度器便便富–
– – 必器架–
– – 魔put迎ox–便架便–
– – 集魔put迎ox 始富–
– – 惊器 环拉 始始富–
– – 懂器便便始富––
– – 始
富–

– –– –––– – 懂富懂富度–懂富懂富度–懂富懂富度–懂富懂富度–––––––––
– – 富
wwwplcworldcn
Visual BASIC
12
富 懂嫌度 获激溢 始
富––



激yt鉴–
度 –
嵌–嫌–必拉拉–
激oo首鉴身骤–
必 –
膳龄u鉴 环身首s鉴–
魔t鉴铅鉴龄–
必 –
嫌惊必操描族–嫌–惊必操描操–
种o魔铅喧器–
懂 –
嫌必度懂操懂族惊描懂族–嫌–必度懂操懂族惊描懂操–
背集魔铅首鉴–
懂 –
架–
嫌惊富懂嵌必族必惊狂惊族–嫌–嫌度富懂嵌度必暗族狂嫌懂拉–
架–
度富懂嵌度必暗族狂嫌懂拉–嫌–惊富懂嵌必族必惊狂惊族–
熬ou迎首鉴–
族 –
架嫌度富操暗操描暗惊度惊懂族描必惊必狂惊嵌族–嫌–嫌懂暗懂嵌描拉描懂拉族懂度必懂操狂嫌惊必懂–
架懂富暗懂嵌描拉描懂拉族懂度必懂操狂嫌惊必懂–嫌–度富操暗操描暗惊度惊懂族描必惊必狂惊嵌族–
点u龄龄鉴魔邻y–
族 –
嫌暗必必惊惊操必嵌惊描族拉懂操操–嫌–暗必必惊惊操必嵌惊描族拉懂操操–
熬鉴邻集骤身首–
度懂 –
架–
增属嫌操暗必必族度描必拉度懂必描懂惊惊操拉暗惊拉懂惊暗拉嵌惊惊拉–
架–
增属操富暗必必族度描必拉度懂必描懂惊惊操拉暗惊拉懂惊暗拉嵌惊惊拉–
熬身t鉴–
族 –
度嵌嵌嵌度度–嫌–暗暗暗暗度必惊度–
精迎面鉴邻t–
懂 –

背t龄集魔铅喧–
度嵌 增度 属–
嵌–嫌– 必嵌 –
背t龄集魔铅喧–

wwwplcworldcn
Visual BASIC
13
度–嫌– 描拉懂嵌嵌–
获身龄集鉴魔t–
度描 –
熬ou迎首鉴 –
获身龄集鉴魔t–
必必 增度 属–

– – 懂嫌度–获激溢 ––
– – 溢激获
懂嫌度
激yt鉴 背集魔铅首鉴


– –– –––– – 懂富懂富必–懂富懂富必–懂富懂富必–懂富懂富必– 熬集骤熬集骤熬集骤熬集骤 喧喧喧喧器–器–器–器–––––
– – 始始富
熬集骤 始便便–熬集骤 架––
– – 熬集骤––溢背–––
– – 富
富 懂嫌度 富––
– – 始始
始淆––减–富 必拉拉 ––
– – 获激溢 始始
富架––
– – 度器便便富–
– – 必器架–
– – 紫u迎首集邻–背u迎–喧器–
– – 熬集骤–s –溢s–背t龄集魔铅–
– – s –橄–魔put迎ox喧便架便器–
– – 立s铅迎ox–便便–s –
– – 狂魔量–背u迎–
– – 惊器始 环拉 始富–
– – 懂器始始富–
– – 拉器便便始富––
– – 熬集骤 富始 获身龄集身魔t 始
获激溢 获身龄集身魔t富始
始 获激溢富富
获身龄集身魔t 度描 必必
获激溢 获身龄集身魔t –

– –– –––– – 懂富懂富惊–懂富懂富惊–懂富懂富惊–懂富懂富惊–––––––––
– – ––



溢龄龄身y–
身–
身龄y–
wwwplcworldcn
Visual BASIC
14
激oo首鉴身魔–
f–
迎集魔–
激yt鉴–
迎–
迎集t–
点u龄龄鉴魔邻y–
邻–
邻u龄–
熬ou迎首鉴–
量–
量迎首–
熬身t鉴属膳集骤鉴–
量t–
量t骤属量身t–
魔t鉴铅鉴龄–
集–
集魔t–
种o魔铅–
首–
首魔铅–
精迎面鉴邻t–
o–
o迎面–
背集魔铅首鉴–

s魔铅–
背t龄集魔铅–
s–
st龄–
获身龄集身魔t–
v–
v身龄–
– – 懂嫌必–––
– –– –––– – 懂富懂富懂–懂富懂富懂–懂富懂富懂–懂富懂富懂–––––––––
– – 始富
富始
架––
– – 熬集骤–身龄龄身y豫魔身骤鉴喧魔器–溢s–typ鉴–喧 魔 器––
– – 始 度嵌 始架–
–––––– – 熬集骤–s 喧暗器–溢s–魔t鉴铅鉴龄–
– – 始暗度嵌富始嵌富
富 度拉 始 度拉 始
度拉 熬集骤 –
– – 熬集骤–s 度懂–溢s–魔t鉴铅鉴龄–
– –

wwwplcworldcn
Visual BASIC
15

– – 熬集骤–量y魔豫身龄龄身y喧器–溢s–typ鉴–
– – 美鉴熬集骤 –
– – 美鉴熬集骤–量y魔豫身龄龄身y喧器喧身龄龄身y豫s集z鉴器–
– – 身龄龄身y豫s集z鉴 美鉴熬集骤
紫龄鉴s鉴龄v鉴始–
– – 美鉴熬集骤–紫龄鉴s鉴龄v鉴–量y魔豫身龄龄身y喧身龄龄身y豫s集z鉴器–

– –– –––– – 懂富懂富拉–懂富懂富拉–懂富懂富拉–懂富懂富拉–––––––––
– – ––
– – 懂嫌懂–

– – 熬集骤–集 –溢s–魔t鉴铅鉴龄–
– – 熬集骤–集 –溢s–魔t鉴铅鉴龄–
– – 熬集骤–集–溢s–魔t鉴铅鉴龄–

– – 集 –橄–集魔put迎ox喧便便器–
– – 美鉴熬集骤–紫龄鉴s鉴龄v鉴–集 喧集 器–
– – 环o龄–集–橄–度–to–集 –
– – 集 喧集器–橄–集魔put迎ox喧便便–集–器–
– – 篇鉴xt––

VBA
狂x邻鉴首–病o骤鉴––
狂藏点狂种 便便
––
获激溢 便便
wo龄颜s长鉴鉴t–始
溢邻t集v鉴喧便便–
紫龄集v身t鉴–背u迎–蓄o龄颜s长鉴鉴t豫溢邻t集v身t鉴喧器–

狂魔量–背u迎–
喧便度必惊便始背长鉴鉴t便便–
始s长鉴鉴t便便器–

f–溢pp首集邻身t集o魔富魔put激ox喧便架便器–橄–度必惊–膳长鉴魔–
美身魔铅鉴喧便溢度便器富背鉴首鉴邻t–
狂首s鉴–
立s铅迎ox–便始便–
背长鉴鉴ts喧便便器富背鉴首鉴邻t–
狂魔量–集f–



紫龄集v身t鉴–背u迎–蓄o龄颜s长鉴鉴t豫溢邻t集v身t鉴喧器–
f–溢pp首集邻身t集o魔富魔put激ox喧便架便器–橄–度必惊–膳长鉴魔–
wwwplcworldcn
Visual BASIC
16
美身魔铅鉴喧便溢度便器富背鉴首鉴邻t–
狂首s鉴–
立s铅激ox–便始便–
背长鉴鉴ts喧便便器富背鉴首鉴邻t–
狂魔量–f–
狂魔量–背u迎–


熬鉴身邻t集v身t鉴 始–

背长鉴鉴ts喧便便器富点鉴首首s富环o魔t富点o首o龄魔量鉴x–橄–必–


美身魔铅鉴喧便溢度便器富背鉴首鉴邻t –
溢邻t集v鉴背长鉴鉴t富点鉴首首s富环o魔t富点o首o龄魔量鉴x–橄–拉描–




紫龄集v身t鉴–背u迎–蓄o龄颜s长鉴鉴t豫溢邻t集v身t鉴喧器–
f–溢pp首集邻身t集o魔富魔put激ox喧便架便器–橄–度必惊–膳长鉴魔–
美身魔铅鉴喧便溢度便器富背鉴首鉴邻t–
背长鉴鉴ts喧便便器富点鉴首首s富环o魔t富点o首o龄魔量鉴x–橄–拉描–
狂首s鉴–
立s铅激ox–便始便–
背长鉴鉴ts喧便便器富背鉴首鉴邻t–
狂魔量–f – 狂x邻鉴首 获激溢 –
狂x邻鉴首–病o骤鉴––
– – 立集邻龄osoft–精ff集邻鉴
精ff集邻鉴 获激溢 获激溢
获激溢 获激溢
获激溢 ––
– – 度 获激溢 蓄o龄颜s长鉴鉴t ––
– – 狂x邻鉴首
狂x邻鉴首 获激溢
狂x邻鉴首
美身魔铅鉴 点u龄龄鉴魔t美鉴铅集o魔 美身魔铅鉴–
获激溢
狂x邻鉴首 ––
– – 蓄o龄颜s长鉴鉴t
––
––––– – 环o龄–狂身邻长–邻–魔–
––––––– – 蓄o龄颜s长鉴鉴t喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器–
– – 膳ot身首获身首u鉴–橄–膳ot身首获身首u鉴––邻富获身首u鉴–
– – 篇鉴xt–
– – 溢v鉴龄身铅鉴获身首u鉴–橄–膳ot身首获身首u鉴–属–蓄o龄颜s长鉴鉴t喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富美ows富点ou魔t–
– – –
wwwplcworldcn
Visual BASIC
17
– – – 溢v鉴龄身铅鉴获身首u鉴橄溢pp首集邻身t集o魔富蓄o龄颜s长鉴鉴t环u魔邻t集o魔富溢v鉴龄身铅鉴喧蓄o龄颜s长鉴鉴ts喧度器富美身魔铅鉴喧
溢度架溢度嵌嵌嵌器器–
– – 点ou魔t始点ou魔t身始点ou魔t集f始立身t邻长始种oo颜up 获激溢
––
– – 必––
– – 狂x邻鉴首 精种狂
精种狂 获激溢 ––
– –– –––– – 1 With
– ––蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富环o魔t富篇身骤鉴橄紫身y–
––––蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富环o魔t富环o魔t背ty首鉴橄激o首量–富富富–
– –
– 蓄集t长–蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富环o魔t–
– – –富篇身骤鉴–橄–紫身y–
– – –富环o魔t背ty首鉴–橄–激o首量–
– – –富富富–
– – 狂魔量–蓄集t长––
– –– –––– – 2
– – 背鉴t–

– – –蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – –蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌–
– – –
– – 背鉴t–立y背长鉴鉴t–橄–蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器–
– – 立y背长鉴鉴t富美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – 立y背长鉴鉴t富美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌––
– – 惊–
– – 环o龄–颜–橄–度–膳o–度嵌嵌嵌–
– – –背长鉴鉴ts喧背长鉴鉴t度器富背鉴首鉴邻t–
– – –点鉴首首s喧颜始度器富获身首u鉴–橄–点鉴首首s喧度始度器富获身首u鉴–
– – 篇鉴xt–颜–
– – –
– – 背鉴t–膳长鉴获身首u鉴–橄–点鉴首首s喧度始度器富获身首u鉴–
– – 背长鉴鉴ts喧背长鉴鉴t度器富背鉴首鉴邻t–
– – 环o龄–颜–橄–度–膳o–度嵌嵌嵌–
– – –点鉴首首s喧颜始度器富获身首u鉴–橄–膳长鉴获身首u鉴–
– – 篇鉴xt–颜––
– –– –––– – 3
– – 获激溢 获激溢
蓄o龄颜迎oo颜s喧藏藏藏器富溢邻t集v身t鉴背长鉴鉴ts喧藏藏藏器富背鉴首鉴邻t美身魔铅鉴喧藏藏藏器富背鉴首鉴邻t 始
––
– – 背长鉴鉴ts喧背长鉴鉴t惊器富背鉴首鉴邻t–
– – 美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – 美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌–
– – –
wwwplcworldcn
Visual BASIC
18
– – 蓄集t长–背长鉴鉴ts喧背长鉴鉴t惊器–
– – –富美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – –富美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌–
– – 狂魔量–蓄集t长––
– –– –––– – 4
– – 获激溢 获激溢
必属惊 –
– – 溢pp首集邻身t集o魔富背邻龄鉴鉴魔花p量身t鉴–橄–环身首s鉴–
– – 获激溢 –
– – 溢pp首集邻身t集o魔富背邻龄鉴鉴魔花p量身t鉴–橄–膳龄u鉴––
– – 获激溢 –
– 狂x邻鉴首 –
狂x邻鉴首–病o骤鉴––
–狂x邻鉴首–暗操––便便–
––
–精ff集邻鉴––身pp首集邻身t集o魔富o魔t集骤鉴––
鉴xp龄鉴ss集o魔富精魔膳集骤鉴喧狂身龄首集鉴st膳集骤鉴始–紫龄o邻鉴量u龄鉴始–种身t鉴st膳集骤鉴始–背邻长鉴量u首鉴器–
–狂x邻鉴首–––

–狂x邻鉴首–
––
度富–度操架嵌嵌架嵌嵌–––
背u迎–美u魔豫集t喧器–
溢pp首集邻身t集o魔富精魔膳集骤鉴–膳集骤鉴获身首u鉴喧便度操架嵌嵌架嵌嵌便器始–便背长ow豫骤y豫骤s铅便–
响–度操架嵌嵌架嵌嵌––背长ow豫骤y豫骤s铅––
狂魔量–背u迎–

背u迎–背长ow豫骤y豫骤s铅喧器–
骤s铅–橄–立s铅激ox喧便–度操架嵌嵌架嵌嵌–便始–v迎魔fo龄骤身t集o魔始–便便器–
狂魔量–背u迎–


必富–狂x邻鉴首–暗操––便便始–拉–––
背u迎–身uto豫op鉴魔喧器–
立s铅激ox–便–拉–便始–v迎魔fo龄骤身t集o魔始–便
便–
点身首首–龄u魔t集骤鉴龄–响–
狂魔量–背u迎–

背u迎–龄u魔t集骤鉴龄喧器–
溢pp首集邻身t集o魔富精魔膳集骤鉴–篇ow–增–膳集骤鉴获身首u鉴喧便嵌嵌架嵌嵌架嵌拉便器始–便s身v鉴集t便–
响–篇ow–增–膳集骤鉴获身首u鉴喧便嵌嵌架度拉架嵌嵌便器––拉––背身v鉴集t––
狂魔量–背u迎–

背u迎–背身v鉴t喧器–
骤s铅–橄–立s铅激ox喧便便––点长龄喧度惊器–豫–
wwwplcworldcn
Visual BASIC
19
–便便––点长龄喧度惊器–豫–
–便便––点长龄喧度惊器–豫–
–便便始–v迎鉴s篇o点身魔邻鉴首–增–描懂始–便便器–
响––
f–骤s铅–橄–v迎鉴s–膳长鉴魔–溢邻t集v鉴蓄o龄颜迎oo颜富背身v鉴–狂首s鉴–f–骤s铅–橄–v迎点身魔邻鉴首–膳长鉴魔–狂x集t–背u迎–
点身首首–龄u魔t集骤鉴龄–响–美u魔t集骤鉴龄–
狂魔量–背u迎–

–溢pp首集邻身t集o魔富精魔t集骤鉴–

Excel VBA
– – 立集邻龄osoft–精ff集邻鉴
精ff集邻鉴 获激溢 获激溢
获激溢 获激溢
获激溢 ––
1 VBA Worksheet
– – 狂x邻鉴首
狂x邻鉴首 获激溢
狂x邻鉴首
美身魔铅鉴 点u龄龄鉴魔t美鉴铅集o魔 美身魔铅鉴–
获激溢
狂x邻鉴首 ––
– – 蓄o龄颜s长鉴鉴t
––
––––环o龄–狂身邻长–邻–魔–
––––––– – –蓄o龄颜s长鉴鉴t喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器–
– – – – 膳ot身首获身首u鉴–橄–膳ot身首获身首u鉴––邻富获身首u鉴–
– – 篇鉴xt–
– – 溢v鉴龄身铅鉴获身首u鉴–橄–膳ot身首获身首u鉴–属–蓄o龄颜s长鉴鉴t喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富美ows富点ou魔t–
– – –
– 溢v鉴龄身铅鉴获身首u鉴橄溢pp首集邻身t集o魔富蓄o龄颜s长鉴鉴t环u魔邻t集o魔富溢v鉴龄身铅鉴喧蓄o龄颜s长鉴鉴ts喧度器富美身魔铅鉴喧
溢度架溢度嵌嵌嵌器器–
– – 点ou魔t始点ou魔t身始点ou魔t集f始立身t邻长始种oo颜up 获激溢
––
2
– – 狂x邻鉴首 精种狂
精种狂 获激溢 ––
– –– –––– – 度度度度 蓄集t长蓄集t长蓄集t长蓄集t长 ––––
– ––蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富环o魔t富篇身骤鉴橄紫身y–
––––蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富环o魔t富环o魔t背ty首鉴橄激o首量–富富富–
– –
– 蓄集t长–蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度架溢度嵌嵌嵌器富环o魔t–
– – –富篇身骤鉴–橄–紫身y–
– – –富环o魔t背ty首鉴–橄–激o首量–
wwwplcworldcn
Visual BASIC
20
– – –富富富–
– – 狂魔量–蓄集t长––
– –– –––– – 必必必必––––
– – 背鉴t–

– – –蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – –蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器富美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌–
– – –
– – 背鉴t–立y背长鉴鉴t–橄–蓄o龄颜迎oo颜s喧度器富背长鉴鉴ts喧度器–
– – 立y背长鉴鉴t富美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – 立y背长鉴鉴t富美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌––
– –– –––– – 惊惊惊惊––––
– – 环o龄–颜–橄–度–膳o–度嵌嵌嵌–
– – –– 背长鉴鉴ts喧背长鉴鉴t度器富背鉴首鉴邻t–
– – –– 点鉴首首s喧颜始度器富获身首u鉴–橄–点鉴首首s喧度始度器富获身首u鉴–
– – 篇鉴xt–颜–
– – –
– – 背鉴t–膳长鉴获身首u鉴–橄–点鉴首首s喧度始度器富获身首u鉴–
– – 背长鉴鉴ts喧背长鉴鉴t度器富背鉴首鉴邻t–
– – 环o龄–颜–橄–度–膳o–度嵌嵌嵌–
– – –点鉴首首s喧颜始度器富获身首u鉴–橄–膳长鉴获身首u鉴–
– – 篇鉴xt–颜––
– –– –––– – 3
– – 获激溢 获激溢
蓄o龄颜迎oo颜s喧藏藏藏器富溢邻t集v身t鉴背长鉴鉴ts喧藏藏藏器富背鉴首鉴邻t美身魔铅鉴喧藏藏藏器富背鉴首鉴邻t 始
––
– – 背长鉴鉴ts喧背长鉴鉴t惊器富背鉴首鉴邻t–
– – 美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – 美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌–
– – –
– – 蓄集t长–背长鉴鉴ts喧背长鉴鉴t惊器–
– – –– 富美身魔铅鉴喧溢度器富获身首u鉴–橄–度嵌嵌–
– – –– 富美身魔铅鉴喧溢必器富获身首u鉴–橄–必嵌嵌–
– – 狂魔量–蓄集t长––
– –– –––– – 4
– – 获激溢 获激溢
必属惊 –
– – 溢pp首集邻身t集o魔富背邻龄鉴鉴魔花p量身t鉴–橄–环身首s鉴–
– – 获激溢 –
– – 溢pp首集邻身t集o魔富背邻龄鉴鉴魔花p量身t鉴–橄–膳龄u鉴––
– – 获激溢 ––
Excel
–狂x邻鉴首–暗操––便便–
––
wwwplcworldcn
Visual BASIC
21
–精ff集邻鉴––身pp首集邻身t集o魔富o魔t集骤鉴––
鉴xp龄鉴ss集o魔富精魔膳集骤鉴喧狂身龄首集鉴st膳集骤鉴始–紫龄o邻鉴量u龄鉴始–种身t鉴st膳集骤鉴始–背邻长鉴量u首鉴器–
–狂x邻鉴首–––

–狂x邻鉴首–
––
度富–度操架嵌嵌架嵌嵌–––
背u迎–美u魔豫集t喧器–
溢pp首集邻身t集o魔富精魔膳集骤鉴–膳集骤鉴获身首u鉴喧便度操架嵌嵌架嵌嵌便器始–便背长ow豫骤y豫骤s铅便–
响–度操架嵌嵌架嵌嵌––背长ow豫骤y豫骤s铅––
狂魔量–背u迎–

背u迎–背长ow豫骤y豫骤s铅喧器–
骤s铅–橄–立s铅激ox喧便–度操架嵌嵌架嵌嵌–便始–v迎魔fo龄骤身t集o魔始–便便器–
狂魔量–背u迎–


必富–狂x邻鉴首–暗操––便便始–拉–––
背u迎–身uto豫op鉴魔喧器–
立s铅激ox–便–拉–便始–v迎魔fo龄骤身t集o魔始–便
便–
点身首首–龄u魔t集骤鉴龄–响–
狂魔量–背u迎–

背u迎–龄u魔t集骤鉴龄喧器–
溢pp首集邻身t集o魔富精魔膳集骤鉴–篇ow–增–膳集骤鉴获身首u鉴喧便嵌嵌架嵌嵌架嵌拉便器始–便s身v鉴集t便–
响–篇ow–增–膳集骤鉴获身首u鉴喧便嵌嵌架度拉架嵌嵌便器––拉––背身v鉴集t––
狂魔量–背u迎–

背u迎–背身v鉴t喧器–
骤s铅–橄–立s铅激ox喧便便––点长龄喧度惊器–豫–
–便便––点长龄喧度惊器–豫–
–便便––点长龄喧度惊器–豫–
–便便始–v迎鉴s篇o点身魔邻鉴首–增–描懂始–便便器–
响––
f–骤s铅–橄–v迎鉴s–膳长鉴魔–溢邻t集v鉴蓄o龄颜迎oo颜富背身v鉴–狂首s鉴–f–骤s铅–橄–v迎点身魔邻鉴首–膳长鉴魔–狂x集t–背u迎–
点身首首–龄u魔t集骤鉴龄–响–美u魔t集骤鉴龄–
狂魔量–背u迎–

–溢pp首集邻身t集o魔富精魔t集骤鉴–
––
wwwplcworldcn
Excel 2002 VBA
22
Excel 2002 VBA XML ASP

着u首集tt身–磅o龄o首–– 膳集铅鉴龄–点长鉴魔–篇ov–必族’–必嵌嵌懂–
––––
Excel 2002

Excel Excel VBA (Visual Basic for Applications)

Excel Excel Alt+F11 VB ——Excel
VBA Excel
ASP (Active Server Pages) XML (Extensible Markup Language)
Learn Microsoft Excel 2002 VBA
Programming with XML and ASP VBA VBScripts ASP XML XSL
VBA
Excel
Learn
Microsoft Excel 2002 VBA Programming with XML and ASP Excel
Excel Excel

httpclubexcelhomenetdispbbsaspboardID2&ID72173&page5
–狂x邻鉴首–必嵌嵌必–

——狂x邻鉴首–必嵌嵌必–
狂x邻鉴首–必嵌嵌必–

1


狂x邻鉴首–狂x邻鉴首–必嵌嵌必–


度度–
狂x邻鉴首–拉–获激溢获激溢
获激溢蓄o龄量始–紫ow鉴龄紫o集魔t始–精ut首oo颜–o龄–溢邻邻鉴ss–

2
–狂x邻鉴首–必嵌嵌必–
狂x邻鉴首

——

狂x邻鉴首–

wwwplcworldcn
Excel 2002 VBA
23
3


狂x邻鉴首–


度度


度度–

度度
背花立–

度 –
必 –
惊 –
懂 ——–


描 –


度操–
族 –
暗 –
度嵌 –
度度 ——–
度必

wwwplcworldcn
Excel 2002 VBA
24
度惊 –
度懂

族度懂–
度拉 –
度描 –
度操 –
度族 –
度暗

必嵌 –
必度

度拉必度–
必必 溢度架溢惊–
必惊 溢度–
必懂 –
必拉 激度–
必描 溢必–
必操 –
必族 激必–
必暗 溢惊–
惊嵌 –
惊度 激惊–
惊必 溢度–
必必惊必溢度架溢惊度度–



4

点t龄首增溢溢度架溢惊


度 –




wwwplcworldcn
Excel 2002 VBA
25

度必––

必 蓄长身ts魔溢点鉴首首–

度必–
狂x邻鉴首–立身邻龄o度立身邻龄o必
美鉴po龄t度度美鉴po龄t
蓄长身ts魔溢点鉴首首蓄长身ts豫魔豫溢豫点鉴首首–

惊 –

度惊–
狂x邻鉴首––
——狂x邻鉴首–藏种背t身龄t
狂x邻鉴首–
——狂x邻鉴首–
——–

懂 –
拉 狂x邻鉴首


度惊–狂x邻鉴首–

度懂–
——
减溢减度减点减拉狂x邻鉴首

——溢度点拉
狂x邻鉴首–狂x邻鉴首
减溢减懂
点暗减溢减懂拉必

wwwplcworldcn
Excel 2002 VBA
26

描 –
狂s邻

操 –

5

点t龄首增溢
溢度架溢惊

度 –
必 –
惊 度懂–
懂 –


度懂––


狂x邻鉴首


6

度懂–
度 –
必 蓄长身ts魔溢点鉴首首–
惊 –
狂x邻鉴首–获集su身首–激身s集邻–狂量集to龄–获激狂度拉溢首t增环度度狂x邻鉴首
获激狂获激溢–

wwwplcworldcn
Excel 2002 VBA
27
狂x邻鉴首–



度拉–获激狂获激溢–

获激狂获激溢度拉
度狂x邻鉴首 –
度必
蓄o龄量–
度拉–
获激狂x邻鉴首–拉富嵌




度拉–

背u迎–蓄长身ts魔溢点鉴首首喧器–
响––
响–蓄长身ts魔溢点鉴首首–立身邻龄o––
响–立身邻龄o–龄鉴邻o龄量鉴量–拉属惊度属必嵌嵌必–迎y–着u首集tt身–磅o龄o首––
响–魔量集邻身t鉴s–t长鉴–邻o魔t鉴魔ts–of–t长鉴–u魔量鉴龄首y集魔铅–邻鉴首首s架–t鉴xt始–魔u骤迎鉴龄s始–fo龄骤u首身s富––
响––
背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴点o魔st身魔ts始–必器富背鉴首鉴邻t––
蓄集t长–背鉴首鉴邻t集o魔富环o魔t––
富篇身骤鉴–橄–便溢龄集身首便––
富环o魔t背ty首鉴–橄–便激o首量便––
富背集z鉴–橄–度嵌––
wwwplcworldcn
Excel 2002 VBA
28
富背t龄集颜鉴t长龄ou铅长–橄–环身首s鉴––
富背up鉴龄s邻龄集pt–橄–环身首s鉴––
富背u迎s邻龄集pt–橄–环身首s鉴––
富精ut首集魔鉴环o魔t–橄–环身首s鉴––
富背长身量ow–橄–环身首s鉴––
富花魔量鉴龄首集魔鉴–橄–x首花魔量鉴龄首集魔鉴背ty首鉴篇o魔鉴––
富点o首o龄魔量鉴x–橄–度惊––
狂魔量–蓄集t长––
美身魔铅鉴喧便激描便器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴点o魔st身魔ts始–度器富背鉴首鉴邻t––
蓄集t长–背鉴首鉴邻t集o魔富环o魔t––
富篇身骤鉴–橄–便溢龄集身首便––
富环o魔t背ty首鉴–橄–便美鉴铅u首身龄便––
富背集z鉴–橄–度嵌––
富背t龄集颜鉴t长龄ou铅长–橄–环身首s鉴–––––
富背up鉴龄s邻龄集pt–橄–环身首s鉴––
富背u迎s邻龄集pt–橄–环身首s鉴––
富精ut首集魔鉴环o魔t–橄–环身首s鉴––
富背长身量ow–橄–环身首s鉴––
富花魔量鉴龄首集魔鉴–橄–x首花魔量鉴龄首集魔鉴背ty首鉴篇o魔鉴––
富点o首o龄魔量鉴x–橄–度度––
狂魔量–蓄集t长––
美身魔铅鉴喧便点描便器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴环o龄骤u首身s始–必惊器富背鉴首鉴邻t––
蓄集t长–背鉴首鉴邻t集o魔富环o魔t––
富篇身骤鉴–橄–便溢龄集身首便––
富环o魔t背ty首鉴–橄–便激o首量便––
富背集z鉴–橄–度嵌––
富背t龄集颜鉴t长龄ou铅长–橄–环身首s鉴––
富背up鉴龄s邻龄集pt–橄–环身首s鉴––
富背u迎s邻龄集pt–橄–环身首s鉴––
富精ut首集魔鉴环o魔t–橄–环身首s鉴––
富背长身量ow–橄–环身首s鉴––
富花魔量鉴龄首集魔鉴–橄–x首花魔量鉴龄首集魔鉴背ty首鉴篇o魔鉴––
富点o首o龄魔量鉴x–橄–惊––
狂魔量–蓄集t长––
美身魔铅鉴喧便溢度架溢惊便器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富狂魔t集龄鉴美ow富魔s鉴龄t––
美身魔铅鉴喧便溢度便器富背鉴首鉴邻t––
蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄––
富点o首o龄魔量鉴x–橄–度惊––
富紫身tt鉴龄魔–橄–x首背o首集量––
富紫身tt鉴龄魔点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
美身魔铅鉴喧便激度便器富背鉴首鉴邻t––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便膳鉴xt便––
美身魔铅鉴喧便溢必便器富背鉴首鉴邻t––
蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄––
富点o首o龄魔量鉴x–橄–拉––
富紫身tt鉴龄魔–橄–x首背o首集量––
wwwplcworldcn
Excel 2002 VBA
29
富紫身tt鉴龄魔点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
美身魔铅鉴喧便激必便器富背鉴首鉴邻t––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便篇u骤迎鉴龄s便––
美身魔铅鉴喧便溢惊便器富背鉴首鉴邻t––
蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄––
富点o首o龄魔量鉴x–橄–惊––
富紫身tt鉴龄魔–橄–x首背o首集量––
富紫身tt鉴龄魔点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
美身魔铅鉴喧便激惊便器富背鉴首鉴邻t––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便环o龄骤u首身s便––
美身魔铅鉴喧便激懂便器富背鉴首鉴邻t––
狂魔量–背u迎––



7
获激
蓄长身ts魔溢点鉴首首––
度 获激狂–
必 背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴点o魔st身魔ts始–必器富背鉴首鉴邻t–
惊 –
–环集魔量–身魔量–fo龄骤身t–邻鉴首首s–邻o魔t身集魔集魔铅–t鉴xt–
懂 背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴点o魔st身魔ts始–度器富背鉴首鉴邻t–
拉 –
–环集魔量–身魔量–fo龄骤身t–邻鉴首首s–邻o魔t身集魔集魔铅–魔u骤迎鉴龄s–
描 背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴环o龄骤u首身s始–必惊器富背鉴首鉴邻t–
操 –
–环集魔量–身魔量–fo龄骤身t–邻鉴首首s–邻o魔t身集魔集魔铅–fo龄骤u首身s–
族 美身魔铅鉴喧便溢度架溢惊便器富背鉴首鉴邻t–

度描–
获激狂
富点o首o龄魔量鉴x–橄–度度
膳身迎–
– 富点o首o龄魔量鉴x–橄–度度–响–背鉴ts–t长鉴–fo魔t–邻o首o龄–to–获集o首鉴t–



暗 –
点龄鉴身t鉴–首鉴铅鉴魔量–

8
背u迎狂魔量–背u迎背u迎
背u迎–狂魔量–背u迎获激获激
狂魔量–背u迎
wwwplcworldcn
Excel 2002 VBA
30
获激溢
蓄长身ts魔溢点鉴首首–
– 美身魔铅鉴喧便溢度架溢惊便器富背鉴首鉴邻t–
溢度溢惊–
背鉴首鉴邻t集o魔富狂魔t集龄鉴美ow富魔s鉴龄t–
获激–
– 溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便膳鉴xt便–
膳鉴xt美身魔铅鉴喧便激度便器富背鉴首鉴邻t激度激度获激
激度–
蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄––
富点o首o龄魔量鉴x–橄–惊––
富紫身tt鉴龄魔–橄–x首背o首集量––
富紫身tt鉴龄魔点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
点o首o龄魔量鉴x–橄–惊
x首背o首集量x首溢uto骤身t集邻蓄集t长狂魔量–蓄集t长

背鉴首鉴邻t集o魔富魔t鉴龄集o龄富点o首o龄魔量鉴x–橄–惊––
背鉴首鉴邻t集o魔富魔t鉴龄集o龄富紫身tt鉴龄魔–橄–x首背o首集量–
背鉴首鉴邻t集o魔富魔t鉴龄集o龄富紫身tt鉴龄魔点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻–
蓄集t长背鉴首鉴邻t集o魔富魔t鉴龄集o龄狂魔量–蓄集t长–

9
狂x邻鉴首
狂x邻鉴首–——


蓄集t长–背鉴首鉴邻t集o魔富环o魔t––
富篇身骤鉴–橄–便溢龄集身首便––
富环o魔t背ty首鉴–橄–便激o首量便––
富背集z鉴–橄–度嵌––
富背t龄集颜鉴t长龄ou铅长–橄–环身首s鉴––
富背up鉴龄s邻龄集pt–橄–环身首s鉴––
富背u迎s邻龄集pt–橄–环身首s鉴––
富精ut首集魔鉴环o魔t–橄–环身首s鉴––
富背长身量ow–橄–环身首s鉴––
富花魔量鉴龄首集魔鉴–橄–x首花魔量鉴龄首集魔鉴背ty首鉴篇o魔鉴––
富点o首o龄魔量鉴x–橄–度惊––
狂魔量–蓄集t长––
狂x邻鉴首

度 –
蓄集t长–背鉴首鉴邻t集o魔富环o魔t––
富篇身骤鉴–橄–便溢龄集身首便– –
富环o魔t背ty首鉴–橄–便激o首量便––
富背集z鉴–橄–度嵌– –
富背t龄集颜鉴t长龄ou铅长–橄–环身首s鉴– –
富背up鉴龄s邻龄集pt–橄–环身首s鉴– –
富背u迎s邻龄集pt–橄–环身首s鉴– –
wwwplcworldcn
Excel 2002 VBA
31
富精ut首集魔鉴环o魔t–橄–环身首s鉴– –
富背长身量ow–橄–环身首s鉴– –
富花魔量鉴龄首集魔鉴–橄–x首花魔量鉴龄首集魔鉴背ty首鉴篇o魔鉴 ––
富点o首o龄魔量鉴x–橄–度惊––
狂魔量–蓄集t长––
蓄集t长狂魔量–蓄集t长–
蓄集t长–背鉴首鉴邻t集o魔富环o魔t––
富环o魔t背ty首鉴–橄–便激o首量便––
富点o首o龄魔量鉴x–橄–度惊––
狂魔量–蓄集t长––
必 –
响–环集魔量–身魔量–fo龄骤身t–邻鉴首首s–邻o魔t身集魔集魔铅–魔u骤迎鉴龄s––
蓄集t长–背鉴首鉴邻t集o魔––
富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴点o魔st身魔ts始–度器富背鉴首鉴邻t––
富环o魔t富点o首o龄魔量鉴x–橄–度度–响–背鉴ts–t长鉴–fo魔t–邻o首o龄–to–获集o首鉴t––
狂魔量–蓄集t长––
美身魔铅鉴喧便点描便器富背鉴首鉴邻t––
惊 –
响–环集魔量–身魔量–fo龄骤身t–邻鉴首首s–邻o魔t身集魔集魔铅–fo龄骤u首身s––
背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴环o龄骤u首身s始–必惊器富背鉴首鉴邻t––
蓄集t长–背鉴首鉴邻t集o魔富环o魔t––
富环o魔t背ty首鉴–橄–便激o首量便––
富点o首o龄魔量鉴x–橄–惊––
狂魔量–蓄集t长––
懂 –
美身魔铅鉴喧便溢度架溢惊便器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富狂魔t集龄鉴美ow富魔s鉴龄t–
拉 –
美身魔铅鉴喧便溢度架溢惊便器富狂魔t集龄鉴美ow富魔s鉴龄t–
狂x邻鉴首美度点度–
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便膳鉴xt便––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便篇u骤迎鉴龄s便––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便环o龄骤u首身s便––
溢邻t集v鉴点鉴首首背鉴首鉴邻t集o魔
溢邻t集v鉴点鉴首首背鉴首鉴邻t集o魔–

10


––––
获激狂蓄长身ts魔溢点鉴首首属–
狂x邻鉴首
溢首t增环度度狂x邻鉴首–

狂x邻鉴首蓄长身ts魔溢点鉴首首
度嵌嵌懂’

蓄长身ts魔溢点鉴首首获激

wwwplcworldcn
Excel 2002 VBA
32
蓄集t长–背鉴首鉴邻t集o魔富环o魔t获激懂必懂’
获激获激


获激溢–

11
狂x邻鉴首获激获激蓄长身ts魔溢点鉴首首获激
获激获激获激狂x邻鉴首
狂x邻鉴首获激度描–


度描–获激狂x邻鉴首获激–

狂x邻鉴首获激–
度 –
必 –
惊 度–
懂 环拉属
获激–


12
获激
狂x邻鉴首狂x邻鉴首

wwwplcworldcn
Excel 2002 VBA
33


溢度架激惊架–
度 度描狂x邻鉴首–
必 –
惊 –
懂 溢度架激惊–
拉 –
描 –
操 –
族 溢度溢度架激惊–
暗 –
获激溢度架激惊溢度架溢惊–
背u迎–立身邻龄o必喧器––
响––
响–立身邻龄o必–立身邻龄o––
响–立身邻龄o–龄鉴邻o龄量鉴量–拉属惊度属必嵌嵌必–迎y–着u首集tt身–磅o龄o首––
响––
响––
美身魔铅鉴喧便溢度架激惊便器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首熬集身铅o魔身首熬ow魔器富种集魔鉴背ty首鉴–橄–x首篇o魔鉴––
背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首熬集身铅o魔身首花p器富种集魔鉴背ty首鉴–橄–x首篇o魔鉴––
蓄集t长–背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首狂量铅鉴种鉴ft器––
富种集魔鉴背ty首鉴–橄–x首点o魔t集魔uous––
富蓄鉴集铅长t–橄–x首膳长集邻颜––
富点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
蓄集t长–背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首狂量铅鉴膳op器––
富种集魔鉴背ty首鉴–橄–x首点o魔t集魔uous––
富蓄鉴集铅长t–橄–x首膳长集邻颜––
富点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
蓄集t长–背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首狂量铅鉴激otto骤器––
富种集魔鉴背ty首鉴–橄–x首点o魔t集魔uous––
富蓄鉴集铅长t–橄–x首膳长集邻颜––
富点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
蓄集t长–背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首狂量铅鉴美集铅长t器––
富种集魔鉴背ty首鉴–橄–x首点o魔t集魔uous––
富蓄鉴集铅长t–橄–x首膳长集邻颜––
富点o首o龄魔量鉴x–橄–x首溢uto骤身t集邻––
狂魔量–蓄集t长––
背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首魔s集量鉴获鉴龄t集邻身首器富种集魔鉴背ty首鉴–橄–x首篇o魔鉴––
背鉴首鉴邻t集o魔富激o龄量鉴龄s喧x首魔s集量鉴病o龄集zo魔t身首器富种集魔鉴背ty首鉴–橄–x首篇o魔鉴––
美身魔铅鉴喧便溢度便器富背鉴首鉴邻t––
狂魔量–背u迎–––––

获激


wwwplcworldcn
Excel 2002 VBA
34
狂x邻鉴首获激溢
获激获激

获激
获激
激o龄量鉴龄溢龄ou魔量获激溢

– 美身魔铅鉴喧便溢度架激惊便器富激o龄量鉴龄溢龄ou魔量–蓄鉴集铅长t架橄x首膳长集邻颜–
美身魔铅鉴激o龄量鉴龄溢龄ou魔量溢度架激惊获激–
蓄长身ts魔溢点鉴首首–
度 蓄长身ts魔溢点鉴首首–
必 溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便环o龄骤u首身s便–
惊 –
美身魔铅鉴喧便溢度架激惊便器富激o龄量鉴龄溢龄ou魔量–蓄鉴集铅长t架橄x首膳长集邻颜–懂–
懂 环拉–

度操–
获激


获激狂x邻鉴首
获激–
度 狂魔量–背u迎–
必 –
立s铅激ox–便便–
惊 环拉–
懂 获激–
立s铅激ox获激溢–

13

背u迎–

14

获激环拉属
获激度操–


度操–获激–

15
点t龄首增背长集ft增熬
wwwplcworldcn
Excel 2002 VBA
35

度 溢首t增环族–
必 蓄长身ts魔溢点鉴首首–
惊 度族–
懂 背长集ft狂x邻鉴首点t龄首增背长集ft增–
拉 –
描 狂x邻鉴首点t龄首增背长集ft增–
––––
度族––

度族–
狂x邻鉴首狂x邻鉴首


16

狂x邻鉴首–
度 狂x邻鉴首–
必 –
惊 –
wwwplcworldcn
Excel 2002 VBA
36

度暗––

懂 度度嵌



wwwplcworldcn
Excel 2002 VBA
37
度度嵌–狂x邻鉴首–

拉 度度度
点o魔t鉴魔ts–of–点鉴首首s
点o魔t鉴魔ts–of–点鉴首首s–
描 ——度度度蓄长身ts魔溢点鉴首首

狂x邻鉴首

操 点o魔t鉴魔ts–of–点鉴首首s溢首t增膳首
狂x邻鉴首


度度度–

17
蓄长身ts魔溢点鉴首首

度 –
必 –
惊 –
懂 –

点o魔t鉴魔ts–of–点鉴首首s–
wwwplcworldcn
Excel 2002 VBA
38
描 懂必狂x邻鉴首

操 –
族 蓄长身ts魔溢点鉴首首–
暗 –
度嵌 点o魔t鉴魔ts–of–点鉴首首s度度必


度度必––
18
狂x邻鉴首蓄长身ts魔溢点鉴首首

度 –
必 度度惊–

度度惊––

惊 –
懂 –
wwwplcworldcn
Excel 2002 VBA
39
拉 蓄长身ts魔溢点鉴首首–
描 度点o魔t鉴魔ts–of–点鉴首首s度度惊


操 –
族 –
––––
度度懂––


度暗––
度度惊度度懂

狂x邻鉴首拉富嵌操富嵌暗操藏种立

溢邻t集v鉴藏溢邻t集v鉴藏获激
点首集邻颜溢邻t集v鉴藏–
溢邻t集v鉴藏

––––
19
蓄长身ts魔溢点鉴首首狂x邻鉴首
点长身p嵌度富x首s
点o魔t鉴魔ts–of–点鉴首首s溢度溢量量集t集o魔溢必必溢惊
懂溢懂橄背花立喧溢必架溢惊器狂x邻鉴首


20



度 –
必 –
惊 获激溢–
懂 –
wwwplcworldcn
Excel 2002 VBA
40

度 –
必 –
惊 获激溢–
懂 –

21
狂x邻鉴首紫鉴龄so魔身首富x首s
紫龄o铅龄身骤–环集首鉴s览立集邻龄osoft–精ff集邻鉴览精ff集邻鉴——藏种背t身龄t藏种背t身龄t
狂x邻鉴首
环o龄骤u首身s精魔精ff–
度 –
必 环o龄骤u首身s精魔精ff–
惊 –
懂 背长集ft增环–
拉 –
描 点t龄首增~


操 –
族 溢首t增环度度获激–

获激获激溢紫鉴龄so魔身首富x首s
获激溢狂x邻鉴首度
环o龄骤u首身s精魔精ff度度拉狂x邻鉴首狂x邻鉴首
度狂x邻鉴首
度狂x邻鉴首
狂x邻鉴首–
wwwplcworldcn
Excel 2002 VBA
41

度度拉––




溢邻t集v鉴蓄集魔量ow富熬集sp首身y环o龄骤u首身s–橄–膳龄u鉴–
环身首s鉴–
溢邻t集v鉴蓄集魔量ow富熬集sp首身y环o龄骤u首身s–橄–环身首s鉴–
获激溢–
溢邻t集v鉴蓄集魔量ow富熬集sp首身y环o龄骤u首身s–橄–篇ot–溢邻t集v鉴蓄集魔量ow富熬集sp首身y环o龄骤u首身s–

狂x邻鉴首狂x邻鉴首
狂x邻鉴首–

 –
 获激

 获激城富f龄骤城富迎身s城富邻首s–

22
狂x邻鉴首度度描
wwwplcworldcn
Excel 2002 VBA
42
度度操–

 ——
获激



度度描–狂x邻鉴首––

 ——–
 ——狂x邻鉴首–必嵌嵌必–

获激
狂x邻鉴首–


度操––

23VB
获激获激

wwwplcworldcn
Excel 2002 VBA
43
 –
 –
 –
 获激溢–
获激–
 狂x邻鉴首–
 溢首t增环度度–
 –

24
获激溢–
 –
 –
 ——–
 –
 ——–
 –
 –


 –
 点t龄首增美–
 度度族–

狂x邻鉴首

––––

度族–获激–

25

度度暗–
wwwplcworldcn
Excel 2002 VBA
44

度度暗––

 ——

 ——


 –
 环懂–
 度度族–

26
获激获激溢

 –
 –
 环操–
必嵌


度必嵌度必度–
wwwplcworldcn
Excel 2002 VBA
45

度必嵌––







wwwplcworldcn
Excel 2002 VBA
46
度必度––

27 VB
获激–


度必必––


度必必获激


28
获激
获激–
获激溢获激溢
狂x邻鉴首–
VBA
––––
着u首集tt身–磅o龄o首–– 膳集铅鉴龄–点长鉴魔–篇ov–必族’–必嵌嵌懂–

获激溢
获激溢获激溢
获激溢狂x邻鉴首
获激溢拉
溢度激度狂x邻鉴首
wwwplcworldcn
Excel 2002 VBA
47
获激溢–

1
狂x邻鉴首
狂x邻鉴首
获激


获激获激溢——背u迎–狂魔量–背u迎
获激–
获激
属获激溢

获激
蓄长身ts魔溢点鉴首首–环o龄骤u首身s精魔精ff

获激 立s铅激ox–便便环o龄骤u首身s精魔精ff–
环o龄骤u首身s精魔精ff–
获激环o龄骤u首身s精魔精ff蓄长身ts魔溢点鉴首首
狂魔量–背u迎–
获激溢–

2 VBA
狂x邻鉴首获激溢紫龄o面鉴邻t
获激溢紫龄o面鉴邻t–喧点长身p嵌度富x首s器––获激溢紫龄o面鉴邻t–喧紫鉴龄so魔身首富x首s器–
度富 狂x邻鉴首点长身p嵌度富x首s蓄长身ts魔溢点鉴首首环o龄骤u首身s精魔精ff–
必富 获激–
惊富 获激溢紫龄o面鉴邻t–喧点长身p嵌度富x首s器–
懂富 获激溢紫龄o面鉴邻t–
拉富 环集龄st背t鉴ps获激溢环集龄st背t鉴ps–喧点长身p嵌度富x首s器–
描富 获激溢紫龄o面鉴邻t–喧紫鉴龄so魔身首富x首s器–
操富 –
族富 紫鉴龄so魔身首–

必度––
获激溢–
 –
 必度

wwwplcworldcn
Excel 2002 VBA
48

必度––

3
获激获激溢––度
必获激溢获激溢度必
获激–
环集龄st背t鉴ps–喧点长身p嵌度富x首s器––紫鉴龄so魔身首–喧紫鉴龄so魔身首富x首s器–度–
度富 环集龄st背t鉴ps–喧点长身p嵌度富x首s器度–
必富 度–
惊富 蓄o龄颜s长鉴鉴t环o龄骤身tt集魔铅度
蓄o龄颜s长鉴鉴t环o龄骤身tt集魔铅–
懂富 紫鉴龄so魔身首–喧紫鉴龄so魔身首富x首s器–
拉富 –
描富 背w集t邻长鉴s度–
wwwplcworldcn
Excel 2002 VBA
49

必必––

4
环o龄骤u首身s精魔精ff蓄长身ts魔溢点鉴首首
蓄长身ts魔溢点鉴首首环o龄骤u首身s精魔精ff

背u迎–蓄长身ts魔溢点鉴首首喧器––
榄––
环o龄骤u首身s精魔精ff––
狂魔量–背u迎––

环集龄st背t鉴ps–喧点长身p嵌度富x首s器环o龄骤u首身环o龄骤身tt集魔铅蓄长身ts魔溢点鉴首首背w集t邻长鉴s环o龄骤u首身s
环o龄骤u首身s精魔精ff蓄长身ts魔溢点鉴首首环o龄骤u首身s精魔精ff背w集t邻长鉴s–
背u迎–蓄长身ts魔溢点鉴首首喧器––
榄––
背w集t邻长鉴s富环o龄骤u首身s精魔精ff––
狂魔量–背u迎––
环o龄骤u首身s精魔精ff紫鉴龄so魔身首–
喧紫鉴龄so魔身首富x首s器蓄长身ts魔溢点鉴首首紫鉴龄so魔身首

度富 环集龄st背t鉴ps–喧点长身p嵌度富x首s器–
必富 –
惊富 紫鉴龄so魔身首必惊紫鉴龄so魔身首
紫鉴龄so魔身首–
wwwplcworldcn
Excel 2002 VBA
50
––––
必惊–


紫鉴龄so魔身首蓄长身ts魔溢点鉴首首环o龄骤u首身s精魔精ff–
度富 环集龄st背t鉴ps–喧点长身p嵌度富x首s器蓄长身ts魔溢点鉴首首–
必富 立s铅激ox–便便环o龄骤u首身s精魔精ff–
惊富 狂x邻鉴首度度–
懂富 蓄长身ts魔溢点鉴首首–

环集龄st背t鉴ps–喧点长身p嵌度富x首s器紫鉴龄so魔身首–喧紫鉴龄so魔身首富x首s器–环o龄骤u首身s精魔精ff紫鉴龄so魔身首–
喧紫鉴龄so魔身首富x首s器环o龄骤u首身s精魔精ff紫鉴龄so魔身首–
背u迎–蓄长身ts魔溢点鉴首首–喧–器––
榄––
紫鉴龄so魔身首富背w集t邻长鉴s富环o龄骤u首身s精魔精ff––
狂魔量–背u迎––

必必–获激–
获激蓄长身ts魔溢点鉴首首环o龄骤u首身s精魔精ff获激
获激–

必惊––

城富o首迎始–富t首迎始–富量首首
狂x邻鉴首城富x首s始–城富x首身


5
获激溢狂x邻鉴首获激
获激溢
狂x邻鉴首狂x邻鉴首
wwwplcworldcn
Excel 2002 VBA
51
获激狂x邻鉴首

狂x邻鉴首


狂x邻鉴首
背长鉴鉴ts

获激

获激
美身魔铅鉴环o魔t
膳集骤鉴s–篇鉴w–美o骤身魔始–溢龄集身首始–度嵌度必度懂

狂x邻鉴首
获激溢量量
美身魔铅鉴点首鉴身龄点o魔t鉴魔ts
–点首鉴身龄环o龄骤身ts点首鉴身龄
蓄o龄颜迎oo颜点首os鉴
狂x邻鉴首
背身v鉴点长身魔铅鉴s环身首s鉴–
蓄o龄颜迎oo颜s喧便点长身p嵌度富藏种背便器富点首os鉴–背身v鉴点长身魔铅鉴s架橄环身首s鉴–

6
狂x邻鉴首
获激溢pp首集邻身t集o魔
狂x邻鉴首–

美身魔铅鉴狂x邻鉴首美身魔铅鉴

美身魔铅鉴–
溢pp首集邻身t集o魔富蓄o龄颜迎oo颜富蓄o龄颜s长鉴鉴t富美身魔铅鉴–
狂x邻鉴首蓄集魔量ow点o骤骤鉴魔t溢uto环集首t鉴龄
点长身龄t溢龄鉴身狂x邻鉴首获激溢

溢懂溢懂熬鉴首鉴t鉴
获激狂x邻鉴首溢懂
美身魔铅鉴获激熬鉴首鉴t鉴点首鉴身龄点o魔t鉴魔ts–
美身魔铅鉴喧便溢懂便器富点首鉴身龄点o魔t鉴魔ts–
溢懂狂x邻鉴首点长身p嵌必富x首s
溢懂–

wwwplcworldcn
Excel 2002 VBA
52

必懂––––狂x邻鉴首必拉–

溢懂获激

溢pp首集邻身t集o魔富蓄o龄颜迎oo颜s喧便点长身p嵌必富x首s便器富蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器–富美身魔铅鉴喧便溢懂便器富点首鉴身龄点o魔t鉴魔ts–
溢懂背长鉴鉴t度
点长身p嵌必富x首s点长身p嵌必富x首s狂x邻鉴首
s蓄o龄颜迎oo颜s蓄o龄颜s长鉴鉴ts

狂x邻鉴首狂x邻鉴首–狂x邻鉴首狂x邻鉴首–获激狂x邻鉴首
必嵌嵌必必嵌嵌惊–
狂x邻鉴首精ff集邻鉴环o龄骤s熬溢精溢熬精首集迎龄身龄y狂x邻鉴首
精ff集邻鉴熬溢精溢熬精狂x邻鉴首溢邻邻鉴ss



wwwplcworldcn
Excel 2002 VBA
53

––
必描–狂x邻鉴首喧蓄o龄颜s长鉴鉴t器––

必懂–获激溢––狂x邻鉴首––
狂x邻鉴首狂x邻鉴首
获激


––
7
获激溢

sy魔t身x

获激–
 度–
wwwplcworldcn
Excel 2002 VBA
54

精迎面鉴邻t富紫龄op鉴龄ty–

溢懂–
美身魔铅鉴喧便溢懂便器富获身首u鉴 –

––
溢邻t集v鉴背长鉴鉴t富背长身p鉴s喧必器富种集魔鉴富蓄鉴集铅长t–
背长身p鉴s种集魔鉴蓄鉴集铅长t–
精ffs鉴t精ffs鉴t
龄ow精ffs鉴t邻o首u骤魔精ffs鉴t–
––– ––––––– –– –
溢邻t集v鉴点鉴首首 富精ffs鉴t 喧惊始–必 器–
溢度精ffs鉴t喧惊始–必器惊点懂

溢邻t集v鉴点鉴首首富精ffs鉴t喧龄ow精ffs鉴t架橄惊始–邻o首u骤魔精ffs鉴t架橄必器–
架橄

溢邻t集v鉴点鉴首首富精ffs鉴t喧邻o首u骤魔精ffs鉴t架橄必始–龄ow精ffs鉴t架橄惊器–
点懂溢邻t集v鉴点鉴首首富精ffs鉴t喧惊始–必器
熬惊点懂–

 必–
精迎面鉴邻t富紫龄op鉴龄ty–橄–获身首u鉴–
获身首u鉴–
 –
美身魔铅鉴喧便溢懂便器富获身首u鉴–橄–必拉–
溢懂必拉–
 –
溢邻t集v鉴点鉴首首富环o魔t富篇身骤鉴–橄–便膳集骤鉴s–篇鉴w–美o骤身魔便–
膳集骤鉴s–篇鉴w–美o骤身魔–
 膳龄u鉴环身首s鉴–
溢邻t集v鉴点鉴首首富环o魔t富激o首量–橄–膳龄u鉴–


 惊–
获身龄集身迎首鉴–橄–精迎面鉴邻t富紫龄op鉴龄ty–
获身龄集身迎首鉴获激–
––– –––––––––– ––––––––––––– –
点鉴首首获身首u鉴–橄– 美身魔铅鉴喧溢懂器 富获身首u鉴 –
溢懂点鉴首首获身首u鉴–
 懂–

精迎面鉴邻t富立鉴t长o量–

溢懂–
–––––––––––––– –
美身魔铅鉴喧便溢懂便器 富点首鉴身龄点o魔t鉴魔ts –

精迎面鉴邻t富立鉴t长o量–喧身龄铅u骤鉴魔t度始–身龄铅u骤鉴魔t必始––身龄铅u骤鉴魔t篇器–
wwwplcworldcn
Excel 2002 VBA
55
理o膳o理o膳o–
精迎面鉴邻t富理o膳o喧美鉴f鉴龄鉴魔邻鉴始–背邻龄o首首器– – 富理o膳o喧始–器–
美鉴f鉴龄鉴魔邻鉴背邻龄o首首膳龄u鉴狂x邻鉴首
环身首s鉴环身首s鉴获激溢背长鉴鉴t度
紫度嵌嵌–
溢pp首集邻身t集o魔富理o膳o–豫––
美鉴f鉴龄鉴魔邻鉴架橄蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器富美身魔铅鉴喧便紫度嵌嵌便器始–豫––
背邻龄o首首架橄膳龄u鉴–

––––
8 VBA
获激溢度嵌必懂获激

背鉴首鉴邻t集o魔富紫身st鉴背p鉴邻集身首–豫––
紫身st鉴架橄x首获身首u鉴s始–豫––
精p鉴龄身t集o魔架橄x首立u首t集p首y始–豫––
背颜集p激首身魔颜s架–橄环身首s鉴始–豫––
膳龄身魔spos鉴架橄环身首s鉴–


 增种集颜鉴篇精膳溢篇熬–
 –
 架橄–
 –
获激–
背鉴首鉴邻t集o魔富紫身st鉴背p鉴邻集身首–紫身st鉴架–豫––
橄x首获身首u鉴s始–精p鉴龄身t集o魔架–豫––
橄x首立u首t集p首y始–背颜集p激首身魔颜s架–豫––
橄环身首s鉴始–膳龄身魔spos鉴架–豫––
橄环身首s鉴–背鉴首鉴邻t集o魔富紫身st鉴背p鉴邻集身首–紫身st鉴架–豫––
橄x首获身首u鉴s始–精p鉴龄身t集o魔架–豫––
橄x首立u首t集p首y始–背颜集p激首身魔颜s架–豫––
橄环身首s鉴始–膳龄身魔spos鉴架–豫––
橄环身首s鉴–

立s铅激ox–便膳o–邻o魔t集魔u鉴–t长鉴–首o魔铅–集魔st龄u邻t集o魔始–us鉴–t长鉴–豫––
首集魔鉴–邻o魔t集魔u身t集o魔–邻长身龄身邻t鉴龄富便–

立s铅激ox–便膳o–邻o魔t集魔u鉴–t长鉴–首o魔铅–集魔st龄u邻t集o魔始–us鉴–t长鉴–便––豫––
便首集魔鉴–邻o魔t集魔u身t集o魔–邻长身龄身邻t鉴龄富便–

9 VBA
获激溢
获激
获激获激

wwwplcworldcn
Excel 2002 VBA
56

必操–获激溢–

获激必族
获激



必族–x首点鉴首首膳yp鉴–

wwwplcworldcn
Excel 2002 VBA
57

必暗–获激–


获激f–

必拉–
迎u铅量鉴迎u铅
获激
获激
获激溢–

必暗




——


10
获激溢

获激溢获激
获激–
获激溢蓄长身ts魔溢点鉴首首获激溢–
背鉴首鉴邻t集o魔富背p鉴邻集身首点鉴首首s喧x首点鉴首首膳yp鉴点o魔st身魔ts始–必器富背鉴首鉴邻t–
背鉴首鉴邻t集o魔背p鉴邻集身首点鉴首首s背鉴首鉴邻t

度富 –
必富 –
惊富 环度–
wwwplcworldcn
Excel 2002 VBA
58

必度嵌–获激溢–

背鉴首鉴邻t集o魔背鉴首鉴邻t集o魔
背p鉴邻集身首点鉴首首s
背p鉴邻集身首点鉴首首s必度嵌
背p鉴邻集身首点鉴首首s



点t龄首增点
获激点t龄首增获–

11
获激获激溢获激


必度度– ––

wwwplcworldcn
Excel 2002 VBA
59
获激获激溢魔t鉴首首集背鉴魔s鉴
获激溢–

12

必度必



必度必–获激溢获激–

必度必狂x邻鉴首
膳身迎
狂s邻狂s邻
获激属–
 点t龄首增着–
 迎身邻颜sp身邻鉴–
 属–
 属–
 属–

13

精迎面鉴邻t富紫龄op鉴龄ty–橄–获身首u鉴–
狂x邻鉴首
狂x邻鉴首精ff集邻鉴

狂x邻鉴首
狂x邻鉴首
狂x邻鉴首x首–
溢邻t集v鉴蓄集魔量ow富获集鉴w–橄–

点t龄首增背长集ft增着–
wwwplcworldcn
Excel 2002 VBA
60

必度惊––

14
狂x邻鉴首获激
必度懂
获激溢


溢邻t集v鉴蓄o龄颜迎oo颜富背身v鉴溢s喧–

必度懂–溢–t集p–w集魔量ow–量集sp首身ys–身–首集st–of–身龄铅u骤鉴魔ts–ut集首集z鉴量–迎y–身–获激溢–fu魔邻t集o魔–o龄–集魔st龄u邻t集o魔富–


获激装–言狂s邻
点t龄首增背长集ft增


15
点t龄首增
获激


必度拉–获激溢–

16
获激溢点t龄首增
wwwplcworldcn
Excel 2002 VBA
61
获激
溢pp首集邻身t集o魔点t龄首增–
溢pp首–
获激溢pp首溢pp首集邻身t集o魔
点t龄首增获激溢pp首集邻身t集o魔


17

膳身迎懂
膳身迎

获激蓄长身ts魔溢点鉴首首–
度富 环集龄st背t鉴ps喧点长身p嵌度富x首s器蓄长身ts魔溢点鉴首首蓄o龄颜s长鉴鉴t环o龄骤身tt集魔铅–
必富 蓄集t长狂魔量–蓄集t长–
惊富 膳身迎膳身迎–
懂富 懂膳身迎–
拉富 背长集ft增膳身迎–


18
获激溢






––
19
获激溢获激

wwwplcworldcn
Excel 2002 VBA
62

必度描–获激溢–

 环必–
 –
 –
获激溢获激溢

必度描属获激溢

榄狂x邻鉴首狂x邻鉴首
狂x邻鉴首获激溢获激溢–


必度描必度操
获激属


wwwplcworldcn
Excel 2002 VBA
63

必度操––

获激溢必度描
点o骤骤身魔量激身龄点o骤迎o激ox–必度描
点o骤骤身魔量激身龄点o骤迎o激ox
属获激溢
获激溢获激


蓄集魔量ows


获激溢
狂x邻鉴首–
度富 –
必富 –
惊富 –
懂富 –
拉富 溢首t增环度度获激紫鉴龄so魔身首–喧紫鉴龄so魔身首富x首s器–
描富 –
操富 立身魔集pu首身t集o魔s–
族富 环必–
暗富 属狂x邻鉴首–
度嵌富 t鉴xt迎ox–
wwwplcworldcn
Excel 2002 VBA
64

必度族–狂x邻鉴首––


必度暗–获激溢–

背长身p鉴s必度暗溢量量膳鉴xt迎ox
溢量量膳鉴xt迎ox环度
必必嵌–
wwwplcworldcn
Excel 2002 VBA
65

必必嵌–环度–

溢量量膳鉴xt迎ox种鉴ft
膳op–
度度富 –
度必富 立身魔集pu首身t集o魔s立ov鉴膳鉴xt激ox–
背u迎–立ov鉴膳鉴xt激ox喧器––
蓄集t长–溢邻t集v鉴背长鉴鉴t富背长身p鉴s喧便膳鉴xt–迎ox–度便器–– – 膳鉴xt–迎ox–度–度–
富背鉴首鉴邻t––
富种鉴ft–橄–嵌––
富膳op–橄–嵌––
狂魔量–蓄集t长––
狂魔量–背u迎–
度惊富 –
立ov鉴膳鉴xt激ox背长身p鉴s
膳鉴xt–迎ox–度膳鉴xt–迎ox–度狂x邻鉴首

蓄集t长–溢邻t集v鉴背长鉴鉴t富背长身p鉴s喧度器–

蓄集t长–溢邻t集v鉴背长鉴鉴t富背长身p鉴s喧便膳鉴xt–迎ox–度便器–
获激
立身魔集pu首身t集o魔s狂x邻鉴首
度必–
立ov鉴点集龄邻首鉴–
背u迎–立ov鉴点集龄邻首鉴喧器––
蓄集t长–溢邻t集v鉴背长鉴鉴t富背长身p鉴s喧必器––
富背鉴首鉴邻t––
wwwplcworldcn
Excel 2002 VBA
66
富种鉴ft–橄–嵌––
富膳op–橄–嵌––
狂魔量–蓄集t长––
狂魔量–背u迎–

–必
立ov鉴点集龄邻首鉴狂x邻鉴首–

20 VBA
狂x邻鉴首背长身p鉴s狂x邻鉴首狂x邻鉴首获激溢
获激溢
获激溢
狂x邻鉴首–
度富 立身魔集pu首身t集o魔s立ov鉴膳鉴xt激ox立ov鉴点集龄邻首鉴–
必富 架–
背u迎–篇鉴w环o首量鉴龄喧器–
惊富 获激狂魔量–背u迎–
懂富 环必–
拉富 属获激溢–
描富 f集首鉴–
操富 立颜熬集龄必必度–
族富 –

必必度–获激溢–

暗富 立身魔集pu首身t集o魔s篇鉴w环o首量鉴龄–
度嵌富 点架览背tu量y篇鉴w环o首量鉴龄–
背u迎–篇鉴w环o首量鉴龄喧器–
立颜熬集龄–便点架览背tu量y便––
wwwplcworldcn
Excel 2002 VBA
67
狂魔量–背u迎–

度度富 篇鉴w环o首量鉴龄–
篇鉴w环o首量鉴龄获激点蓄集魔量ows
蓄集魔量ows
美骤熬集龄立颜熬集龄–
背tu量y立颜熬集龄美骤熬集龄篇鉴w环o首量鉴龄
美鉴骤ov鉴环o首量鉴龄–
背u迎–美鉴骤ov鉴环o首量鉴龄喧器––
美骤熬集龄–便点架览背tu量y便––
狂魔量–背u迎–
美骤熬集龄–

21

紫鉴龄so魔身首–
度富 属紫鉴龄so魔身首紫鉴龄so魔身首–

必必必–获激溢–


必富 篇鉴w环o首量鉴龄获激–
惊富 –

22
获激溢获激溢
获激溢获激溢狂x邻鉴首

度富 获激–
获激溢获激

获激
获激点t龄首增理
获激溢

wwwplcworldcn
Excel 2002 VBA
68

必富 狂x邻鉴首获激–
惊富 –
蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器富溢邻t集v身t鉴–
获激获激溢
背长鉴鉴t必–
懂富 获激溢–
美身魔铅鉴喧便溢度架溢懂便器富背鉴首鉴邻t–
获激溢度溢必溢惊溢懂–
拉富 –
装溢度架溢懂言富获身首u鉴–橄–拉拉–
获激溢度架溢懂拉拉美身魔铅鉴

美身魔铅鉴喧便溢度架溢懂便器富获身首u鉴–橄–拉拉–

必必惊–狂x邻鉴首获激–

描富 –
背鉴首鉴邻t集o魔富点首鉴身龄点o魔t鉴魔ts–
获激溢溢度架溢懂–
操富 –
溢邻t集v鉴点鉴首首富背鉴首鉴邻t–
获激溢度–
wwwplcworldcn
Excel 2002 VBA
69

必必懂–––––

必必懂狂x邻鉴首
必必懂

23



狂x邻鉴首
狂x邻鉴首–
度富 美身魔铅鉴喧便溢度架溢懂便器富背鉴首鉴邻t–
必富 狂x邻鉴首溢度架溢懂–
惊富 –
背鉴首鉴邻t集o魔富溢量量龄鉴ss–
狂x邻鉴首狂x邻鉴首
减溢减度架减溢减懂狂x邻鉴首
紫龄集魔t紫龄集魔t–
懂富 –
紫龄集魔t–溢邻t集v鉴蓄o龄颜迎oo颜富篇身骤鉴–
狂x邻鉴首–
点长身p嵌必富x首s–
拉富 –
溢pp首集邻身t集o魔富篇身骤鉴–
狂x邻鉴首立集邻龄osoft–狂x邻鉴首–

描富 –
度必属惊–
狂x邻鉴首惊增必度必城族

惊增必架度必城族–

狂x邻鉴首拉暗描–
狂x邻鉴首架–
蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器富溢邻t集v身t鉴––
美身魔铅鉴喧便溢度架溢懂便器富背鉴首鉴邻t––
装溢度架溢懂言富获身首u鉴–橄–拉拉––
背鉴首鉴邻t集o魔富点首鉴身龄点o魔t鉴魔ts––
溢邻t集v鉴点鉴首首富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富溢量量龄鉴ss––
wwwplcworldcn
Excel 2002 VBA
70
减溢减度架减溢减懂––
紫龄集魔t–溢邻t集v鉴蓄o龄颜迎oo颜富篇身骤鉴––
点长身p嵌必富x首s––
溢pp首集邻身t集o魔富篇身骤鉴––
立集邻龄osoft–狂x邻鉴首––
度必属惊––
懂––
惊增必架度必城族––
拉––
暗描–
熬鉴首鉴t鉴–
24
狂x邻鉴首美身魔铅鉴蓄o龄颜迎oo颜–喧蓄o龄颜迎oo颜s器
蓄o龄颜s长鉴鉴t–喧蓄o龄颜s长鉴鉴ts器蓄集魔量ow–喧蓄集魔量ows器–溢pp首集邻身t集o魔获激

 获激溢环度–
 –
 获激溢获激溢–
获激溢获激溢

––––
必必拉––––狂x邻鉴首美身魔铅鉴–

25
获激溢

获激溢美身魔铅鉴
狂x邻鉴首美身魔铅鉴——蓄o龄颜s长鉴鉴t
——美身魔铅鉴美身魔铅鉴点鉴首首s精ffs鉴t–
––––
26 Range
美身魔铅鉴溢度溢度
溢度架激必溢始激度必–
获激溢– –
溢拉– 美身魔铅鉴喧便溢拉便器富背鉴首鉴邻t–
溢描架溢度嵌– 美身魔铅鉴喧便溢描架溢度嵌便器富背鉴首鉴邻t–
wwwplcworldcn
Excel 2002 VBA
71
溢度始–激描始–点族– 美身魔铅鉴喧便溢度始–激描始–点族便器富背鉴首鉴邻t–
溢度度架熬度度始–点度必始–
熬惊–
美身魔铅鉴喧便溢度度架熬度度始–点度必始–熬惊便器富背鉴首鉴邻t–

27 Cells
点鉴首首s
狂x邻鉴首–
获激溢– –
溢拉– 点鉴首首s喧拉始–度器富背鉴首鉴邻t点鉴首首s喧拉始–溢器富背鉴首鉴邻t–
溢描架溢度嵌– 美身魔铅鉴喧点鉴首首s喧描始–度器始–点鉴首首s喧度嵌始–度器器富背鉴首鉴邻t–
– 点鉴首首s富背鉴首鉴邻t–

美身魔铅鉴点鉴首首s–
美身魔铅鉴喧点鉴首首s喧描始–度器始–点鉴首首s喧度嵌始–度器器富背鉴首鉴邻t–
点鉴首首s溢描溢度嵌点鉴首首s美身魔铅鉴
狂x邻鉴首点鉴首首s点鉴首首s–
点鉴首首s狂x邻鉴首
溢度激度点度点鉴首首必拉描
狂x邻鉴首必拉描–
获激溢– –
溢度– 点鉴首首s喧度器富背鉴首鉴邻t–o龄–点鉴首首s富t鉴骤喧度器富背鉴首鉴邻t–
点度– 点鉴首首s喧惊器富背鉴首鉴邻t–o龄–点鉴首首s富t鉴骤喧惊器富背鉴首鉴邻t–
获度– 点鉴首首s喧必拉描器富背鉴首鉴邻t–o龄–点鉴首首s富t鉴骤喧必拉描器富背鉴首鉴邻t–
溢必– 点鉴首首s喧必拉操器富背鉴首鉴邻t–o龄–点鉴首首s富t鉴骤喧必拉操器富背鉴首鉴邻t–

t鉴骤t鉴骤
t鉴骤–
美身魔铅鉴点鉴首首s点鉴首首s
美身魔铅鉴获激溢狂x邻鉴首美身魔铅鉴
点鉴首首s–

28 Offset
精ffs鉴t
狂x邻鉴首精ffs鉴t

精ffs鉴t

获激溢– –
溢度– 美身魔铅鉴喧便溢度便器富精ffs鉴t喧度始–惊器富背鉴首鉴邻t–
熬度拉– 美身魔铅鉴喧便熬度拉便器富精ffs鉴t喧嫌必始–嫌度器富背鉴首鉴邻t–
– 溢邻t集v鉴点鉴首首富精ffs鉴t喧嫌度始–嵌器富背鉴首鉴邻t–

狂x邻鉴首熬必狂x邻鉴首点度惊–
溢度熬度拉–
背鉴首鉴邻t集o魔富精ffs鉴t喧度始–惊器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富精ffs鉴t喧嫌必始–嫌度器富背鉴首鉴邻t–
嵌嵌精ffs鉴t
wwwplcworldcn
Excel 2002 VBA
72
溢邻t集v鉴点鉴首首富精ffs鉴t喧嫌度始–嵌器富背鉴首鉴邻t–
精ffs鉴t溢拉架溢度嵌
点操架点族精ff鉴st
狂x邻鉴首美鉴s集z鉴精ffs鉴t美鉴s集z鉴

度富 狂x邻鉴首获激–
必富 –
美身魔铅鉴喧便溢拉架溢度嵌便器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富精ffs鉴t喧必始–必器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富美鉴s集z鉴喧必始–懂器富背鉴首鉴邻t–
溢拉架溢度嵌溢拉点操架点度必点操溢拉
点操点操架点族
点操架点度必精ffs鉴t美鉴s集z鉴
背鉴首鉴邻t集o魔富美鉴s集z鉴喧必始–懂器富背鉴首鉴邻t–

背鉴首鉴邻t集o魔富精ffs鉴t喧必始–必器富美鉴s集z鉴喧必始–懂器富背鉴首鉴邻t–
精ffs鉴t美鉴s集z鉴
背鉴首鉴邻t–

必描–
美身魔铅鉴溢必t鉴xt溢拉
获激–
美身魔铅鉴喧便溢必便器富背鉴首鉴邻t––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便t鉴xt便––
美身魔铅鉴喧便溢拉便器富背鉴首鉴邻t–
精ffs鉴t

溢邻t集v鉴点鉴首首富精ffs鉴t喧嫌惊始–嵌器富美身魔铅鉴喧便溢度便器富背鉴首鉴邻t––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便t鉴xt便––
溢邻t集v鉴点鉴首首富精ffs鉴t喧惊始–嵌器富美身魔铅鉴喧便溢度便器富背鉴首鉴邻t–

溢度溢度
溢度–
溢邻t集v鉴点鉴首首富精ffs鉴t喧嫌惊始–嵌器富背鉴首鉴邻t––
溢邻t集v鉴点鉴首首富环o龄骤u首身美度点度–橄–便t鉴xt便––
溢邻t集v鉴点鉴首首富精ffs鉴t喧惊始–嵌器富背鉴首鉴邻t–


29
狂魔量增–狂魔量增–狂魔量增
狂魔量增获激溢狂魔量–
获激溢– –
– 溢邻t集v鉴点鉴首首富狂魔量喧x首龄集铅长t器富背鉴首鉴邻t–
– 溢邻t集v鉴点鉴首首富狂魔量喧x首量ow魔器富背鉴首鉴邻t–
– 溢邻t集v鉴点鉴首首富狂魔量喧x首鉴ft器富背鉴首鉴邻t–
– 溢邻t集v鉴点鉴首首富狂魔量喧x首up器富背鉴首鉴邻t–

狂魔量狂x邻鉴首x首龄集铅长t始–x首首鉴ft始–x首up始–
wwwplcworldcn
Excel 2002 VBA
73
x首量ow魔–

30
狂x邻鉴首狂魔t集龄鉴美ow狂魔t集龄鉴点o首u骤魔–
获激溢– –
– 背鉴首鉴邻t集o魔富狂魔t集龄鉴美ow富背鉴首鉴邻t–
– 背鉴首鉴邻t集o魔富狂魔t集龄鉴点o首u骤魔富背鉴首鉴邻t–

狂x邻鉴首溢度架熬度拉–
度富 获激溢–
美身魔铅鉴喧便溢度架熬度拉便器富背鉴首鉴邻t–
狂x邻鉴首获激溢溢度架熬度拉–
必富 –
背鉴首鉴邻t集o魔富美ows富点ou魔t–
获激溢度拉–
惊富 –
背鉴首鉴邻t集o魔富点o首u骤魔s富点ou魔t–
获激溢溢度架熬度拉–
懂富 美ows点o首u骤魔s环度–

31
狂x邻鉴首点ou魔t–
获激溢– –
狂x邻鉴首– 点鉴首首s富点ou魔t–
狂x邻鉴首– 美ows富点ou魔t–
狂x邻鉴首– 点o首u骤魔s富点ou魔t–

–狂x邻鉴首–必嵌嵌必度描始操操操必度描描拉始拉惊描必拉描–
––––
32
美身魔铅鉴
获身首u鉴环o龄骤u首身–
获身首u鉴–
溢邻t集v鉴背长鉴鉴t富美身魔铅鉴喧便溢度架点懂便器富获身首u鉴–橄–便橄懂–城–必拉便–
环o龄骤u首身–
溢邻t集v鉴背长鉴鉴t富美身魔铅鉴喧便溢度架点懂便器富环o龄骤u首身–橄–便橄懂–城–必拉便–
溢度懂必拉度嵌嵌–
获激溢– –
溢拉溢骤ou魔t–熬u鉴– 美身魔铅鉴喧便溢拉便器富环o龄骤u首身–橄–便溢骤ou魔t–熬u鉴便–
熬必度度必惊– 美身魔铅鉴喧便熬必度便器富环o龄骤u首身–橄–度必惊––
美身魔铅鉴喧便熬必度便器富获身首u鉴–橄–度必惊–
激懂橄熬必度城惊– 美身魔铅鉴喧便激懂便器富环o龄骤u首身–橄–便橄熬必度–城–惊便–

wwwplcworldcn
Excel 2002 VBA
74
33
获激获身首u鉴环o龄骤u首身
美身魔铅鉴–
 获身首u鉴溢度橄懂城必拉美身魔铅鉴喧便溢度便器富获身首u鉴
度嵌嵌–
 环o龄骤u首身美身魔铅鉴喧便溢度便器富环o龄骤u首身狂x邻鉴首橄懂城必拉
度嵌嵌–

34
获激溢
篇u骤迎鉴龄环o龄骤身t–
美身魔铅鉴喧便溢度便器富篇u骤迎鉴龄环o龄骤身t–
狂x邻鉴首理鉴魔鉴龄身首理属
获激溢–
美身魔铅鉴喧便溢度便器富篇u骤迎鉴龄环o龄骤身t–橄–便减始嵌富嵌嵌便–
溢度度必拉溢度减度必拉富嵌嵌狂x邻鉴首



必必描– ––

35

获激
点ut始点opy–点首鉴身龄–
获激溢– –
溢拉溢懂– 美身魔铅鉴喧便溢拉便器富点ut––
熬鉴st集魔身t集o魔架橄美身魔铅鉴喧便溢懂便器–
wwwplcworldcn
Excel 2002 VBA
75
溢惊熬拉架环拉– 美身魔铅鉴喧便溢惊便器富点opy––
熬鉴st集魔身t集o魔架橄美身魔铅鉴喧便熬拉架环拉便器–
溢懂– 美身魔铅鉴喧便溢懂便器富点首鉴身龄––
美身魔铅鉴喧便溢懂便器富点ut–

美身魔铅鉴点ut点opy熬鉴st集魔身t集o魔
熬鉴st集魔身t集o魔点ut
点首鉴身龄–
 点首鉴身龄点o魔t鉴魔ts–
 点首鉴身龄环o龄骤身ts–
 点首鉴身龄点o魔t鉴魔ts–

36


获激溢溢量量点首os鉴

获激溢– –
– 蓄o龄颜迎oo颜s富溢量量–
– 蓄o龄颜迎oo颜s喧度器富篇身骤鉴–
– 蓄o龄颜迎oo颜s富点ou魔t–
– 蓄o龄颜迎oo颜s喧必器富溢邻t集v身t鉴–
点长身p嵌必富x首s– 蓄o龄颜迎oo颜s喧便点长身p嵌必富x首s便器富溢邻t集v身t鉴–
篇鉴w点长身p富x首s– 溢邻t集v鉴蓄o龄颜迎oo颜富背身v鉴溢s–环集首鉴魔身骤鉴架橄便篇鉴w点长身p富x首s便–
– 蓄o龄颜迎oo颜s喧度器富点首os鉴–
– 溢邻t集v鉴蓄o龄颜迎oo颜富点首os鉴–背身v鉴点长身魔铅鉴s架橄环身首s鉴–
– 蓄o龄颜迎oo颜s富点首os鉴–
––––


获激–
获激溢– –
– 蓄o龄颜s长鉴鉴ts富溢量量–
– 蓄o龄颜s长鉴鉴ts喧度器富篇身骤鉴–
背长鉴鉴t惊– 蓄o龄颜s长鉴鉴ts喧惊器富背鉴首鉴邻t–
– 蓄o龄颜s长鉴鉴ts喧溢龄龄身y喧度始惊始懂器器富背鉴首鉴邻t–
背长鉴鉴t度– 蓄o龄颜s长鉴鉴ts喧背长鉴鉴t度器富溢邻t集v身t鉴–
背长鉴鉴t必背长鉴鉴t度– 蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器富立ov鉴–
激鉴fo龄鉴架橄蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器–
背长鉴鉴t必狂xp鉴魔s鉴s– 蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器富篇身骤鉴–橄–便狂xp鉴魔s鉴s便–
– 蓄o龄颜s长鉴鉴ts富点ou魔t–
狂xp鉴魔s鉴s– 蓄o龄颜s长鉴鉴ts喧便狂xp鉴魔s鉴s便器富熬鉴首鉴t鉴–

背鉴首鉴邻t溢邻t集v身t鉴–
 背鉴首鉴邻t溢邻t集v身t鉴–
 溢邻t集v身t鉴


wwwplcworldcn
Excel 2002 VBA
76
必操背长鉴鉴ts蓄o龄颜s长鉴鉴ts–
溢量量–
点长身龄ts富溢量量–

点长身龄ts富点ou魔t–
狂x邻鉴首–暗操熬集身首o铅背长鉴鉴ts立o量u首鉴s熬集身首o铅s
花s鉴龄环o龄骤s狂x邻鉴首–暗操获激–

37 Windows
狂x邻鉴首
狂x邻鉴首获激溢–
获激溢– –
– 溢邻t集v鉴蓄o龄颜迎oo颜富篇鉴w蓄集魔量ow–
– 蓄集魔量ows富溢龄龄身魔铅鉴–
– 蓄集魔量ows喧必器富溢邻t集v身t鉴–
– 溢邻t集v鉴蓄集魔量ow富点身pt集o魔–
立y–蓄集魔量ow– 溢邻t集v鉴蓄集魔量ow富点身pt集o魔–橄–便立y–蓄集魔量ow便–

溢龄龄身魔铅鉴
溢龄龄身魔铅鉴背ty首鉴溢龄龄身魔铅鉴背ty首鉴狂x邻鉴首–

– – –
x首溢龄龄身魔铅鉴背ty首鉴膳集首鉴量– 度– –
x首溢龄龄身魔铅鉴背ty首鉴点身s邻身量鉴– 操– –
x首溢龄龄身魔铅鉴背ty首鉴病o龄集zo魔t身首– 必– –
x首溢龄龄身魔铅鉴背ty首鉴获鉴龄t集邻身首– 惊– –


蓄集魔量ows富溢龄龄身魔铅鉴–溢龄龄身魔铅鉴背ty首鉴架橄x首溢龄龄身魔铅鉴背ty首鉴点身s邻身量鉴–

蓄集魔量ows富溢龄龄身魔铅鉴–溢龄龄身魔铅鉴背ty首鉴架橄操––

38 Excel

溢pp首集邻身t集o魔
狂x邻鉴首获激溢

溢pp首集邻身t集o魔富背身v鉴蓄o龄颜sp身邻鉴–便紫龄o面鉴邻t便–
紫龄o面鉴邻t紫龄o面鉴邻t
狂x邻鉴首–
获激溢– –
– 溢pp首集邻身t集o魔富篇身骤鉴–
狂x邻鉴首立y–溢pp首集邻身t集o魔– 溢pp首集邻身t集o魔富点身pt集o魔–橄–便立y–溢pp首集邻身t集o魔便–
狂x邻鉴首立集邻龄osoft–狂x邻鉴首– 溢pp首集邻身t集o魔富点身pt集o魔–橄–便立集邻龄osoft–狂x邻鉴首便–
– 溢pp首集邻身t集o魔富精p鉴龄身t集魔铅背yst鉴骤–
– 溢pp首集邻身t集o魔富精龄铅身魔集z身t集o魔篇身骤鉴–
狂x邻鉴首富鉴x鉴– 溢pp首集邻身t集o魔富紫身t长–
wwwplcworldcn
Excel 2002 VBA
77
狂x邻鉴首– 溢pp首集邻身t集o魔富u集t–

39
获激溢狂x邻鉴首

狂x邻鉴首获激
获激溢狂x邻鉴首
狂x邻鉴首
溢懂狂x邻鉴首获激溢
狂x邻鉴首狂x邻鉴首


––––
着u首集tt身–磅o龄o首–– 膳集铅鉴龄–点长鉴魔–熬鉴邻–度族’–必嵌嵌懂–



获激溢



1 VBA
获激点鉴首首s富点ou魔t度描始操操操始必度描
获激点鉴首首s富点ou魔t获激
获激获激


2
获激溢
度描始操操操始必度描溢首首点鉴首首s篇u骤精f点鉴首首s膳ot身首点鉴首首s

始––减–势––淆––

必拉懂
获激获激
篇u骤精f点鉴首首s
环集龄st豫篇身骤鉴–

惊度––
获激溢获激溢获激
篇身骤鉴种鉴魔狂骤pty种o邻身首–点u龄龄鉴魔邻y狂x集t

惊必––
st龄
st龄篇身骤鉴–
wwwplcworldcn
Excel 2002 VBA
78

3
获激获激

获激获激获身龄集身魔t获身龄集身魔t
惊度获激




惊度–获激溢–
– – –
激oo首鉴身魔– 必– 膳龄u鉴环身首s鉴–
激yt鉴– 度– 嵌必拉拉–
魔t鉴铅鉴龄– 必– 惊必始操描族惊必始操描操–
种o魔铅– 懂– 必始度懂操始懂族惊始描懂族必始度懂操始懂族惊始描懂操–
背集魔铅首鉴– 懂– –
惊富懂嵌必族必惊狂惊族度富懂嵌度必暗族狂懂拉–
度富懂嵌度必暗族狂懂拉惊富懂嵌必族必惊狂惊族–
熬ou迎首鉴– 族– –
度富操暗操描暗惊度惊懂族描必惊度狂惊嵌族懂富暗懂嵌描拉描懂拉族懂度必懂操狂惊必懂–
懂富暗懂嵌描拉描懂拉族懂度必懂操狂惊必懂度富操暗操描暗惊度惊懂族描必惊度狂惊嵌族–
点u龄龄鉴魔邻y– 族– 度嵌嵌嵌嵌获激溢

暗必必始惊惊操始必嵌惊始描族拉始懂操操富拉族嵌族暗必必始惊惊操始必嵌惊始描族拉始懂操操富拉族嵌操–
熬鉴邻集骤身首– 度懂– 增属操暗始必必族始度描必始拉度懂始必描懂始惊惊操始拉暗惊始拉懂惊始暗拉嵌始惊惊拉–
增属操富暗必必族度描必拉度懂必描懂惊惊操拉暗惊拉懂惊暗拉嵌惊惊拉必族–
嵌–
增属嵌富嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌嵌度–
熬身t鉴– 族– 度嵌嵌度度暗暗暗暗度必惊度–
背t龄集魔铅– 度嵌增

–必嵌––喧–必词惊度器–
背t龄集魔铅– – 描拉始懂嵌嵌––
精迎面鉴邻t– 懂– 狂x邻鉴首–
获身龄集身魔t– 度描– 熬ou迎首鉴–
获身龄集身魔t– 必必增



膳yp鉴–
– –

4

获激 –
获激获激溢
获身龄集身魔t惊度
惊懂–

wwwplcworldcn
Excel 2002 VBA
79

惊惊––
 获激–
 –
 获激–
惊懂––
 获激

 获激获身龄集身魔t获激
获身龄集身魔t获激


5
熬集骤熬集骤熬集骤鉴魔s集o魔熬集骤
熬身t鉴精f激集龄t长–
熬集骤–熬身t鉴精f激集龄t长–溢s–熬身t鉴–
熬集骤熬身t鉴精f激集龄t长
获激溢溢s惊度熬身t鉴获激
熬身t鉴精f激集龄t长–
溢铅鉴–
熬集骤–溢铅鉴–溢s–魔t鉴铅鉴龄–
溢铅鉴溢铅鉴魔t鉴铅鉴龄–

熬集骤–环u首首篇身骤鉴–溢s–背t龄集魔铅–
篇身骤鉴获激溢获激溢环u首首篇身骤鉴
背t龄集魔铅–

惊拉––
熬集骤获身龄集身魔t
获激溢
熬身ys种鉴ft–橄–度嵌嵌–



背u迎–溢铅鉴点身首邻喧–器––
v身龄集身迎首鉴–量鉴邻首身龄身t集o魔––
熬集骤–环u首首篇身骤鉴–溢s–背t龄集魔铅––
熬集骤–熬身t鉴精f激集龄t长–溢s–熬身t鉴––
熬集骤–溢铅鉴–溢s–魔t鉴铅鉴龄––
响身ss集铅魔–v身首u鉴s–to–v身龄集身迎首鉴s––
环u首首篇身骤鉴–橄–便着o长魔–背骤集t长便––
熬身t鉴精f激集龄t长–橄–嵌度属嵌惊属度暗描操––
响邻身首邻u首身t鉴–身铅鉴––
溢铅鉴–橄–鉴身龄喧篇ow喧器器嫌鉴身龄喧熬身t鉴精f激集龄t长器––

响p龄集魔t–龄鉴su首ts–to–t长鉴–骤骤鉴量集身t鉴–w集魔量ow––
熬鉴迎u铅富紫龄集魔t–环u首首篇身骤鉴––便–集s–便––溢铅鉴––便–y鉴身龄s–o首量富便––
狂魔量–背u迎–
wwwplcworldcn
Excel 2002 VBA
80
熬鉴迎u铅–


熬集骤–环u首首篇身骤鉴–溢s–背t龄集魔铅始–熬身t鉴精f激集龄t长–溢s–熬身t鉴始–溢铅鉴–溢s–魔t鉴铅鉴龄––
熬集骤–
获激

获激熬身t鉴精f激集龄t长
溢铅鉴熬鉴迎u铅富紫龄集魔t



背u迎–病ow立身魔y点鉴首首s喧–器––
熬集骤–篇u骤精f点鉴首首s–溢s–魔t鉴铅鉴龄––
篇u骤精f点鉴首首s–橄–点鉴首首s富点ou魔t––
立s铅激ox–便膳长鉴–wo龄颜s长鉴鉴t–长身s–便––篇u骤精f点鉴首首s––便–邻鉴首首s富便––
狂魔量–背u迎–
获激点鉴首首s富点ou魔t篇u骤精f点鉴首首s狂x邻鉴首
描——魔t鉴铅鉴龄

溢s–魔t鉴铅鉴龄获激获身龄集身魔t获身龄集身魔t
获激
获身龄集身魔t–

惊描––

惊操––
溢铅鉴点身首邻病ow立身魔y点鉴首首ss
病集s–魔身骤鉴–集s–––环集龄st篇身骤鉴病集s–魔身骤鉴–集s–着o长魔病集s–
魔身骤鉴–集s–立集邻长身鉴首环集龄st篇身骤鉴集s
增–

6
熬集骤获激溢获身龄集身魔t
获激溢获激
获身龄集身魔t–
获激魔t鉴铅鉴龄惊必始操描族惊必始操描操种o魔铅
背集魔铅首鉴熬ou迎首鉴点u龄龄鉴魔邻y种o魔铅必始度懂操始懂族惊始描懂族必始度懂操始懂族惊始描懂操魔t鉴铅鉴龄种o魔铅
背集魔铅首鉴熬ou迎首鉴背t龄集魔铅背t龄集魔铅获激

熬集骤–鉴xt鉴魔s集o魔–溢s–背t龄集魔铅–城–惊–
鉴xt鉴魔s集o魔惊获激

获激
–获激立y篇u骤迎鉴龄
获激–
背u迎–立y篇u骤迎鉴龄喧器––
熬集骤–骤y篇u骤–溢s–魔t鉴铅鉴龄––

wwwplcworldcn
Excel 2002 VBA
81
骤y篇u骤–橄–必惊富度度––
立s铅激ox–骤y篇u骤––
狂魔量–背u迎–
熬集骤
减环集龄st篇身骤鉴背t龄集魔铅–
熬集骤–环集龄st篇身骤鉴减–
熬集骤–环集龄st篇身骤鉴–溢s–背t龄集魔铅惊必–

惊必––
– –
魔t鉴铅鉴龄– 势–
种o魔铅– –
背集魔铅首鉴– –
熬ou迎首鉴– –
点u龄龄鉴魔邻y– 淆–
背t龄集魔铅 – 减–

溢铅鉴点身首邻必
惊必–
背u迎–溢铅鉴点身首邻必喧器––
响v身龄集身迎首鉴–量鉴邻首身龄身t集o魔––
熬集骤–环u首首篇身骤鉴减––
熬身t鉴精f激集龄t长–溢s–熬身t鉴––
熬集骤–溢铅鉴势––
响身ss集铅魔–v身首u鉴s–to–v身龄集身迎首鉴s––
环u首首篇身骤鉴减–橄–便着o长魔–背骤集t长便––
熬身t鉴精f激集龄t长–橄–嵌度属嵌惊属度暗描操––
响邻身首邻u首身t鉴–身铅鉴––
溢铅鉴势–橄–鉴身龄喧篇ow喧器器嫌鉴身龄喧熬身t鉴精f激集龄t长器––

响p龄集魔t–龄鉴su首ts–to–t长鉴–骤骤鉴量集身t鉴–w集魔量ow––
熬鉴迎u铅富紫龄集魔t–环u首首篇身骤鉴减––便–集s–便––溢铅鉴势––便–y鉴身龄s–o首量富便––
狂魔量–背u迎––

惊族––
溢s溢s
获激溢获身龄集身魔t–

7
获激

度富 点长身p嵌惊富x首s–
必富 获激–
惊富 点长身p嵌惊–
懂富 点长身p嵌惊–
拉富 立o量u首鉴度获身龄集身迎首鉴s–
描富 点身首邻点ost
惊拉族富拉势–
wwwplcworldcn
Excel 2002 VBA
82
背u迎–点身首邻点ost喧器––
s首s紫龄集邻鉴–橄–惊拉––
s首s膳身x–橄–嵌富嵌族拉––
美身魔铅鉴喧便溢度便器富环o龄骤u首身–橄–便膳长鉴–邻ost–of–邻身首邻u首身to龄便––
美身魔铅鉴喧便溢懂便器富环o龄骤u首身–橄–便紫龄集邻鉴便––
美身魔铅鉴喧便激懂便器富环o龄骤u首身–橄–s首s紫龄集邻鉴––
美身魔铅鉴喧便溢拉便器富环o龄骤u首身–橄–便背身首鉴s–膳身x便––
美身魔铅鉴喧便溢描便器富环o龄骤u首身–橄–便点ost便––
美身魔铅鉴喧便激拉便器富环o龄骤u首身–橄–s首s紫龄集邻鉴–城–s首s膳身x––

点ost–橄–s首s紫龄集邻鉴–增–喧s首s紫龄集邻鉴–城–s首s膳身x器––
蓄集t长–美身魔铅鉴喧便激描便器––
富环o龄骤u首身–橄–点ost––
富篇u骤迎鉴龄环o龄骤身t–橄–便嵌富嵌嵌便––
狂魔量–蓄集t长––
st龄立s铅–橄–便膳长鉴–邻身首邻u首身to龄–tot身首–集s–便––便减便––点ost––便富便––
美身魔铅鉴喧便溢族便器富环o龄骤u首身–橄–st龄立s铅––
狂魔量–背u迎––
点身首邻点osts首s紫龄集邻鉴s首s膳身x点ostst龄立s铅
获身龄集身魔ts首s紫龄集邻鉴s首s膳身x点ost
s首s紫龄集邻鉴–增–喧s首s紫龄集邻鉴–城–s首s膳身x器s首s紫龄集邻鉴s首s膳身xst龄立s铅


s首s紫龄集邻鉴s首s膳身x点ostst龄立s铅st龄立s铅

st龄立s铅–橄–便膳长鉴–邻身首邻u首身to龄–tot身首–集s–便––便减便––点ost––便富便–
 膳长鉴–邻身首邻u首身to龄–tot身首–集s––
 –
 减–
 –
 点ost–
 –
 –
点身首邻点ost–

惊暗––
获激嵌环身首s鉴
度族暗暗度必惊嵌–

获激
获激s首s紫龄集邻鉴背u迎–点身首邻点ost立集邻龄osoft–获集su身首–激身s集邻点长身p嵌惊富x首s–
装言获激

精pt集o魔–狂xp首集邻集t精pt集o魔–狂xp首集邻集t
精pt集o魔–狂xp首集邻集t狂x邻鉴首惊度

wwwplcworldcn
Excel 2002 VBA
83

惊度–获激溢–

溢族st龄立s铅激描st龄立s铅
溢族点ost获激溢
环o龄骤身t点ost–
环o龄骤身t喧鉴xp龄鉴ss集o魔始–fo龄骤身t器–
狂xp龄鉴ss集o魔fo龄骤身t–
度富 点身首邻点ost点ost–
点ost–橄–环o龄骤身t喧s首s紫龄集邻鉴–增–喧s首s紫龄集邻鉴–城–s首s膳身x器始–便嵌富嵌嵌便器–
必富 蓄集t长狂魔量–蓄集t长–
美身魔铅鉴喧便激描便器富环o龄骤u首身–橄–点ost–
惊富 美身魔铅鉴喧便激拉便器富环o龄骤u首身–橄–s首s紫龄集邻鉴–城–s首s膳身x–
美身魔铅鉴喧便激拉便器富环o龄骤u首身–橄–环o龄骤身t喧喧s首s紫龄集邻鉴–城–s首s膳身x器始–便嵌富嵌嵌便器–
懂富 –
点身首邻点ost获激
点身首邻点ost获激获身龄集身魔t
点osto点st

美身魔铅鉴喧便激描便器富环o龄骤u首身–橄–点st–
膳身xs首s膳身x–
点ost–橄–环o龄骤身t喧s首s紫龄集邻鉴–增–喧s首s紫龄集邻鉴–城–膳身x器始–便嵌富嵌嵌便器–
点身首邻点ost惊必–

惊必––

惊必激描获激点st获激
溢族获激
点st膳身x点osts首s膳身x–

wwwplcworldcn
Excel 2002 VBA
84
8
获激精pt集o魔–狂xp首集邻集t
精pt集o魔–狂xp首集邻集t获激–
度富 点身首邻点ost–
必富 精pt集o魔–狂xp首集邻集t狂x邻鉴首–
惊富 点身首邻点ost获激–
懂富 –
获激s首s紫龄集邻鉴s首s紫龄集邻鉴获激

拉富 点身首邻点ost–
响量鉴邻首身龄身t集o魔–of–v身龄集身迎首鉴s––
熬集骤–s首s紫龄集邻鉴–身s–点u龄龄鉴魔邻y––
熬集骤–s首s膳身x–身s–背集魔铅首鉴––
熬集骤–点ost–身s–点u龄龄鉴魔邻y––
熬集骤–st龄立s铅–身s–背t龄集魔铅–
描富 环拉–
精pt集o魔–狂xp首集邻集t––

背u迎–点身首邻点ost喧器––
响量鉴邻首身龄身t集o魔–of–v身龄集身迎首鉴s––
熬集骤–s首s紫龄集邻鉴–溢s–点u龄龄鉴魔邻y––
熬集骤–s首s膳身x–溢s–背集魔铅首鉴––
熬集骤–点ost–溢s–点u龄龄鉴魔邻y––
熬集骤–st龄立s铅–溢s–背t龄集魔铅––

s首s紫龄集邻鉴–橄–惊拉––
s首s膳身x–橄–嵌富嵌族拉––

美身魔铅鉴喧便溢度便器富环o龄骤u首身–橄–便膳长鉴–邻ost–of–邻身首邻u首身to龄便––
美身魔铅鉴喧便溢懂便器富环o龄骤u首身–橄–便紫龄集邻鉴便––
美身魔铅鉴喧便激懂便器富环o龄骤u首身–橄–s首s紫龄集邻鉴––
美身魔铅鉴喧便溢拉便器富环o龄骤u首身–橄–便背身首鉴s–膳身x便––
美身魔铅鉴喧便溢描便器富环o龄骤u首身–橄–便点ost便––
美身魔铅鉴喧便激拉便器富环o龄骤u首身–橄–环o龄骤身t喧喧s首s紫龄集邻鉴–城–s首s膳身x器始–便嵌富嵌嵌便器––

点ost–橄–环o龄骤身t喧s首s紫龄集邻鉴–增–喧s首s紫龄集邻鉴–城–s首s膳身x器始–便嵌富嵌嵌便器––

蓄集t长–美身魔铅鉴喧便激描便器富环o龄骤u首身–橄–点ost––

st龄立s铅–橄–便膳长鉴–邻身首邻u首身to龄–tot身首–集s–便––便减便––点ost––便富便––
美身魔铅鉴喧便溢族便器富环o龄骤u首身–橄–st龄立s铅––
狂魔量–背u迎––
精pt集o魔–狂xp首集邻集t
精pt集o魔–狂xp首集邻集t获激精pt集o魔–狂xp首集邻集t–
度富 –
必富 –
惊富 –

精pt集o魔–狂xp首集邻集t
wwwplcworldcn
Excel 2002 VBA
85
精pt集o魔–狂xp首集邻集t–

惊度嵌–精pt集o魔–狂xp首集邻集t–
精pt集o魔–狂xp首集邻集t获激
精pt集o魔–狂xp首集邻集t–

9
获激溢背邻op鉴
获激溢获激溢–
 –
 –
 –

10
熬集骤熬集骤获激溢熬集骤


点身首邻点osts首s膳身x
狂xp鉴魔s鉴美鉴ps首s膳身x–

11


熬集骤
精pt集o魔–狂xp首集邻集ts首s膳身x获身龄集身迎首鉴ss首s膳身x

精pt集o魔–狂xp首集邻集t––

熬集骤–s首s膳身x–溢s–背集魔铅首鉴––

背u迎–点身首邻点ost喧–器––
榄––
狂魔量–背u迎––
熬集骤精pt集o魔–狂xp首集邻集ts首s膳身x

度富 熬集骤–s首s膳身x–溢s–背集魔铅首鉴获身龄集身迎首鉴s点身首邻点ost
精pt集o魔–狂xp首集邻集t–
必富 点身首邻点ost狂xp鉴魔s鉴美鉴p–
背u迎–狂xp鉴魔s鉴美鉴p喧器––
熬集骤–s首s紫龄集邻鉴–溢s–点u龄龄鉴魔邻y––
熬集骤–点ost–溢s–点u龄龄鉴魔邻y––

s首s紫龄集邻鉴–橄–拉拉富暗暗––
点ost–橄–s首s紫龄集邻鉴–增–喧s首s紫龄集邻鉴–城–s首s膳身x器––

立s铅激ox–s首s膳身x––
wwwplcworldcn
Excel 2002 VBA
86
立s铅激ox–点ost––
狂魔量–背u迎–
狂xp鉴魔s鉴美鉴ps首s紫龄集邻鉴点osts首s紫龄集邻鉴拉拉富暗暗s首s紫龄集邻鉴点身首邻点ost
s首s紫龄集邻鉴狂xp鉴魔s鉴美鉴p点身首邻点ost
s首s膳身x获激点身首邻点osts首s膳身x嵌富嵌族拉s首s膳身x
点身首邻点osts首s膳身x狂xp鉴魔s鉴美鉴p
s首s膳身x点ost点身首邻点ost获激s首s膳身xs首s膳身x
狂xp鉴魔s鉴美鉴p获激s首s膳身x–

惊度度––
熬集骤紫龄集v身t鉴–
紫龄集v身t鉴–s首s膳身x–溢s–背集魔铅首鉴–
精pt集o魔–狂xp首集邻集t–
惊度必––
精pt集o魔–狂xp首集邻集t精pt集o魔–紫龄集v身t鉴–立o量u首鉴

精pt集o魔–狂xp首集邻集t––
精pt集o魔–紫龄集v身t鉴–立o量u首鉴––
紫u迎首集邻–s首s膳身x–溢s–背集魔铅首鉴––

背u迎–点身首邻点ost喧–器––
榄––
狂魔量–背u迎–

12
紫u迎首集邻熬集骤获激溢
获激溢紫u迎首集邻–
精pt集o魔–狂xp首集邻集t––
紫u迎首集邻–s首s膳身x–溢s–背集魔铅首鉴––

背u迎–点身首邻点ost喧–器––
榄––
狂魔量–背u迎––
s首s膳身x紫u迎首集邻获激溢–

13

获激熬集骤
获激


14
背t身t集邻熬集骤
获激溢
获激点ost精f紫u龄邻长身s鉴
身首首紫u龄邻长身s鉴–
wwwplcworldcn
Excel 2002 VBA
87
背u迎–点ost精f紫u龄邻长身s鉴喧器––
响量鉴邻首身龄鉴–v身龄集身迎首鉴s––
背t身t集邻–身首首紫u龄邻长身s鉴––
熬集骤–魔鉴w紫u龄邻长身s鉴–溢s–背t龄集魔铅––
熬集骤–pu龄邻长点ost–溢s–背集魔铅首鉴––
魔鉴w紫u龄邻长身s鉴–橄–魔put激ox喧便狂魔t鉴龄–t长鉴–邻ost–of–身–pu龄邻长身s鉴架便器––
pu龄邻长点ost–橄–点背魔铅喧魔鉴w紫u龄邻长身s鉴器––
身首首紫u龄邻长身s鉴–橄–身首首紫u龄邻长身s鉴–增–pu龄邻长点ost––

响量集sp首身y–龄鉴su首ts––
立s铅激ox–便膳长鉴–邻ost–of–身–魔鉴w–pu龄邻长身s鉴–集s架–便––魔鉴w紫u龄邻长身s鉴––
立s铅激ox–便膳长鉴–龄u魔魔集魔铅–邻ost–集s架–便––身首首紫u龄邻长身s鉴––
狂魔量–背u迎––
身首首紫u龄邻长身s鉴魔鉴w紫u龄邻长身s鉴pu龄邻长点ost
魔put激ox获激
魔鉴w紫u龄邻长身s鉴魔put激ox魔put激ox魔鉴w精u龄邻长身s鉴
点背魔铅
点背魔铅——点背魔铅
pu龄邻长点ost–

惊度惊––
点背魔铅环度点背魔铅–

身首首紫u龄邻长身s鉴–橄–身首首紫u龄邻长身s鉴–增–pu龄邻长点ost魔put激ox
身首首紫u龄邻长身s鉴pu龄邻长点ost
点ost精f紫u龄邻长身s鉴身首首紫u龄邻长身s鉴

度富 点ost精f紫u龄邻长身s鉴环拉–
必富 度嵌嵌获激膳长鉴–邻ost–of–身–魔鉴w–pu龄邻长身s鉴–集s架–度嵌嵌富–
惊富 获激膳长鉴–龄u魔魔集魔铅–邻ost–集s架–度嵌嵌富–
懂富 拉嵌获激膳长鉴–邻ost–of–身–魔鉴w–pu龄邻长身s鉴–
集s–拉嵌富–
拉富 获激膳长鉴–龄u魔魔集魔铅–邻ost–集s架–度拉嵌富–
描富 获激–

15

获激
获激狂度嵌
获激–
蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器富美身魔铅鉴喧点鉴首首s喧度始度器始–点鉴首首s喧度嵌始–拉器富背鉴首鉴邻t–
获激
溢s精迎面鉴邻t–
熬集骤–骤y美身魔铅鉴–溢s–精迎面鉴邻t––
骤y美身魔铅鉴
背鉴t背鉴t

背鉴t–骤y美身魔铅鉴–橄–蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器富美身魔铅鉴喧点鉴首首s喧度始度器始–点鉴首首s喧度嵌始–拉器器––
骤y美身魔铅鉴背长鉴鉴t度溢度架狂度嵌背鉴t获激
wwwplcworldcn
Excel 2002 VBA
88
——暗度蓄集t长–
花s鉴精迎面获身龄集身迎首鉴骤y美身魔铅鉴–
背u迎–花s鉴精迎面获身龄集身迎首鉴喧器––
熬集骤–骤y美身魔铅鉴–溢s–精迎面鉴邻t––
背鉴t–骤y美身魔铅鉴–橄–蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器富–豫––
美身魔铅鉴喧点鉴首首s喧度始–度器始–点鉴首首s喧度嵌始–拉器器––
骤y美身魔铅鉴富激o龄量鉴龄溢龄ou魔量–蓄鉴集铅长t架橄x首立鉴量集u骤––
蓄集t长–骤y美身魔铅鉴富魔t鉴龄集o龄––
富点o首o龄魔量鉴x–橄–描––
富紫身tt鉴龄魔–橄–x首背o首集量––
狂魔量–蓄集t长––
背鉴t–骤y美身魔铅鉴–橄–蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器富–豫––
美身魔铅鉴喧点鉴首首s喧度必始–拉器始–点鉴首首s喧度必始–度嵌器器––
骤y美身魔铅鉴富获身首u鉴–橄–拉懂––
熬鉴迎u铅富紫龄集魔t–s精迎面鉴邻t喧骤y美身魔铅鉴器––
狂魔量–背u迎––
花s鉴精迎面获身龄集身迎首鉴骤y美身魔铅鉴
背长鉴鉴t度溢度架狂度嵌——
溢度架狂度嵌–
蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t度便器富美身魔铅鉴喧点鉴首首s喧度始–度器始–豫––
点鉴首首s喧度嵌始–拉器器富激o龄量鉴龄溢龄ou魔量–蓄鉴集铅长t架橄x首立鉴量集u骤–

骤y美身魔铅鉴富激o龄量鉴龄溢龄ou魔量–蓄鉴集铅长t架橄x首立鉴量集u骤––
溢度架狂度嵌
骤y美身魔铅鉴骤y美身魔铅鉴获激骤y美身魔铅鉴
狂度必架着度必狂度必架着度必拉懂骤y美身魔铅鉴
熬鉴迎u铅富紫龄集魔t–s精迎面鉴邻t喧骤y美身魔铅鉴器膳龄u鉴s精迎面鉴邻t获激溢

惊度懂––

 –
 –
 –
16
获激
花s鉴精迎面获身龄集身迎首鉴骤y美身魔铅鉴美身魔铅鉴
精迎面鉴邻t–
熬集骤–骤y美身魔铅鉴–溢s–美身魔铅鉴–
蓄o龄颜s长鉴鉴t–
熬集骤–骤y背长鉴鉴t–溢s–蓄o龄颜s长鉴鉴t––
背鉴t–骤y背长鉴鉴t–橄–蓄o龄颜s长鉴鉴ts喧便立身龄颜鉴t集魔铅便器––
篇ot长集魔铅–
背鉴t–骤y背长鉴鉴t–橄–篇ot长集魔铅––

17
获激溢背长集ft增环必
获激点t龄首增背长集ft增环必
wwwplcworldcn
Excel 2002 VBA
89

度富 点ost精f紫u龄邻长身s鉴–
必富 pu龄邻长点ost–橄–点背魔铅喧魔鉴w紫u龄邻长身s鉴器–
惊富 –
懂富 点t龄首增背长集ft增环必–
拉富 –
惊度拉––
获激获身龄膳yp鉴–
18 VB

获激点o魔st–
点o魔st–量集身首o铅篇身骤鉴–橄–便狂魔t鉴龄–熬身t身便–溢s–背t龄集魔铅––
点o魔st–s首s膳身x–橄–族富拉––
点o魔st–点o首o龄量x–橄–惊–

背u迎–蓄鉴量溢魔魔集v喧–器––
点o魔st–溢铅鉴–溢s–魔t鉴铅鉴龄–橄–必拉––
榄p首身邻鉴–p龄o邻鉴量u龄鉴–集魔st龄u邻t集o魔s–长鉴龄鉴––
狂魔量–背u迎–
点o魔st紫龄集v身t鉴

紫龄集v身t鉴–点o魔st–量s颜–橄–便激架便–溢s–背t龄集魔铅–
背u迎–
点o魔st紫u迎首集邻–
紫u迎首集邻–点o魔st–篇u骤精f点长身龄–橄–必拉拉–溢s–魔t鉴铅鉴龄–
背u迎–
激oo首鉴身魔激yt鉴魔t鉴铅鉴龄种o魔铅点u龄龄鉴魔邻y背集魔铅首鉴熬ou迎首鉴熬身t鉴背t龄集魔铅
获身龄集身魔t–

点o魔st–溢铅鉴–溢s–魔t鉴铅鉴龄–橄–必拉始–点集ty–溢s–背t龄集魔铅–橄–便熬鉴魔v鉴龄便始–紫身y点长鉴邻颜–溢s–点u龄龄鉴魔邻y–橄–惊拉嵌–
获激溢
点o魔st
––––
19
狂x邻鉴首获激溢
狂x邻鉴首–
度富 获激–
必富 属狂x邻鉴首–
惊富 点o魔st身魔ts获激–
懂富 点o魔st身魔ts惊惊狂x邻鉴首
x首–
wwwplcworldcn
Excel 2002 VBA
90

惊惊––

拉富 获激溢属获激溢获激溢v迎富–

度富 狂x邻鉴首—–
必富 立集魔集蓄集魔量ow–
惊富 狂x邻鉴首–
懂富 –
拉富 –
描富 获激–
背u迎–立集魔集蓄集魔量ow喧–器––
溢邻t集v鉴蓄集魔量ow富蓄集魔量ow背t身t鉴–橄–x首立集魔集骤集z鉴量––
狂魔量–背u迎––
获激溢x首立身x集骤集z鉴量懂度惊操x首立集魔集骤集z鉴量
懂度懂嵌x首篇o龄骤身首懂度懂惊惊懂–


惊懂––

20
获激溢

wwwplcworldcn
Excel 2002 VBA
91
获激溢获激溢–

VBA
––––
着u首集tt身–磅o龄o首–– 膳集铅鉴龄–点长鉴魔–着身魔–度描’–必嵌嵌拉–

获激溢–
 背u迎狂魔量–背u迎
获激

 环u魔邻t集o魔狂魔量–环u魔邻t集o魔
狂x邻鉴首–



获激溢立s铅激ox魔put激ox–

1
狂x邻鉴首获激溢
狂x邻鉴首–

2
狂x邻鉴首
获激溢–
度富 狂x邻鉴首点长身p嵌懂富x首s–
必富 获激获激溢紫龄o面鉴邻t喧点长身p嵌懂富x首s器–
惊富 获激溢紫龄o面鉴邻t立y环u魔邻t集o魔s–
懂富 立y环u魔邻t集o魔s喧点长身p嵌懂富x首s器–
拉富 度背身骤p首鉴度–
描富 背身骤p首鉴度懂
度–

wwwplcworldcn
Excel 2002 VBA
92
懂度–获激–

操富 –
背u骤t花p–


族富 获激–
紫u迎首集邻–环u魔邻t集o魔–背u骤t花p喧器––

狂魔量–环u魔邻t集o魔––
紫u迎首集邻紫u迎首集邻
环u魔邻t集o魔背u骤t花p
狂魔量–环u魔邻t集o魔–

懂度––

懂必–获激溢–
获激溢
获激溢
紫u迎首集邻紫u迎首集邻紫龄集v身t鉴


暗富 –
紫u迎首集邻–环u魔邻t集o魔–背u骤t花p喧骤始魔器––

狂魔量–环u魔邻t集o魔––



懂惊––
获激溢–
 –
 –
 –

度嵌富 紫u迎首集邻–环u魔邻t集o魔狂魔量–环u魔邻t集o魔–
背u骤t花p–橄–骤–增–魔–
魔骤背u骤t花p
骤–增–魔–
紫u迎首集邻–环u魔邻t集o魔–背u骤t花p喧骤始魔器––
背u骤t花p–橄–骤–增–魔––
狂魔量–环u魔邻t集o魔––



3

获激溢狂x邻鉴首
wwwplcworldcn
Excel 2002 VBA
93
环拉–

4


度富 狂x邻鉴首–
必富 fx 狂x邻鉴首

惊富 背u骤t花p
背u骤t花p喧骤始魔器



懂懂––
紫龄集v身t鉴获激溢

懂拉––
获激溢狂x邻鉴首



懂必–获激溢狂x邻鉴首–

懂富 骤魔–
wwwplcworldcn
Excel 2002 VBA
94

懂惊–获激溢–

拉富 懂惊狂x邻鉴首
骤魔–
描富 狂x邻鉴首背u骤t花p

魔–

懂描––
获激溢
狂x邻鉴首–
 –
 藏种背t身龄t–
 –

5 VBA
获激环拉
获激溢
背u骤t花p–
背u迎–美u魔背u骤t花p喧器––
熬集骤–骤–溢s–背集魔铅首鉴始–魔–溢s–背集魔铅首鉴––
骤–橄–惊操嵌嵌嵌嵌––
魔–橄–惊懂拉暗富操操––
熬鉴迎u铅富紫龄集魔t–背u骤t花p喧骤始魔器––
立s铅激ox–便精p鉴魔–t长鉴–骤骤鉴量集身t鉴–w集魔量ow–to–s鉴鉴–t长鉴–龄鉴su首t富便––
狂魔量–背u迎––
 熬集骤骤魔–
 –
 获激背u骤t花p骤魔背u骤t花p–橄–骤–增–魔获激
美u魔背u骤t花p熬鉴迎u铅富紫龄集魔t–
 立s铅激ox–

度富 背u骤t花p美u魔背u骤t花p–
必富 环拉–

wwwplcworldcn
Excel 2002 VBA
95
懂操––

––
–背u骤t花p喧拉懂始–惊描操富必懂器–
骤魔–
懂必度富必懂–
––––
6
获激溢

狂x邻鉴首狂x邻鉴首
溢懂溢拉拉度嵌橄背花立喧溢懂架溢拉器度拉
狂x邻鉴首获激溢
背u骤t花p–
度富 背u骤t花p篇u骤精f点长身龄身邻t鉴龄s–
背u迎–篇u骤精f点长身龄身邻t鉴龄s喧器––
熬集骤–f–溢s–魔t鉴铅鉴龄––
熬集骤–首–溢s–魔t鉴铅鉴龄––

f–橄–种鉴魔喧魔put激ox喧便狂魔t鉴龄–f集龄st–魔身骤鉴架便器器––
首–橄–种鉴魔喧魔put激ox喧便狂魔t鉴龄–首身st–魔身骤鉴架便器器––
立s铅激ox–背u骤t花p喧f始首器––
狂魔量–背u迎––
必富 篇u骤精f点长身龄身邻t鉴龄s环拉获激–
魔put激ox喧便狂魔t鉴龄–f集龄st–魔身骤鉴架便器–
惊富 获激种鉴魔种鉴魔
获激种鉴魔f获激–
懂富 获激种鉴魔首获激
立s铅激ox获激背u骤t花p获激
背u骤t花pf首获激f骤首魔
获激背u骤t花p背u骤t花p获激
背u骤t花p立s铅激ox

拉富 篇u骤精f点长身龄身邻t鉴龄s–

度富 立y环u魔邻t集o魔s–喧点长身p嵌懂富x首s器背身骤p首鉴必–
必富 背身骤p首鉴必狂魔t鉴龄膳鉴xt–
背u迎–狂魔t鉴龄膳鉴xt喧器––
熬集骤–骤–溢s–背t龄集魔铅始–魔–溢s–背t龄集魔铅始–龄–溢s–背t龄集魔铅––
骤–橄–魔put激ox–喧便狂魔t鉴龄–you龄–f集龄st–魔身骤鉴架便器––
魔–橄–魔put激ox喧便狂魔t鉴龄–you龄–首身st–魔身骤鉴架便器––
龄–橄–着o集魔膳鉴xt喧骤始–魔器––
立s铅激ox–龄––
狂魔量–背u迎–
惊富 –
环u魔邻t集o魔–着o集魔膳鉴xt喧颜始o器––
着o集魔膳鉴xt–橄–颜–增–便–便–增–o––
狂魔量–环u魔邻t集o魔––
懂富 狂魔t鉴龄膳鉴xt–
wwwplcworldcn
Excel 2002 VBA
96
获激骤魔着o集魔膳鉴xt获激
着o集魔膳鉴xt着o集魔膳鉴xt获激狂魔t鉴龄膳鉴xt
龄立s铅激ox龄
篇u骤精f熬身ys操熬身ys魔溢蓄鉴鉴颜–
环u魔邻t集o魔–篇u骤精f熬身ys喧器––
篇u骤精f熬身ys–橄–操––
狂魔量–环u魔邻t集o魔––
背u迎–熬身ys魔溢蓄鉴鉴颜喧器––
立s铅激ox–便膳长鉴龄鉴–身龄鉴–便––篇u骤精f熬身ys––便–量身ys–集魔–身–w鉴鉴颜富便––
狂魔量–背u迎–

懂族––


––––
7




溢s–
环u魔邻t集o魔–立u首t集p首yt喧魔u骤度始–魔u骤必器–溢s–魔t鉴铅鉴龄–
获激获身龄集身魔t


度富 立y环u魔邻t集o魔s–喧点长身p嵌懂富x首s器背身骤p首鉴惊–
必富 背身骤p首鉴惊病ow立u邻长–
背u迎–病ow立u邻长喧器––
熬集骤–魔u骤度–溢s–背集魔铅首鉴––
熬集骤–魔u骤必–溢s–背集魔铅首鉴––
熬集骤–龄鉴su首t–溢s–背集魔铅首鉴––
魔u骤度–橄–懂拉富惊惊––
魔u骤必–橄–度暗富必懂––
龄鉴su首t–橄–立u首t集p首yt喧魔u骤度始–魔u骤必器––
立s铅激ox–龄鉴su首t––
狂魔量–背u迎––
惊富 病ow立u邻长–
环u魔邻t集o魔–立u首t集p首yt喧魔u骤度始魔u骤必器–溢s–魔t鉴铅鉴龄––
立u首t集p首yt–橄–魔u骤度–城–魔u骤必––
狂魔量–环u魔邻t集o魔––
魔u骤度魔u骤必
立u首t集p首yt病ow立u邻长龄鉴su首t族操必富度懂暗必
族操必–
魔put激ox
狂魔t鉴龄膳鉴xt病ow立u邻长–

wwwplcworldcn
Excel 2002 VBA
97
8
获激
激y获身首–
度富 立y环u魔邻t集o魔s–喧点长身p嵌懂富x首s器背身骤p首鉴懂–
必富 背身骤p首鉴懂–
背u迎–膳长龄鉴鉴篇u骤迎鉴龄s喧器––
熬集骤–魔u骤度–溢s–魔t鉴铅鉴龄始–魔u骤必–溢s–魔t鉴铅鉴龄始–魔u骤惊–溢s–魔t鉴铅鉴龄––
魔u骤度–橄–度嵌––
魔u骤必–橄–必嵌––
魔u骤惊–橄–惊嵌––

立s铅激ox–立y溢v鉴龄身铅鉴喧魔u骤度始魔u骤必始魔u骤惊器––
立s铅激ox–魔u骤度––
立s铅激ox–魔u骤必––
立s铅激ox–魔u骤惊––
狂魔量–背u迎––

环u魔邻t集o魔–立y溢v鉴龄身铅鉴喧激y获身首–魔u骤度始–激y获身首–魔u骤必始–激y获身首–魔u骤惊器––
魔u骤度–橄–魔u骤度–增–度––
立y溢v鉴龄身铅鉴–橄–喧魔u骤度–增–魔u骤必–增–魔u骤惊器–属–惊––
狂魔量–环u魔邻t集o魔––
激y获身首膳长龄鉴鉴篇u骤迎鉴龄s立y溢v鉴龄身铅鉴
魔u骤度魔u骤必魔u骤惊激y获身首
立y溢v鉴龄身铅鉴魔u骤度魔u骤度度度度嵌增度
膳长龄鉴鉴篇u骤迎鉴龄s立s铅激ox必嵌富惊惊惊惊惊惊惊惊惊惊惊惊惊必嵌
——度嵌必嵌惊嵌–
魔u骤度激y获身首立s铅激ox
魔u骤度度度立y溢v鉴龄身铅鉴必嵌富惊惊惊惊惊惊惊惊惊惊惊惊惊必嵌魔u骤度
获激激y获身首–

懂暗–激y美鉴f激y获身首–

获激——激y美鉴f激y获身首获激激y美鉴f

立y溢v鉴龄身铅鉴魔u骤度激y获身首
激y美鉴f激y美鉴f激y获身首获激
获激
——立y溢v鉴龄身铅鉴魔u骤度–

9

精pt集o魔身首
获身龄集身魔t溢s

立y溢v鉴龄身铅鉴溢v铅–
度富 立y环u魔邻t集o魔s–喧点长身p嵌懂富x首s器背身骤p首鉴拉–
必富 背身骤p首鉴拉–
环u魔邻t集o魔–溢v铅喧魔u骤度始–魔u骤必始–精pt集o魔身首–魔u骤惊器––
wwwplcworldcn
Excel 2002 VBA
98
熬集骤–tot身首篇u骤s–溢s–魔t鉴铅鉴龄––
tot身首篇u骤s–橄–惊––
f–s立集ss集魔铅喧魔u骤惊器–膳长鉴魔––
魔u骤惊–橄–嵌––
tot身首篇u骤s–橄–tot身首篇u骤s–度––
狂魔量–f––
溢v铅–橄–喧魔u骤度增魔u骤必增魔u骤惊器属tot身首篇u骤s––
狂魔量–环u魔邻t集o魔––
惊富 –
溢v铅喧必始惊器–
获激必富拉–
溢v铅喧必始惊始拉器–
惊富惊惊惊惊惊惊惊惊惊惊惊惊惊–
溢v铅
获激–
溢v铅魔u骤度魔u骤必魔u骤惊
精pt集o魔身首魔u骤度魔u骤必魔u骤惊获激
获身龄集身魔t–
tot身首篇u骤s惊
s立集ss集魔铅s立集ss集魔铅嵌tot身首篇u骤s
度tot身首篇u骤s必–
s立集ss集魔铅膳龄u鉴
环身首s鉴s立集ss集魔铅f膳长鉴魔获激溢
魔u骤惊s立集ss集魔铅膳长鉴魔获激魔u骤惊嵌tot身首篇u骤s度tot身首篇u骤s–
橄–tot身首篇u骤s––度溢v铅


懂度嵌––




10
获激溢获激立集邻龄osoft–获集su身首–激身s集邻
获激溢–
立s铅激ox魔put激ox狂x邻鉴首

立s铅激ox
魔put激ox
获激溢–
获激获身龄膳yp鉴懂懂获身龄膳yp鉴–
wwwplcworldcn
Excel 2002 VBA
99

懂懂–获身龄膳yp鉴必嵌嵌必–


度富 –
必富 –
身铅鉴–橄–度族––
迎集龄t长量身t鉴–橄–度属度属度暗族度––
f集龄st篇身骤鉴–橄–便着o长魔便––
惊富 获激–
v身龄膳yp鉴喧身铅鉴器–
获激必懂懂必–
v身龄膳yp鉴喧迎集龄t长量身t鉴器––
获激操迎集龄t长量身y迎集龄t长量身t鉴获激嵌–
v身龄膳yp鉴喧f集龄st篇身骤鉴器–
获激f集龄st篇身骤鉴族–

11 MsgBox
立s铅激ox
立s铅激ox

立s铅激ox–便便––––
wwwplcworldcn
Excel 2002 VBA
100
获激懂拉–

懂拉–立s铅激ox–
––––
立s铅激ox立集邻龄osoft–狂x邻鉴首
立s铅激ox–
立s铅激ox–喧p龄o骤pt–装始–迎utto魔s言–装始–t集t首鉴言始–装始–长鉴首pf集首鉴始–邻o魔t鉴xt言器––
立s铅激ox紫龄o骤pt
获激

度富 –
立s铅激ox–便溢首首–量o魔鉴富–篇ow–op鉴魔–便便点长身p嵌懂富x首s便便–身魔量–p首身邻鉴–身魔–鉴骤pty–量集s颜–集魔–t长鉴–量集s颜鉴tt鉴–量龄集v鉴富–膳长鉴–fo首首ow集魔铅–p龄o邻鉴量u龄鉴–
w集首首–邻opy–t长集s–f集首鉴–to–t长鉴–量集s颜富便–
获激懂描–

懂描––

——点长身p嵌懂富x首s
获激溢点长龄点长龄嵌必拉拉
点长龄喧度惊器点长龄喧度嵌器–
必富 –
立s铅激ox–便溢首首–量o魔鉴富便––点长龄喧度惊器––便篇ow–op鉴魔–便便点长身p嵌懂富x首s便便–身魔量–p首身邻鉴便––点长龄喧度惊器––便身魔–鉴骤pty–量集s颜–集魔–t长鉴–量集s颜鉴tt鉴–
量龄集v鉴富便––点长龄喧度惊器––便膳长鉴–fo首首ow集魔铅–p龄o邻鉴量u龄鉴–w集首首–邻opy–t长集s–f集首鉴–to–t长鉴–量集s颜富便–

懂操–点长龄喧度惊器–


点长身p嵌懂富x首s点长龄喧度惊器–
获激豫获激溢

惊富 立y环u魔邻t集o魔s–喧点长身p嵌懂富x首s器背身骤p首鉴描–
懂富 背身骤p首鉴描立y立鉴ss身铅鉴–
背u迎–立y立鉴ss身铅鉴喧器––
立s铅激ox–便溢首首–量o魔鉴富便––点长龄喧度惊器–豫––
wwwplcworldcn
Excel 2002 VBA
101
–便篇ow–op鉴魔–便便点长身p嵌懂富x首s便便–身魔量–p首身邻鉴便––点长龄喧度惊器–豫––
–便身魔–鉴骤pty–量集s颜–集魔–t长鉴–量集s颜鉴tt鉴–量龄集v鉴富便––点长龄喧度惊器–豫––
–便膳长鉴–fo首首ow集魔铅–p龄o邻鉴量u龄鉴–w集首首–邻opy–t长集s–f集首鉴–to–t长鉴–量集s颜富便––
狂魔量–背u迎––
立y立鉴ss身铅鉴获激懂操
点长龄喧度惊器two–点长龄喧度嵌器–
拉富 立y立鉴ss身铅鉴必–
背u迎–立y立鉴ss身铅鉴必喧器––
立s铅激ox–便溢首首–量o魔鉴富便––点长龄喧度嵌器––点长龄喧度嵌器–豫––
–便篇ow–op鉴魔–便便点长身p嵌懂富x首s便便–身魔量–p首身邻鉴便––点长龄喧度惊器–豫––
–便身魔–鉴骤pty–量集s颜–集魔–t长鉴–量集s颜鉴tt鉴–量龄集v鉴富便––点长龄喧度惊器–点长龄喧度惊器–豫––
–便膳长鉴–fo首首ow集魔铅–p龄o邻鉴量u龄鉴–w集首首–邻opy–t长集s–f集首鉴–to–t长鉴–量集s颜富便––
狂魔量–背u迎–
懂族立y立鉴ss身铅鉴必–

懂族––

立s铅激ox

懂度


懂度–立s铅激ox–
– – –
– – –
v迎精磅精魔首y– 嵌– –
v迎精磅点身魔邻鉴首– 度– –
v迎溢迎o龄t美鉴t龄y铅魔o龄鉴– 必– –
v迎鉴s篇o点身魔邻鉴首– 惊– –
v迎鉴s篇o– 懂– –
v迎美鉴t龄y点身魔邻鉴首– 拉– –
– – –
v迎点龄集t集邻身首– 度描– –
v迎u鉴st集o魔– 惊必– –
v迎狂x邻首身骤身t集o魔– 懂族– –
v迎魔fo龄骤身t集o魔– 描懂– –
– – –
v迎熬鉴f身u首t激utto魔度– 嵌– –
v迎熬鉴f身u首t激utto魔必– 必拉描– –
v迎熬鉴f身u首t激utto魔惊– 拉度必– –
v迎熬鉴f身u首t激utto魔懂– 操描族– –
– – –
wwwplcworldcn
Excel 2002 VBA
102
v迎溢pp首集邻身t集o魔立o量身首– 嵌–

v迎背yst鉴骤立o量身首– 懂嵌暗描–

立s铅激ox– – –
v迎立s铅激ox病鉴首p激utto魔– 度描惊族懂– 病鉴首p–
v迎立s铅激ox背鉴t环o龄鉴铅龄ou魔量– 描拉拉惊描– –
v迎立s铅激ox美集铅长t– 拉必懂必族族– –
v迎立s铅激ox美t首美鉴身量集魔铅– 度嵌懂族拉操描– –






v迎溢pp首集邻身t集o魔–
立o量身首
v迎背yst鉴骤立o量身首
立s铅激ox懂度

懂度必暗必懂增惊必增必拉描

立s铅激ox–便熬o–you–w身魔t–to–p龄o邻鉴鉴量便始–必暗必–

必暗必

立s铅激ox–便熬o–you–w身魔t–to–p龄o邻鉴鉴量便始–v迎鉴s篇o–增–v迎u鉴st集o魔–增–v迎熬鉴f身u首t激utto魔必–
懂暗–


懂暗– ––

获激–
度富 立y环u魔邻t集o魔s–喧点长身p嵌懂富x首s器背身骤p首鉴操–
必富 背身骤p首鉴操立s铅鉴s篇o–
背u迎–立s铅鉴s篇o喧器––
熬集骤–黄u鉴st集o魔–溢s–背t龄集魔铅––
熬集骤–骤y激utto魔s–溢s–魔t鉴铅鉴龄––

黄u鉴st集o魔–橄–便便––
骤y激utto魔s–橄–v迎鉴s篇o–增–v迎u鉴st集o魔–增–v迎熬鉴f身u首t激utto魔必––
立s铅激ox–黄u鉴st集o魔始–骤y激utto魔s––
狂魔量–背u迎––
黄u鉴st集o魔骤y激utto魔s
wwwplcworldcn
Excel 2002 VBA
103

骤y激utto魔s–橄–懂–增–惊必–增–必拉描–

黄u鉴st集o魔骤y激utto魔s立s铅激ox懂暗
狂x邻鉴首立s铅激ox
v迎熬鉴f身u首t激utto魔度–
立s铅激ox立集邻龄osoft–狂x邻鉴首
立s铅鉴s篇o
立s铅鉴s篇o必–
背u迎–立s铅鉴s篇o必喧器––
熬集骤–黄u鉴st集o魔–溢s–背t龄集魔铅––
熬集骤–骤y激utto魔s–溢s–魔t鉴铅鉴龄––
熬集骤–骤y膳集t首鉴–溢s–背t龄集魔铅––

黄u鉴st集o魔–橄–便熬o–you–w身魔t–to–op鉴魔–身–魔鉴w–wo龄颜迎oo颜便––
骤y激utto魔s–橄–v迎鉴s篇o–增–v迎u鉴st集o魔–增–v迎熬鉴f身u首t激utto魔必––
骤y膳集t首鉴–橄–便篇鉴w–wo龄颜迎oo颜便––
立s铅激ox–黄u鉴st集o魔始–骤y激utto魔s始–骤y膳集t首鉴––
狂魔量–背u迎––
骤y膳集t首鉴获激立集邻龄osoft–狂x邻鉴首
立s铅激ox–
立s铅激ox–t集t首鉴架橄骤y膳集t首鉴始–p龄o骤pt架橄黄u鉴st集o魔始–迎utto魔s架橄骤y激utto魔s–

——长鉴首pf集首鉴邻o魔t鉴xt——蓄集魔量ows
长鉴首pf集首鉴病鉴首p
长鉴首pf集首鉴邻o魔t鉴xt
病鉴首p富长首p拉拉–
立s铅激ox–t集t首鉴架橄骤yt集t首鉴始–豫––
p龄o骤pt架橄黄u鉴st集o魔–豫––
迎utto魔s架橄骤y迎utto魔s–豫––
长鉴首p环集首鉴架橄–便病鉴首p藏富长首p便始–豫––
邻o魔t鉴xt架橄拉拉–
获激溢–

12MsgBox

懂必–立s铅激ox


懂必–立s铅激ox–
– – –
精磅– 获迎精磅– 度–
点身魔邻鉴首– v迎点身魔邻鉴首– 必–
溢迎o龄t– v迎溢迎o龄t– 惊–
美鉴t龄y– v迎美鉴t龄y– 懂–
铅魔o龄鉴– v迎铅魔o龄鉴– 拉–
鉴s– v迎鉴s– 描–
篇o– v迎篇o– 操–

wwwplcworldcn
Excel 2002 VBA
104
立s铅鉴s篇o惊立s铅鉴s篇o必–
背u迎–立s铅鉴s篇o惊喧器––
熬集骤–黄u鉴st集o魔–溢s–背t龄集魔铅––
熬集骤–骤y激utto魔s–溢s–魔t鉴铅鉴龄––
熬集骤–骤y膳集t首鉴–溢s–背t龄集魔铅––
熬集骤–骤y点长o集邻鉴–溢s–魔t鉴铅鉴龄––

黄u鉴st集o魔–橄–便熬o–you–w身魔t–to–op鉴魔–身–魔鉴w–wo龄颜迎oo颜便––
骤y激utto魔s–橄–v迎鉴s篇o–增–v迎u鉴st集o魔–增–v迎熬鉴f身u首t激utto魔必––
骤y膳集t首鉴–橄–便篇鉴w–wo龄颜迎oo颜便––

骤y点长o集邻鉴–橄–立s铅激ox喧黄u鉴st集o魔始–骤y激utto魔s始–骤y膳集t首鉴器––
立s铅激ox–骤y点长o集邻鉴––
狂魔量–背u迎––
立s铅激ox骤y点长o集邻鉴立s铅激ox–
骤y点长o集邻鉴–橄–立s铅激ox喧黄u鉴st集o魔始–骤y激utto魔s始–骤y膳集t首鉴器–
立s铅鉴s篇o惊立s铅激ox–骤y点长o集邻鉴描
操–

––––
懂度度–立s铅激ox——–
立s铅激ox获激
立s铅激ox–

13 InputBox
魔put激ox——魔put激ox
–魔put激ox–
魔put激ox喧p龄o骤pt–装始–t集t首鉴言–装始–量鉴f身u首t言–装始–xpos言–装始–ypos言–豫–装始–长鉴首pf集首鉴始–邻o魔t鉴xt言器––

p龄o骤pt点长龄喧度惊器点长龄喧度嵌器
立s铅激ox–
t集t首鉴立集邻tosoft–狂x邻鉴首–
魔put激ox量鉴f身u首t–
xposypos
xposypos
xposypostw集ps
度tw集p嵌富嵌嵌嵌操–
长鉴首pf集首鉴邻o魔t鉴xt立s铅激ox–
魔put激ox–
度富 立y环u魔邻t集o魔s–喧点长身p嵌懂富x首s器背身骤p首鉴族–
必富 背身骤p首鉴族–
背u迎–魔fo龄骤身魔t喧器––
魔put激ox–p龄o骤pt架橄便狂魔t鉴龄–you龄–p首身邻鉴–of–迎集龄t长架便––点长龄喧度惊器–豫––
–便–喧鉴富铅富始–激osto魔始–理龄鉴身t–环身首首s始–鉴t邻富器–便––
狂魔量–背u迎––
立s铅激ox
魔fo龄骤身魔t必魔put激oxtow魔架–
wwwplcworldcn
Excel 2002 VBA
105
––––
懂度嵌–魔fo龄骤身魔t–

背u迎–魔fo龄骤身魔t必喧器––
熬集骤–骤y紫龄o骤pt–溢s–背t龄集魔铅––
熬集骤–tow魔–溢s–背t龄集魔铅––
点o魔st–骤y膳集t首鉴–橄–便狂魔t鉴龄–量身t身便––

骤y紫龄o骤pt–橄–便狂魔t鉴龄–you龄–p首身邻鉴–of–迎集龄t长架便––点长龄喧度惊器–豫––
–便喧鉴富铅富始–激osto魔始–理龄鉴身t–环身首首s始–鉴t邻富器便––
tow魔–橄–魔put激ox喧骤y紫龄o骤pt始–骤y膳集t首鉴器––
立s铅激ox–便ou–w鉴龄鉴–迎o龄魔–集魔–便––tow魔––便富便始–始–便ou龄–龄鉴spo魔s鉴便––
狂魔量–背u迎––
魔put激ox魔put激ox
魔fo龄骤身魔t必

魔put激oxxpos
ypos–
惊富 魔fo龄骤身魔t必魔put激ox–
tow魔–橄–魔put激ox喧骤y紫龄o骤pt始–骤y膳集t首鉴始–始–度始–必嵌嵌器–
骤y膳集t首鉴
骤y膳集t首鉴获激度
p龄o骤pt架橄骤y紫龄o骤pt始–t集t首鉴架橄骤y膳集t首鉴始–xpos架橄度始–ypos架橄必嵌嵌器–

魔put激ox
获激溢–

14
魔put激ox
获激狂x邻鉴首–
度富 背身骤p首鉴族溢量量膳wo篇u骤s–
背u迎–溢量量膳wo篇u骤s喧器––
熬集骤–骤y紫龄o骤pt–溢s–背t龄集魔铅––
熬集骤–v身首u鉴度–溢s–背t龄集魔铅––
点o魔st–骤y膳集t首鉴–橄–便狂魔t鉴龄–量身t身便––
熬集骤–骤y背u骤–溢s–背集魔铅首鉴––

骤y紫龄o骤pt–橄–便狂魔t鉴龄–身–魔u骤迎鉴龄架便––
v身首u鉴度–橄–魔put激ox喧骤y紫龄o骤pt始–骤y膳集t首鉴始–嵌器––
骤y背u骤–橄–v身首u鉴度–增–必––
立s铅激ox–骤y背u骤––便–喧便––v身首u鉴度––便–增–必器便––
狂魔量–背u迎–
wwwplcworldcn
Excel 2002 VBA
106

懂度度––
––––
懂度度魔put激ox
骤y膳集t首鉴立集邻龄osoft–狂x邻鉴首嵌
v身首u鉴度–
v身首u鉴度–橄–魔put激ox喧骤y紫龄o骤pt始–骤y膳集t首鉴始–嵌器–
v身首u鉴度–
立s铅激ox–v身龄膳yp鉴喧v身首u鉴度器–
获激族懂懂–

懂度必––
获激溢–


懂度惊––
狂x邻鉴首必嵌嵌嵌溢量量膳wo篇u骤s获激

骤ysu骤–橄–v身首u鉴度–增–必–
点背魔铅v身首u鉴度–
骤ysu骤–橄–点背魔铅喧v身首u鉴度器–增–必–

骤y背u骤–橄–v身首u鉴度–增–必必骤y背u骤v身首u鉴度
获激获激
立s铅激ox–

15 InputBox
魔put激ox魔put激ox集魔put迎ox获激魔put激ox——
狂x邻鉴首获激溢懂度必魔put激ox狂x邻鉴首魔put激ox

鉴xp龄鉴ss集o魔富魔put激ox喧紫龄o骤pt始–装膳集t首鉴言始–装熬鉴f身u首t言始–装种鉴ft言始–装膳op言始–装病鉴首p环集首鉴言始–装病鉴首p点o魔t鉴xt熬言始–装膳yp鉴言–器–
紫龄o骤pt膳集t首鉴熬鉴f身u首t
种鉴ft膳op紫o集魔t度属操必
病鉴首p环集首鉴病鉴首p点o魔t鉴xt熬魔put激ox
——膳yp鉴魔put激ox懂
惊–
wwwplcworldcn
Excel 2002 VBA
107

懂度必–获激–

懂惊–魔put激ox–
– –
嵌– –
度– –
必– –
懂– 膳龄u鉴环身首s鉴–
族– 美身魔铅鉴–
度描– 篇属溢–
描懂– –

惊膳yp鉴度必
魔put激ox获激溢–
度富 –
必富 背身骤p首鉴族蓄长身t美身魔铅鉴–
背u迎–蓄长身t美身魔铅鉴喧器––
熬集骤–魔鉴w美身魔铅鉴–溢s–美身魔铅鉴––
熬集骤–t鉴首首立鉴–溢s–背t龄集魔铅––
t鉴首首立鉴–橄–便花s鉴–t长鉴–骤ous鉴–to–s鉴首鉴邻t–身–龄身魔铅鉴架便––
背鉴t–魔鉴w美身魔铅鉴–橄–溢pp首集邻身t集o魔富魔put激ox喧p龄o骤pt架橄t鉴首首立鉴始–豫––
膳集t首鉴架橄便美身魔铅鉴–to–fo龄骤身t便始–豫––
膳yp鉴架橄族器––
魔鉴w美身魔铅鉴富篇u骤迎鉴龄环o龄骤身t–橄–便嵌富嵌嵌便––
魔鉴w美身魔铅鉴富背鉴首鉴邻t––
狂魔量–背u迎––
蓄长身t美身魔铅鉴——魔鉴w美身魔铅鉴
魔鉴w美身魔铅鉴背鉴t–
背鉴t–魔鉴w美身魔铅鉴–橄–溢pp首集邻身t集o魔富魔put激ox喧p龄o骤pt架橄t鉴首首立鉴始–豫––
膳集t首鉴架橄便美身魔铅鉴–to–fo龄骤身t便始–豫––
膳yp鉴架橄族器––
膳yp鉴架橄族–
wwwplcworldcn
Excel 2002 VBA
108
魔鉴w美身魔铅鉴富篇u骤迎鉴龄环o龄骤身t–橄–便嵌富嵌嵌便–

惊富 蓄长身t美身魔铅鉴获激–
懂富 获激–


懂嫌度惊–狂x邻鉴首魔put激ox–

拉富

描富
蓄长身t美身魔铅鉴狂s邻获激——
获激
获激精魔–狂龄龄o龄–理o膳o–

精魔–狂龄龄o龄–理o膳o––
获激获激
族–
操富 嫌–
族富 蓄长身t美身魔铅鉴蓄长身t美身魔铅鉴必–
背u迎–蓄长身t美身魔铅鉴必喧器––
熬集骤–魔鉴w美身魔铅鉴–溢s–美身魔铅鉴––
熬集骤–t鉴首首立鉴–溢s–背t龄集魔铅––
精魔–狂龄龄o龄–理o膳o–获鉴龄y狂魔量––
t鉴首首立鉴–橄–便花s鉴–t长鉴–骤ous鉴–to–s鉴首鉴邻t–身–龄身魔铅鉴架便––

wwwplcworldcn
Excel 2002 VBA
109
背鉴t–魔鉴w美身魔铅鉴–橄–溢pp首集邻身t集o魔富魔put激ox喧p龄o骤pt架橄t鉴首首立鉴始–豫––
膳集t首鉴架橄便美身魔铅鉴–to–fo龄骤身t便始–豫––
膳yp鉴架橄族器––
魔鉴w美身魔铅鉴富篇u骤迎鉴龄环o龄骤身t–橄–便嵌富嵌嵌便––
魔鉴w美身魔铅鉴富背鉴首鉴邻t––
获鉴龄y狂魔量架––
狂魔量–背u迎––
暗富 蓄长身t美身魔铅鉴必获激
获鉴龄y狂魔量获鉴龄y狂魔量膳长鉴–st身t鉴骤鉴魔ts–p首身邻鉴量–迎鉴tw鉴鉴魔–
精魔–狂龄龄o龄–理oto–获鉴龄y狂魔量–身魔量–t长鉴–获鉴龄y狂魔量–首身迎鉴首–身龄鉴–集铅魔o龄鉴量获激溢

懂嫌度懂––

 –
 –
 –

 –
 –
 –
 –

16
获激溢
获激溢
背u迎
溢迎out花s鉴龄


背u迎–溢迎out花s鉴龄喧器––
熬集骤–fu首首篇身骤鉴–溢s–背t龄集魔铅––
熬集骤–f集龄st篇身骤鉴–溢s–背t龄集魔铅––
熬集骤–首身st篇身骤鉴–溢s–背t龄集魔铅––
熬集骤–sp身邻鉴–溢s–魔t鉴铅鉴龄––

响铅鉴t–集魔put–f龄o骤–us鉴龄––
fu首首篇身骤鉴–橄–魔put激ox喧便狂魔t鉴龄–f集龄st–身魔量–首身st–魔身骤鉴架便器––

响铅鉴t–f集龄st–身魔量–首身st–魔身骤鉴–st龄集魔铅s––
sp身邻鉴–橄–魔背t龄喧fu首首篇身骤鉴始–便–便器––
f集龄st篇身骤鉴–橄–种鉴ft喧fu首首篇身骤鉴始–sp身邻鉴––度器––
首身st篇身骤鉴–橄–美集铅长t喧fu首首篇身骤鉴始–种鉴魔喧fu首首篇身骤鉴器––sp身邻鉴器––

响量集sp首身y–首身st–魔身骤鉴始–f集龄st–魔身骤鉴––
立s铅激ox–首身st篇身骤鉴––便始–便––f集龄st篇身骤鉴––
狂魔量–背u迎––
溢迎out花s鉴龄
理鉴t种身st理鉴t环集龄st

wwwplcworldcn
Excel 2002 VBA
110
度富 获激溢背身骤p首鉴暗–
必富 背身骤p首鉴暗溢迎out花s鉴龄立身st鉴龄–
背u迎–溢迎out花s鉴龄立身st鉴龄喧器––
熬集骤–f集龄st–溢s–背t龄集魔铅始–首身st–溢s–背t龄集魔铅始–fu首首–溢s–背t龄集魔铅––
点身首首–理鉴t花s鉴龄篇身骤鉴喧fu首首器––
f集龄st–橄–理鉴t环集龄st喧fu首首器––
首身st–橄–理鉴t种身st喧fu首首器––
点身首首–熬集sp首身y种身st环集龄st喧f集龄st始–首身st器––
狂魔量–背u迎–
点身首首–
理鉴t花s鉴龄篇身骤鉴–喧fu首首器理鉴t花s鉴龄篇身骤鉴——fu首首–
–点身首首
点身首首

惊富 理鉴t花s鉴龄篇身骤鉴–
背u迎–理鉴t花s鉴龄篇身骤鉴喧fu首首篇身骤鉴–溢s–背t龄集魔铅器––
fu首首篇身骤鉴–橄–魔put激ox喧便狂魔t鉴龄–f集龄st–身魔量–首身st–魔身骤鉴架便器––
狂魔量–背u迎––
理鉴t花s鉴龄篇身骤鉴获激–
理鉴t花s鉴龄篇身骤鉴fu首首fu首首篇身骤鉴
理鉴t花s鉴龄篇身骤鉴背u迎获激理鉴t花s鉴龄篇身骤鉴fu首首
fu首首篇身骤鉴获激fu首首篇身骤鉴
获激fu首首–
fu首首篇身骤鉴 溢s–背t龄集魔铅


懂嫌度拉–溢龄铅u骤鉴魔ts紫身龄身骤鉴t鉴龄s–
 –
 –

懂富 理鉴t环集龄st–
环u魔邻t集o魔–理鉴t环集龄st喧fu首首篇身骤鉴–溢s–背t龄集魔铅器––
熬集骤–sp身邻鉴–溢s–魔t鉴铅鉴龄––
sp身邻鉴–橄–魔背t龄喧fu首首篇身骤鉴始–便–便器––
理鉴t环集龄st–橄–种鉴ft喧fu首首篇身骤鉴始–sp身邻鉴–嫌–度器––
狂魔量–环u魔邻t集o魔––
f集龄st–橄–理鉴t环集龄st喧fu首首器fu首首理鉴t环集龄stfu首首篇身骤鉴
sp身邻鉴
获激溢魔背t龄fu首首篇身骤鉴–sp身邻鉴
种鉴ftfu首首篇身骤鉴sp身邻鉴–嫌度sp身邻鉴
获激f集龄st–
拉富 理鉴t种身st–
环u魔邻t集o魔–理鉴t种身st喧fu首首篇身骤鉴–溢s–背t龄集魔铅器––
熬集骤–sp身邻鉴–溢s–魔t鉴铅鉴龄––
sp身邻鉴–橄–魔背t龄喧fu首首篇身骤鉴始–便–便器––
理鉴t种身st–橄–美集铅长t喧fu首首篇身骤鉴始–种鉴魔喧fu首首篇身骤鉴器–嫌–sp身邻鉴器––
狂魔量–环u魔邻t集o魔––
首身st–橄–理鉴t种身st喧fu首首器fu首首理鉴t种身st
理鉴t种身st种鉴魔fu首首篇身骤鉴美集铅长t
fu首首篇身骤鉴种鉴魔喧fu首首篇身骤鉴器––sp身邻鉴
wwwplcworldcn
Excel 2002 VBA
111
首身st–
描富 熬集sp首身y种身st环集龄st–
背u迎–熬集sp首身y种身st环集龄st喧f集龄st篇身骤鉴–溢s–背t龄集魔铅始–首身st篇身骤鉴–溢s–背t龄集魔铅器––
立s铅激ox–首身st篇身骤鉴––便始–便––f集龄st篇身骤鉴––
狂魔量–背u迎––
点身首首–熬集sp首身y种身st环集龄st喧f集龄st始–首身st器熬集sp首身y种身st环集龄st
f集龄st首身st熬集sp首身y种身st环集龄stf集龄st篇身骤鉴首身st篇身骤鉴
熬集sp首身y种身st环集龄st


懂嫌度描––
 –
 –
 –
 –

17

获激–
获激溢 激y获身首激y美鉴f精pt集o魔身首


立s铅激ox魔put激ox
获激溢–

VBA

着u首集tt身–磅o龄o首–– 膳集铅鉴龄–点长鉴魔–着身魔–度描’–必嵌嵌拉–
––––

获激溢



获激溢
获激溢


1
获激溢拉嫌度
拉嫌必获激–

拉嫌度–获激溢–
– –
橄– –
榄– –
wwwplcworldcn
Excel 2002 VBA
112
– –
榄– –
橄– –
榄橄– –

拉嫌必–获激溢–
– –
溢篇熬– 膳美花狂–
精美– 膳美花狂–
篇精膳– 篇精膳
篇精膳–

2IfThen
获激溢 f膳长鉴魔

f–膳长鉴魔––


f–溢邻t集v鉴点鉴首首–橄–便便–膳长鉴魔–背鉴首鉴邻t集o魔富狂魔t集龄鉴美ow富熬鉴首鉴t鉴–
获激膳长鉴魔–

f膳长鉴魔–
f–膳长鉴魔–
度–
必–
篇–
狂魔量–f –
拉嵌–
f–溢邻t集v鉴点鉴首首富获身首u鉴–拉嵌–膳长鉴魔––
立s铅激ox–便膳长鉴–鉴x身邻t–v身首u鉴–集s–便––溢邻t集v鉴点鉴首首富获身首u鉴––
熬鉴迎u铅富紫龄集魔t–溢邻t集v鉴点鉴首首富溢量龄鉴ss––便架–便––溢邻t集v鉴点鉴首首富获身首u鉴––
狂魔量–f–
拉嵌膳长鉴魔狂魔量–ff膳长鉴魔
狂魔量–f获激f膳长鉴魔
溢邻t集v鉴点鉴首首富获身首u鉴–拉嵌–
度富 拉嵌–
必富 获激–
惊富 –
懂富 –
–溢邻t集v鉴点鉴首首富获身首u鉴–拉嵌–
获激——f身首s鉴获激膳长鉴魔

拉富 获激–
–溢邻t集v鉴点鉴首首富获身首u鉴–榄橄–拉嵌–
t龄u鉴获激膳长鉴魔–
描富 –

获激获激溢 f膳长鉴魔–
度富 点长身p嵌拉富x首s–
wwwplcworldcn
Excel 2002 VBA
113
必富 获激获激溢熬鉴邻集s集o魔s–
惊富 f膳长鉴魔–
懂富 f膳长鉴魔–
背u迎–背集骤p首鉴f膳长鉴魔喧器––
熬集骤–w鉴鉴颜s–溢s–背t龄集魔铅––
w鉴鉴颜s–橄–魔put激ox喧便病ow–骤身魔y–w鉴鉴颜s–身龄鉴–集魔–身–y鉴身龄架便始–便u集z便器––
f–w鉴鉴颜s榄拉必–膳长鉴魔–立s铅激ox–便膳龄y–溢铅身集魔便––
狂魔量–背u迎––
背集骤p首鉴f膳长鉴魔w鉴鉴颜s拉必
w鉴鉴颜s拉必获激膳龄y–溢铅身集魔–
拉富 背集骤p首鉴f膳长鉴魔拉必–
描富 背集骤p首鉴f膳长鉴魔拉必获激

操富 狂魔量–背u迎–
f–w鉴鉴颜s–橄–拉必–膳长鉴魔–立s铅激ox–便点o魔铅龄身tu首身t集o魔s便–
族富 背集骤p首鉴f膳长鉴魔拉必获激立s铅激ox–膳龄y–溢铅身集魔富
膳长鉴魔获激溢


拉嫌度–f膳长鉴魔–
f膳长鉴魔——–
f–s鉴邻龄鉴t点o量鉴–榄–嵌度蓄嵌度–膳长鉴魔–立s铅激ox–溢邻邻鉴ss–量鉴魔集鉴量–

f–s鉴邻龄鉴t点o量鉴–橄–嵌度蓄嵌度–膳长鉴魔–身首p长身橄膳龄u鉴–架–迎鉴t身–橄–环身首s鉴–
s鉴邻龄鉴点o量鉴身首p长身迎鉴t身s鉴邻龄鉴t点o量鉴嵌度蓄嵌度获激
溢邻邻鉴ss–量鉴魔集鉴量s鉴邻龄鉴t点o量鉴嵌度蓄嵌度获激身首p长身迎鉴t身

f膳长鉴魔–
f–溢邻t集v鉴背长鉴鉴t富篇身骤鉴–橄–便背长鉴鉴t度便–膳长鉴魔––
溢邻t集v鉴背长鉴鉴t富立ov鉴–身ft鉴龄架橄背长鉴鉴ts–豫––
喧蓄o龄颜s长鉴鉴ts富点ou魔t器––
狂魔量–f–
获激背长鉴鉴t度溢邻t集v鉴背长鉴鉴t–富篇身骤鉴–橄–背长鉴鉴t度获激
膳长鉴魔–

暗富 背集骤p首鉴f膳长鉴魔f–
f–w鉴鉴颜s–榄–拉必–膳长鉴魔–立s铅激ox–便膳龄y–溢铅身集魔便–架–背集骤p首鉴f膳长鉴魔––
背集骤p首鉴f膳长鉴魔背集骤p首鉴f膳长鉴魔
——

精魔–狂龄龄o龄–理o膳o
背集骤p首鉴f膳长鉴魔架–
背u迎–背集骤p首鉴f膳长鉴魔喧器––
熬集骤–w鉴鉴颜s–溢s–背t龄集魔铅––
精魔–狂龄龄o龄–理o膳o–获鉴龄y狂魔量––
w鉴鉴颜s–橄–魔put激ox喧便病ow–骤身魔y–w鉴鉴颜s–身龄鉴–集魔–身–y鉴身龄架便始–便u集z便器––
f–w鉴鉴颜s榄拉必–膳长鉴魔–立s铅激ox–便膳龄y–溢铅身集魔便架–背集骤p首鉴f膳长鉴魔––
f–w鉴鉴颜s橄拉必–膳长鉴魔–立s铅激ox–便点o魔铅龄身tu首身t集o魔s便––
获鉴龄y狂魔量架––
狂魔量–背u迎––
wwwplcworldcn
Excel 2002 VBA
114
度嵌富 背集骤p首鉴f膳长鉴魔


3
背集骤p首鉴f膳长鉴魔f膳长鉴魔
溢篇熬精美拉嫌必f膳长鉴魔溢篇熬–
f–度–溢篇熬–必–膳长鉴魔––
度必获激膳长鉴魔–
f–s身首鉴s–橄–度嵌嵌嵌嵌–溢篇熬–s身首身龄y–榄懂拉嵌嵌嵌–膳长鉴魔–背首s点o骤–橄–背身首鉴s–城–嵌富嵌操––
度–s身首鉴s橄度嵌嵌嵌嵌必–s身首身龄y榄懂拉嵌嵌嵌溢篇熬获激
背首s点o骤获激膳长鉴魔
精美–
f–度–精美–必–膳长鉴魔––
精美获激膳长鉴魔–
f–量鉴pt–橄–便背便–精美–量鉴pt–橄–便立便–膳长鉴魔–迎o魔us–橄–拉嵌嵌––
获激迎o魔us拉嵌嵌获激–
拉嵌度嵌势减操富嵌嵌f膳长鉴魔溢魔量
溢篇熬–
度富 熬鉴邻集s集o魔s–喧点长身p嵌拉富x首s器f膳长鉴魔–
背u迎–f膳长鉴魔溢魔量喧器––
熬集骤–p龄集邻鉴–溢s–背集魔铅首鉴––
熬集骤–u魔集ts–溢s–魔t鉴铅鉴龄––
熬集骤–龄鉴迎身t鉴–溢s–背集魔铅首鉴––

点o魔st–st龄骤s铅度–橄–便膳o–铅鉴t–身–龄鉴迎身t鉴–you–骤ust–迎uy–身魔–身量量集t集o魔身首–便––
点o魔st–st龄骤s铅必–橄–便紫龄集邻鉴–骤ust–鉴黄u身首–减操富嵌嵌便––
u魔集ts–橄–美身魔铅鉴喧便激度便器富获身首u鉴––
p龄集邻鉴–橄–美身魔铅鉴喧便激必便器富获身首u鉴––

f–p龄集邻鉴–橄–操–溢篇熬–u魔集ts–橄–拉嵌–膳长鉴魔––
龄鉴迎身t鉴–橄–喧p龄集邻鉴–城–u魔集ts器–城–嵌富度––
美身魔铅鉴喧便溢懂便器富获身首u鉴–橄–便膳长鉴–龄鉴迎身t鉴–集s架–减便––龄鉴迎身t鉴––
狂魔量–f––

f–p龄集邻鉴–橄–操–溢篇熬–u魔集ts–榄–拉嵌–膳长鉴魔––
美身魔铅鉴喧便溢懂便器富获身首u鉴–橄–st龄骤s铅度––拉嵌–嫌–u魔集ts––便–u魔集t喧s器富便––
狂魔量–f––

f–p龄集邻鉴–榄–操–溢篇熬–u魔集ts–橄–拉嵌–膳长鉴魔––
美身魔铅鉴喧便溢懂便器富获身首u鉴–橄–st龄骤s铅必––
狂魔量–f––
f–p龄集邻鉴–榄–操–溢篇熬–u魔集ts–榄–拉嵌–膳长鉴魔––
美身魔铅鉴喧便溢懂便器富获身首u鉴–橄–便ou–量集量魔响t–骤鉴鉴t–t长鉴–邻龄集t鉴龄集身富便––
狂魔量–f––
狂魔量–背u迎––
f膳长鉴魔溢魔量f膳长鉴魔p龄集邻鉴u魔集tsf膳长鉴魔溢篇熬
溢篇熬获激膳长鉴魔狂魔量
狂x邻鉴首–
必富 狂x邻鉴首嫌嫌–
wwwplcworldcn
Excel 2002 VBA
115
惊富 f膳长鉴魔溢魔量–
懂富 点t龄首增背长集ft增–
拉富 –

描富 点t龄首增背长集ft增f膳长鉴魔溢魔量–
操富 激度激必f膳长鉴魔–

拉嫌必–f–
f–
f–邻o魔量集t集o魔–膳长鉴魔––
身邻t集o魔度––
狂魔量–f–
f–邻o魔量集t集o魔–膳长鉴魔––
身邻t集o魔––
狂魔量–f–


4The IfThenElse

狂首s鉴
f膳长鉴魔狂首s鉴——–
f––膳长鉴魔–度–狂首s鉴–必–
膳长鉴魔狂首s鉴–
f–背身首鉴s拉嵌嵌嵌–膳长鉴魔–激o魔us–橄–背身首鉴s–城–嵌富嵌拉–狂首s鉴–立s铅激ox–篇o–激o魔us––
背身首鉴s拉嵌嵌嵌获激背身首鉴s–城–嵌富嵌拉迎o魔us背身首鉴s
拉嵌嵌嵌获激篇o–激o魔usf膳长鉴魔狂首s鉴
f膳长鉴魔狂首s鉴–
f––膳长鉴魔––
––
狂首s鉴––
––
狂魔量–f –
f膳长鉴魔狂首s鉴狂魔量–f
溢邻t集v鉴背长鉴鉴t富篇身骤鉴–橄–背长鉴鉴t度获激膳长鉴魔狂首s鉴狂首s鉴狂魔量–f
获激膳长鉴魔狂首s鉴狂首s鉴狂魔量–f–
f–溢邻t集v鉴背长鉴鉴t富篇身骤鉴–橄–便背长鉴鉴t度便–膳长鉴魔––
溢邻t集v鉴背长鉴鉴t富篇身骤鉴–橄–便立y–背长鉴鉴t便–立s铅激ox–便膳长集s–s长鉴鉴t–长身s–迎鉴鉴魔–龄鉴魔身骤鉴量富便––
狂首s鉴––
立s铅激ox–便膳长集s–s长鉴鉴t–魔身骤鉴–集s–魔ot–量鉴f身u首t富便––
狂魔量–f––

度富 熬鉴邻集s集o魔s喧点长身p嵌拉富x首s器–
必富 f膳长鉴魔狂首s鉴–
惊富 蓄长身t膳yp鉴精f熬身y–
背u迎–蓄长身t膳yp鉴精f熬身y喧器––
熬集骤–龄鉴spo魔s鉴–溢s–背t龄集魔铅––
熬集骤–黄u鉴st集o魔–溢s–背t龄集魔铅––
wwwplcworldcn
Excel 2002 VBA
116
熬集骤–st龄骤s铅度–溢s–背t龄集魔铅始–st龄骤s铅必–溢s–背t龄集魔铅––
熬集骤–骤y熬身t鉴–溢s–熬身t鉴––

黄u鉴st集o魔–橄–便狂魔t鉴龄–身魔y–量身t鉴–集魔–t长鉴–fo龄骤身t–骤骤属量量属yyyy架便–豫––
–点长龄喧度惊器–便–喧鉴富铅富始–度度属必必属度暗暗暗器便––
st龄骤s铅度–橄–便w鉴鉴颜量身y便––
st龄骤s铅必–橄–便w鉴鉴颜鉴魔量便––

龄鉴spo魔s鉴–橄–魔put激ox喧黄u鉴st集o魔器––
骤y熬身t鉴–橄–蓄鉴鉴颜量身y喧点熬身t鉴喧龄鉴spo魔s鉴器器––
f–骤y熬身t鉴–橄–必–溢篇熬–骤y熬身t鉴–榄橄–描–膳长鉴魔––
立s铅激ox–st龄骤s铅度––
狂首s鉴––
立s铅激ox–st龄骤s铅必––
狂魔量–f––
狂魔量–背u迎––
点熬身t鉴熬身t鉴蓄鉴鉴颜量身y
拉嫌惊骤y熬身t鉴骤y熬身t鉴
必描


拉嫌惊–蓄鉴鉴颜量身y–
– –
v迎背u魔量身y– 度–
v迎立o魔量身y– 必–
v迎膳u鉴s量身y– 惊–
v迎蓄鉴量魔鉴s量身y– 懂–
v迎膳长u龄s量身y– 拉–
v迎环龄集量身y– 描–
v迎背身tu龄量身y– 操–

懂富 获激获激–

拉嫌惊––


理o膳o
——–
––
背u迎–理o膳o熬鉴骤o喧器––
熬集骤–魔u骤始–骤yst龄––
魔u骤–橄–度––
f–魔u骤–橄–度–膳长鉴魔––
理o膳o–首集魔鉴度––
狂首s鉴––
理o膳o–种集魔鉴必––
种集魔鉴度架––
骤yst龄–橄–篇u骤迎鉴龄–鉴黄u身首s–度––
理o膳o–种身st种集魔鉴––
种集魔鉴必架––
wwwplcworldcn
Excel 2002 VBA
117
骤yst龄–橄–篇u骤迎鉴龄–鉴黄u身首s–必––
种身st种集魔鉴架––
熬鉴迎u铅富紫龄集魔t–骤yst龄––
狂魔量–su迎––


背u迎–背t龄u邻tu龄鉴喧器––
熬集骤–魔u骤始–骤yst龄––
魔u骤–橄–度––

f–魔u骤–橄–度–膳长鉴魔––
骤yst龄–橄–篇u骤迎鉴龄–鉴黄u身首s–度––
熬鉴迎u铅富紫龄集魔t–骤yst龄––
狂首s鉴––
骤yst龄–橄–篇u骤迎鉴龄–鉴黄u身首s–必––
狂魔量–集f––
狂魔量–背u迎––
获激溢理o膳o
理o膳o


f膳长鉴魔狂首s鉴–
背u迎–狂魔t鉴龄熬身t身喧器––
熬集骤–邻鉴首首–溢s–精迎面鉴邻t––
熬集骤–st龄骤s铅–溢s–背t龄集魔铅––

精魔–狂龄龄o龄–理o膳o–获鉴龄y狂魔量––
st龄骤s铅–橄–便背鉴首鉴邻t–身魔y–邻鉴首首架便––
背鉴t–邻鉴首首–橄–溢pp首集邻身t集o魔富魔put激ox喧p龄o骤pt架橄st龄骤s铅始–膳yp鉴架橄族器–邻鉴首首富背鉴首鉴邻t––
f–s狂骤pty喧溢邻t集v鉴点鉴首首器–膳长鉴魔––
溢邻t集v鉴点鉴首首富环o龄骤u首身–橄–魔put激ox喧便狂魔t鉴龄–t鉴xt–o龄–魔u骤迎鉴龄架便器––
狂首s鉴––
溢邻t集v鉴点鉴首首富精ffs鉴t喧度始–嵌器富背鉴首鉴邻t––
狂魔量–f––
获鉴龄y狂魔量架––
狂魔量–背u迎––
狂魔t鉴龄熬身t身邻鉴首首f膳长鉴魔狂首s鉴
s狂骤ptys狂骤pty
t龄u鉴获激

f–s狂骤pty喧溢邻t集v鉴点鉴首首器–膳长鉴魔–

f–溢邻t集v鉴点鉴首首富获身首u鉴–橄–便便–膳长鉴魔––
膳长鉴魔
获激狂首s鉴获激

获激t龄u鉴f身首s鉴t龄u鉴膳长鉴魔
f身首s鉴狂首s鉴–

wwwplcworldcn
Excel 2002 VBA
118
5IfThenElseIf
狂首s鉴fff膳长鉴魔狂首s鉴f
f膳长鉴魔狂首s鉴f膳长鉴魔狂首s鉴f–
f–度–膳长鉴魔––
度––
狂首s鉴f–必–膳长鉴魔––
必––
狂首s鉴f–惊–膳长鉴魔––
惊––
狂首s鉴f–篇–膳长鉴魔––
篇––
狂首s鉴––
––
狂魔量–f–
狂首s鉴–

拉嫌懂–狂首s鉴f–
狂首s鉴f狂首s鉴f狂首s鉴狂首s鉴f



f–溢邻t集v鉴点鉴首首富获身首u鉴–橄–嵌–膳长鉴魔––
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便z鉴龄o便––
狂首s鉴f–溢邻t集v鉴点鉴首首富获身首u鉴–嵌–膳长鉴魔––
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便pos集t集v鉴便––
狂首s鉴f–溢邻t集v鉴点鉴首首富获身首u鉴–榄嵌–膳长鉴魔––
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便魔鉴铅身t集v鉴便––
狂魔量–f––
狂首s鉴
溢邻t集v鉴点鉴首首富获身首u鉴–橄–嵌获激狂首s鉴f溢邻t集v鉴点鉴首首富获身首u鉴嵌
嵌获激狂首s鉴f溢邻t集v鉴点鉴首首富获身首u鉴榄嵌–
f膳长鉴魔狂首s鉴–
度富 –
必富 f膳长鉴魔狂首s鉴f–
惊富 蓄长身t获身首u鉴架–
背u迎–蓄长身t获身首u鉴喧器––
美身魔铅鉴喧便溢度便器富背鉴首鉴邻t––
f–溢邻t集v鉴点鉴首首富获身首u鉴–橄–嵌–膳长鉴魔––
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便z鉴龄o便––
狂首s鉴f–溢邻t集v鉴点鉴首首富获身首u鉴––嵌–膳长鉴魔––
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便pos集t集v鉴便––
狂首s鉴f–溢邻t集v鉴点鉴首首富获身首u鉴–榄–嵌–膳长鉴魔––
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便魔鉴铅身t集v鉴便––
狂魔量–f–喧 狂魔量–f 器–
狂魔量–f––
狂魔量–背u迎–
蓄长身t获身首u鉴–
懂富 –
溢pp首集邻身t集o魔富精魔磅鉴y–便词增y便始–便蓄长身t获身首u鉴便–
wwwplcworldcn
Excel 2002 VBA
119
获激精魔磅鉴y蓄长身t获身首u鉴点t龄首增背长集ft增——
狂x邻鉴首狂x邻鉴首嫌嫌–
拉富 狂x邻鉴首背长鉴鉴t度–
描富 溢度嵌点t龄首增背长集ft增获激蓄长身t获身首u鉴激度z鉴龄o–
操富 溢度嵌点t龄首增背长集ft增获激蓄长身t获身首u鉴获激
狂首s鉴f获激膳长鉴魔狂魔量–
f狂魔量–f激度pos集t集v鉴–
族富 溢度嵌点t龄首增背长集ft增获激
获激激度魔鉴铅身t集v鉴–
暗富 溢度点t龄首增背长集ft增获激pos集t集v鉴
获激t鉴xt蓄长身t获身首u鉴
f膳长鉴魔–

6 IfThen
f膳长鉴魔f膳长鉴魔狂首s鉴f膳长鉴魔f膳长鉴魔狂首s鉴获激溢
fff–
膳鉴st点o魔量集t集o魔s蓄长身t获身首u鉴f膳长鉴魔–
背u迎–膳鉴st点o魔量集t集o魔s喧器––
美身魔铅鉴喧便溢度便器富背鉴首鉴邻t––
f–s狂骤pty喧溢邻t集v鉴点鉴首首器–膳长鉴魔–f–s狂骤pty喧溢邻t集v鉴点鉴首首器–膳长鉴魔–f–s狂骤pty喧溢邻t集v鉴点鉴首首器–膳长鉴魔–f–s狂骤pty喧溢邻t集v鉴点鉴首首器–膳长鉴魔–––––
立s铅激ox–便膳长鉴–邻鉴首首–集s–鉴骤pty富便––
狂首s鉴–狂首s鉴–狂首s鉴–狂首s鉴–––––
f–s篇u骤鉴龄集邻喧溢邻t集v鉴点鉴首首富获身首u鉴器–膳长鉴魔– –
f–溢邻t集v鉴点鉴首首富获身首u鉴–橄–嵌–膳长鉴魔– –
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便z鉴龄o便––
狂首s鉴f–溢邻t集v鉴点鉴首首富获身首u鉴––嵌–膳长鉴魔– –
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便pos集t集v鉴便––
狂首s鉴f–溢邻t集v鉴点鉴首首富获身首u鉴–榄–嵌–膳长鉴魔– –
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便魔鉴铅身t集v鉴便––
狂魔量–f– –
狂首s鉴– –
溢邻t集v鉴点鉴首首富精ffs鉴t喧嵌始–度器富获身首u鉴–橄–便t鉴xt便––
狂魔量–f– –
狂魔量–f–狂魔量–f–狂魔量–f–狂魔量–f–––––
狂魔量–背u迎––
膳鉴st点o魔量集t集o魔sf膳长鉴魔
f膳长鉴魔–
f获激狂首s鉴狂魔量–f
狂魔量–背u迎–
s狂骤pty–喧溢邻t集v鉴点鉴首首器获激狂首s鉴f
f膳长鉴魔狂首s鉴f
s篇u骤鉴龄集邻获激狂首s鉴激度
t鉴xt获激f–
fff–

拉嫌拉––


wwwplcworldcn
Excel 2002 VBA
120
7Select Case
f背鉴首鉴邻t–点身s鉴–
背鉴首鉴邻t–点身s鉴– ––
点身s鉴–度––
度 ––
点身s鉴–必–
必 ––
点身s鉴–篇–
篇 –
点身s鉴–狂首s鉴––
––
狂魔量–背鉴首鉴邻t––
背鉴首鉴邻t–点身s鉴狂魔量–背鉴首鉴邻t点身s鉴–狂首s鉴
背鉴首鉴邻t–点身s鉴获激–
背鉴首鉴邻t–点身s鉴获激背鉴首鉴邻t–点身s鉴点身s鉴
获激点身s鉴狂魔量–背鉴首鉴邻t
点身s鉴获激点身s鉴
点身s鉴获激点身s鉴–狂首s鉴
狂魔量–背鉴首鉴邻t点身s鉴–狂首s鉴点身s鉴–狂首s鉴点身s鉴
获激狂魔量–背鉴首鉴邻t–
背鉴首鉴邻t–点身s鉴立s铅激ox
立s铅激ox背鉴首鉴邻t–点身s鉴–
度富 –
必富 背鉴首鉴邻t点身s鉴富–
惊富 膳鉴st激utto魔s架–
背u迎–膳鉴st激utto魔s喧器––
熬集骤–黄u鉴st集o魔–溢s–背t龄集魔铅––
熬集骤–迎ts–溢s–魔t鉴铅鉴龄––
熬集骤–骤y膳集t首鉴–溢s–背t龄集魔铅––
熬集骤–骤y激utto魔–溢s–魔t鉴铅鉴龄––

黄u鉴st集o魔–橄–便熬o–you–w身魔t–to–op鉴魔–身–魔鉴w–wo龄颜迎oo颜便––
迎ts–橄–v迎鉴s篇o点身魔邻鉴首–增–v迎u鉴st集o魔–增–v迎熬鉴f身u首t激utto魔度––
骤y膳集t首鉴–橄–便篇鉴w–蓄o龄颜迎oo颜便––

骤y激utto魔–橄–立s铅激ox喧p龄o骤pt架橄黄u鉴st集o魔始–迎utto魔s架橄迎ts始–豫–t集t首鉴架橄骤y膳集t首鉴器––

背鉴首鉴邻t–点身s鉴–骤y激utto魔––
点身s鉴–描––
蓄o龄颜迎oo颜s富溢量量––
点身s鉴–操––
立s铅激ox–便ou–邻身魔–op鉴魔–身–魔鉴w–迎oo颜–骤身魔u身首首y–首身t鉴龄富便––
点身s鉴–狂首s鉴––
立s铅激ox–便ou–p龄鉴ss鉴量–点身魔邻鉴首富便––
狂魔量–背鉴首鉴邻t––

狂魔量–背u迎––
膳鉴st激utto魔s骤y激utto魔–
骤y激utto魔v迎鉴s描骤y激utto魔
wwwplcworldcn
Excel 2002 VBA
121
v迎篇o操骤y激utto魔v迎点身魔邻鉴首必–
背鉴首鉴邻t–点身s鉴骤y激utto魔点身s鉴点身s鉴–
膳鉴st激utto魔s–
背鉴首鉴邻t–点身s鉴–骤y激utto魔––
点身s鉴–v迎鉴s––
蓄o龄颜迎oo颜s富溢量量––
点身s鉴–v迎篇o––
立s铅激ox–便ou–邻身魔–op鉴魔–身–魔鉴w–迎oo颜–骤身魔u身首首y–首身t鉴龄富便––
点身s鉴–狂首s鉴––
立s铅激ox–便ou–p龄鉴ss鉴量–点身魔邻鉴首富便––
狂魔量–背鉴首鉴邻t––
狂首s鉴背鉴首鉴邻t–点身s鉴–
背鉴首鉴邻t–点身s鉴–骤y激utto魔––
点身s鉴–v迎鉴s––
蓄o龄颜迎oo颜s富溢量量––
点身s鉴–v迎篇o––
立s铅激ox–便ou–邻身魔–op鉴魔–身–魔鉴w–迎oo颜–骤身魔u身首首y–首身t鉴龄富便––
点身s鉴–v迎点身魔邻鉴首––
立s铅激ox–便ou–p龄鉴ss鉴量–点身魔邻鉴首富便––
狂魔量–背鉴首鉴邻t––
懂富 膳鉴st激utto魔s–

拉嫌描–点身s鉴–狂首s鉴–
背鉴首鉴邻t–点身s鉴点身s鉴–狂首s鉴点身s鉴–狂首s鉴


8 Case Is
拉嫌度
s点身s鉴s背鉴首鉴邻t–点身s鉴–
背鉴首鉴邻t–点身s鉴– ––
点身s鉴–s–度–
度–
点身s鉴–s–必–
必–
点身s鉴–s–篇–
篇–
狂魔量–背鉴首鉴邻t –

背鉴首鉴邻t–点身s鉴–骤y篇u骤迎鉴龄––
点身s鉴–s–榄度嵌––
立s铅激ox–便膳长鉴–魔u骤迎鉴龄–集s–首鉴ss–t长身魔–度嵌便––
点身s鉴–度度––
立s铅激ox–便ou–鉴魔t鉴龄鉴量–鉴首鉴v鉴魔富便––
点身s鉴–s–橄度嵌嵌––
立s铅激ox–便膳长鉴–魔u骤迎鉴龄–集s–铅龄鉴身t鉴龄–t长身魔–o龄–鉴黄u身首–to–度嵌嵌富便––
点身s鉴–狂首s鉴––
立s铅激ox–便膳长鉴–魔u骤迎鉴龄–集s–迎鉴tw鉴鉴魔–度必–身魔量–暗暗富便––
狂魔量–背鉴首鉴邻t––
骤y篇u骤迎鉴龄度必嵌点身s鉴 点身s鉴–s–橄度嵌嵌点身s鉴–狂首s鉴–
wwwplcworldcn
Excel 2002 VBA
122

9 Case
点身s鉴点身s鉴
膳o–
背鉴首鉴邻t–点身s鉴–u魔集ts背o首量––
点身s鉴–度–to–度嵌嵌––
熬集s邻ou魔t–橄–嵌富嵌拉––
点身s鉴–s–榄橄–拉嵌嵌––
熬集s邻ou魔t–橄–嵌富度––
点身s鉴–拉嵌度–to–度嵌嵌嵌––
熬集s邻ou魔t–橄–嵌富度拉––
点身s鉴–s–度嵌嵌嵌––
熬集s邻ou魔t–橄–嵌富必––
狂魔量–背鉴首鉴邻t––
背鉴首鉴邻t–点身s鉴u魔集ts背o首量暗暗获激u魔集ts背o首量点身s鉴
点身s鉴膳ou魔集ts背o首量橄暗暗
点身s鉴获激嵌富嵌拉熬集s邻ou魔t点身s鉴暗暗
拉嵌嵌获激熬集s邻ou魔t橄嵌富度获激点身s鉴点身s鉴
狂魔量–背鉴首鉴邻t–
背鉴首鉴邻t–点身s鉴

度富 背鉴首鉴邻t点身s鉴–
背u迎–熬集sp首身y熬集s邻ou魔t喧器––
熬集骤–u魔集ts背o首量–溢s–魔t鉴铅鉴龄––
熬集骤–骤y熬集s邻ou魔t–溢s–背集魔铅首鉴––
u魔集ts背o首量–橄–魔put激ox喧便狂魔t鉴龄–t长鉴–魔u骤迎鉴龄–of–so首量–u魔集ts架便器––
骤y熬集s邻ou魔t–橄–理鉴t熬集s邻ou魔t喧u魔集ts背o首量器––
立s铅激ox–骤y熬集s邻ou魔t––
狂魔量–背u迎––
必富 –
环u魔邻t集o魔–理鉴t熬集s邻ou魔t喧u魔集ts背o首量–溢s–魔t鉴铅鉴龄器––
背鉴首鉴邻t–点身s鉴–u魔集ts背o首量––
点身s鉴–度–膳o–必嵌嵌––
理鉴t熬集s邻ou魔t–橄–嵌富嵌拉––
点身s鉴–s–榄橄拉嵌嵌––
理鉴t熬集s邻ou魔t–橄–嵌富度––
点身s鉴–拉嵌度–膳o–度嵌嵌嵌––
理鉴t熬集s邻ou魔t–橄–嵌富度拉––
点身s鉴–s–度嵌嵌嵌––
理鉴t熬集s邻ou魔t–橄–嵌富必––
狂魔量–背鉴首鉴邻t––
狂魔量–环u魔邻t集o魔––
惊富 熬集sp首身y熬集s邻ou魔t环拉–
熬集sp首身y熬集s邻ou魔tu魔集ts背o首量理鉴t熬集s邻ou魔t获激背鉴首鉴邻t–点身s鉴点身s鉴
u魔集ts背o首量获激喧嵌富嵌拉器狂魔量–
背鉴首鉴邻t获激——熬集sp首身y熬集s邻ou魔t
骤y熬集s邻ou魔t–

wwwplcworldcn
Excel 2002 VBA
123
10 Case
点身s鉴–
背鉴首鉴邻t–点身s鉴–骤y立o魔t长––
点身s鉴–便着身魔u身龄y便始–便环鉴迎龄u身龄y便始–便立身龄邻长便––
熬鉴迎u铅富紫龄集魔t–骤y立o魔t长––便架–度st–t龄富便––
点身s鉴–便溢p龄集首便始–便立身y便始–便着u魔鉴便––
熬鉴迎u铅富紫龄集魔t–骤y立o魔t长––便架–必魔量–t龄富便––
点身s鉴–便着u首y便始–便溢u铅ust便始–便背鉴pt鉴骤迎鉴龄便––
熬鉴迎u铅富紫龄集魔t–骤y立o魔t长––便架–惊龄量–t龄富便––
点身s鉴–便精邻to迎鉴龄便始–便篇ov鉴骤迎鉴龄便始–便熬鉴邻鉴骤迎鉴龄便––
熬鉴迎u铅富紫龄集魔t–骤y立o魔t长––便架–懂t长–t龄富便––
狂魔量–背鉴首鉴邻t––

拉嫌操–点身s鉴–
点身s鉴f精美点身s鉴


11



 f膳长鉴魔–
 f膳长鉴魔狂首s鉴–
 f膳长鉴魔狂首s鉴f背鉴首鉴邻t–点身s鉴–
 背鉴首鉴邻t–点身s鉴f膳长鉴魔狂首s鉴f–




VBA

着u首集tt身–磅o龄o首–– 膳集铅鉴龄–点长鉴魔–环鉴迎–度’–必嵌嵌拉–

获激溢

获激溢


1Do Loops DoWhile DoUntil
获激熬o熬o蓄长集首鉴

熬o–蓄长集首鉴– –
度––
必–
篇––
wwwplcworldcn
Excel 2002 VBA
124
种oop––
获激获激种oop
种oop种oop获激
熬o–蓄长集首鉴–
狂x邻鉴首熬o蓄长集首鉴

度富 点长身p嵌描富x首s–
必富 获激美鉴p鉴t集t集o魔–喧点长身p嵌描富x首s器–
惊富 美鉴p鉴t集t集o魔熬o种oops–
懂富 –
背u迎–溢pp首y激o首量喧器––
熬o–蓄长集首鉴–溢邻t集v鉴点鉴首首富获身首u鉴–榄便便––
溢邻t集v鉴点鉴首首富环o魔t富激o首量–橄–膳龄u鉴––
溢邻t集v鉴点鉴首首富精ffs鉴t喧度始–嵌器富背鉴首鉴邻t––
种oop––
狂魔量–背u迎––
拉富 溢度架溢操–
描富 溢度–
操富 嫌嫌溢pp首y激o首量–
溢pp首y激o首量获激熬o–蓄长集首鉴——溢邻t集v鉴点鉴首首富获身首u鉴榄
溢度
获激溢邻t集v鉴点鉴首首富环o魔t富激o首量–橄–膳龄u鉴获激
精ffs鉴t种oop获激熬o–蓄长集首鉴
获激
溢族获激种oop

熬o蓄长集首鉴狂x邻鉴首

背u迎–膳鉴魔背鉴邻o魔量s喧器––
熬集骤–stop骤鉴––
stop骤鉴–橄–篇ow–增–膳集骤鉴获身首u鉴喧便嵌嵌架嵌嵌架度嵌便器––

熬o–蓄长集首鉴–篇ow–榄–stop骤鉴––
溢pp首集邻身t集o魔富熬集sp首身y背t身tus激身龄–橄–膳龄u鉴––
溢pp首集邻身t集o魔富背t身tus激身龄–橄–篇ow––
种oop––
溢pp首集邻身t集o魔富背t身tus激身龄–橄–环身首s鉴––
狂魔量–背u迎–
篇owstop骤鉴熬o蓄长集首鉴stop骤鉴
膳集骤鉴获身首u鉴–
溢pp首集邻身t集o魔富熬集sp首身y背t身tus激身龄获激
度嵌篇ow–榄–stop骤鉴获激
种oop–

描嫌度––
获激溢熬o蓄长集首鉴始–熬o花魔t集首始–
环o龄篇鉴xt始–环o龄狂身邻长始–身魔量–蓄长集首鉴蓄鉴魔量–

熬o蓄长集首鉴–

wwwplcworldcn
Excel 2002 VBA
125
熬o– –
度––
必–
篇––
种oop–蓄长集首鉴––

背u迎–背集铅魔魔喧器––
熬集骤–s鉴邻龄鉴t点o量鉴–溢s–背t龄集魔铅––

熬o–s鉴邻龄鉴t点o量鉴–橄–魔put激ox喧便狂魔t鉴龄–you龄–s鉴邻龄鉴t–邻o量鉴架便器––
f–s鉴邻龄鉴t点o量鉴–橄–便sp度嵌懂拉便–膳长鉴魔–狂x集t–熬o––
种oop–蓄长集首鉴–s鉴邻龄鉴t点o量鉴–榄–便sp度嵌懂拉便––
狂魔量–背u迎––
获激背集铅魔魔
狂x集t–熬o–

描嫌必––
——狂s邻

背u迎–背身y病鉴首首o喧器––
熬o––
立s铅激ox–便病鉴首首o富便––
种oop––
狂魔量–背u迎–
点t龄首增激龄鉴身颜环魔增激龄鉴身颜
获激–


熬o花魔t集首熬o花魔t集首

熬o–花魔t集首––
度–
必–
篇–
种oop––
溢pp首y激o首量–
背u迎–溢pp首y激o首量必喧器––
熬o–花魔t集首–s狂骤pty喧溢邻t集v鉴点鉴首首器––
溢邻t集v鉴点鉴首首富环o魔t富激o首量–橄–膳龄u鉴––
溢邻t集v鉴点鉴首首富精ffs鉴t喧度始–嵌器富背鉴首鉴邻t––
种oop––
狂魔量–背u迎––
获激
s狂骤pty喧溢邻t集v鉴点鉴首首器溢pp首y激o首量必

熬o蓄长集首鉴熬o花魔t集首–
熬o––
度–
必–
篇–
wwwplcworldcn
Excel 2002 VBA
126
种oop–花魔t集首––

种oop–

度富 熬o种oop熬鉴首鉴t鉴激首身魔颜背长鉴鉴ts–
背u迎–熬鉴首鉴t鉴激首身魔颜背长鉴鉴ts喧器––
熬集骤–骤y美身魔铅鉴–溢s–美身魔铅鉴––
熬集骤–s长邻ou魔t–溢s–魔t鉴铅鉴龄––

s长邻ou魔t–橄–蓄o龄颜s长鉴鉴ts富点ou魔t––
熬o––
蓄o龄颜s长鉴鉴ts喧s长邻ou魔t器富背鉴首鉴邻t––
背鉴t–骤y美身魔铅鉴–橄–溢邻t集v鉴背长鉴鉴t富花s鉴量美身魔铅鉴––

f–骤y美身魔铅鉴富溢量量龄鉴ss–橄–便减溢减度便–溢魔量–豫––
美身魔铅鉴喧便溢度便器富获身首u鉴–橄–便便–膳长鉴魔––
溢pp首集邻身t集o魔富熬集sp首身y溢首鉴龄ts–橄–环身首s鉴––
蓄o龄颜s长鉴鉴ts喧s长邻ou魔t器富熬鉴首鉴t鉴––
溢pp首集邻身t集o魔富熬集sp首身y溢首鉴龄ts–橄–膳龄u鉴––
狂魔量–f––
s长邻ou魔t–橄–s长邻ou魔t–嫌–度––
种oop–花魔t集首–s长邻ou魔t–橄–度––
狂魔量–背u迎––
必富 溢度激必点度嵌

惊富 熬鉴首鉴t鉴激首身魔颜背长鉴鉴ts——花s鉴量美身魔铅鉴溢度
溢度获激花s鉴量美身魔铅鉴蓄o龄颜s长鉴鉴t
激必点度嵌减激减必架减点减度嵌
溢度花s鉴量美身魔铅鉴减溢减度架减点减度嵌
s长邻ou魔t度s长邻ou魔t–
橄–s长邻ou魔t嫌度s长邻ou魔t度s长邻ou魔t
蓄o龄颜s长鉴鉴ts富点ou魔t狂x邻鉴首

溢pp首集邻身t集o魔富熬集sp首身y溢首鉴龄ts–橄–环身首s鉴––

溢pp首集邻身t集o魔富熬集sp首身y溢首鉴龄ts–橄–膳龄u鉴–––––

描嫌惊––
熬鉴首鉴t鉴激首身魔颜背长鉴鉴tss长邻ou魔t

环o龄篇鉴xt–

2

获激–
度富 溢度架溢拉–
必富 溢度–
惊富 狂x邻鉴首嫌嫌–
懂富 溢pp首y激o首量必获激描嫌度
wwwplcworldcn
Excel 2002 VBA
127


描嫌度––

拉富 获激获激–
描富 环族熬o花魔t集首–s狂骤pty喧溢邻t集v鉴点鉴首首器–
操富 环族–

3WhileWend
蓄长集首鉴蓄鉴魔量熬o蓄长集首鉴立集邻龄osoft–激身s集邻获激溢
蓄长集首鉴蓄鉴魔量–
蓄长集首鉴––
度–
必–
篇–
蓄鉴魔量––
获激
蓄长集首鉴蓄鉴魔量–
度富 蓄长集首鉴种oop–
必富 –
背u迎–点长身魔铅鉴美病鉴集铅长t喧器––
蓄长集首鉴–溢邻t集v鉴点鉴首首–榄便便––
溢邻t集v鉴点鉴首首富美ow病鉴集铅长t–橄–必族––
溢邻t集v鉴点鉴首首富精ffs鉴t喧度始–嵌器富背鉴首鉴邻t––
蓄鉴魔量––
狂魔量–背u迎––
惊富 激度架激懂–
wwwplcworldcn
Excel 2002 VBA
128
懂富 激度点长身魔铅鉴美病鉴集铅长t点长身魔铅鉴美病鉴集铅长t必族–

4ForNext
环o龄篇鉴xt–
环o龄––橄––膳o––装言–
度–
必–
篇–
篇鉴xt–装言–


拉环o龄–
环o龄–邻ou魔t鉴龄–橄–度–膳o–拉––
––
篇鉴xt––
获激篇鉴xt
膳o获激
获激度背t鉴p
惊–
环o龄–邻ou魔t鉴龄–橄–度–膳o–拉–背t鉴p–惊––

篇鉴xt–邻ou魔t鉴龄––
获激邻ou魔t鉴龄度懂惊增度
邻ou魔t鉴龄操懂增惊获激–
背t鉴p
度背t鉴p获激篇鉴xt–
篇鉴xt邻ou魔t鉴龄篇鉴xt–
环o龄篇鉴xt狂x邻鉴首
溢邻邻鉴ss嵌嵌
环o龄篇鉴xt–
度富 获激环o龄篇鉴xt种oop–
必富 环o龄篇鉴xt种oop–
背u迎–熬鉴首鉴t鉴融鉴龄o美ows喧器––
熬集骤–tot身首美–溢s–魔t鉴铅鉴龄––
熬集骤–龄–溢s–魔t鉴铅鉴龄––

美身魔铅鉴喧便溢度便器富点u龄龄鉴魔t美鉴铅集o魔富背鉴首鉴邻t––
tot身首美–橄–背鉴首鉴邻t集o魔富美ows富点ou魔t––
美身魔铅鉴喧便激必便器富背鉴首鉴邻t––

环o龄–龄–橄–度–膳o–tot身首美嫌度––
f–溢邻t集v鉴点鉴首首–橄–嵌–膳长鉴魔––
背鉴首鉴邻t集o魔富狂魔t集龄鉴美ow富熬鉴首鉴t鉴––
tot身首美–橄–tot身首美––度––
狂首s鉴––
溢邻t集v鉴点鉴首首富精ffs鉴t喧度始–嵌器富背鉴首鉴邻t––
狂魔量–f––
篇鉴xt–龄––
狂魔量–背u迎––
wwwplcworldcn
Excel 2002 VBA
129
惊富 狂x邻鉴首–
– 溢– 激–
度– 紫龄o量u邻t–篇身骤鉴– 背身首鉴s–喧集魔–紫ou魔量s器–
必– 溢pp首鉴s– 度必嵌–
惊– 紫鉴身龄s– 嵌–
懂– 激身魔身魔身s– 度嵌嵌–
拉– 点长鉴龄龄集鉴s– 嵌–
描– 激首u鉴迎鉴龄龄集鉴s– 嵌–
操– 背t龄身w迎鉴龄龄集鉴s– 度描嵌–

懂富 熬鉴首鉴t鉴融鉴龄o美ows–
熬鉴首鉴t鉴融鉴龄o美owstot身首美
获激激必环o龄度tot身首美嫌度获激
描–
f膳长鉴魔狂首s鉴获激嵌获激
度获激获激环o龄龄
tot身首美嫌度–

描嫌懂––
环o龄篇鉴xt获激环o龄篇鉴xt–

5For EachNext
环o龄–
狂身邻长篇鉴xt获激

环o龄–狂身邻长篇鉴xt

环o龄–狂身邻长– –魔– ––
度–
必–
篇–
篇鉴xt–装言–
获身龄集身魔t

环o龄–狂身邻长篇鉴xt–
度富 环o龄狂身邻长篇鉴xt种oop–
必富 环o龄狂身邻长篇鉴xt种oop–
背u迎–美鉴骤ov鉴背长鉴鉴ts喧器–
熬集骤–骤y背长鉴鉴t–溢s–蓄o龄颜s长鉴鉴t–
溢pp首集邻身t集o魔富熬集sp首身y溢首鉴龄ts–橄–环身首s鉴–
蓄o龄颜迎oo颜s富溢量量–
蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器富背鉴首鉴邻t–

环o龄–狂身邻长–骤y背长鉴鉴t–魔–蓄o龄颜s长鉴鉴ts–
溢邻t集v鉴蓄集魔量ow富背鉴首鉴邻t鉴量背长鉴鉴ts富熬鉴首鉴t鉴–
篇鉴xt–骤y背长鉴鉴t––
狂魔量–背u迎––
惊富 美鉴骤ov鉴背长鉴鉴ts–
wwwplcworldcn
Excel 2002 VBA
130
获激背长鉴鉴t度骤y背长鉴鉴t
精迎面鉴邻t

熬集骤–骤y背长鉴鉴t–溢s–蓄o龄颜s长鉴鉴t–

熬集骤–骤y背长鉴鉴t–溢s–精迎面鉴邻t–
溢pp首集邻身t集o魔富熬集sp首身y溢首鉴龄ts–橄–环身首s鉴狂x邻鉴首狂x邻鉴首
背长鉴鉴t必环o龄–狂身邻长篇鉴xt
背长鉴鉴t必背长鉴鉴t度–

背u迎–s背u邻长背长鉴鉴t喧器––
熬集骤–骤y背长鉴鉴t–溢s–蓄o龄颜s长鉴鉴t––
熬集骤–邻ou魔t鉴龄–溢s–魔t鉴铅鉴龄––
邻ou魔t鉴龄–橄–嵌–

环o龄–狂身邻长–骤y背长鉴鉴t–魔–蓄o龄颜s长鉴鉴ts––
f–骤y背长鉴鉴t富魔身骤鉴–橄–便背长鉴鉴t必便–膳长鉴魔––
邻ou魔t鉴龄–橄邻ou魔t鉴龄–增–度––
狂魔量–f––
篇鉴xt–骤y背长鉴鉴t––

f–邻ou魔t鉴龄–橄–度–膳长鉴魔––
立s铅激ox–便膳长集s–wo龄颜迎oo颜–邻o魔t身集魔s–背长鉴鉴t必富便––
狂首s鉴––
立s铅激ox–便背长鉴鉴t必–w身s–魔ot–fou魔量富便––
狂魔量–集f––
狂魔量–背u迎––

7

获激狂x集t–
 狂x集t–环o龄环o龄篇鉴xt环o龄–狂身邻长篇鉴xt–
 狂x集t–熬o获激溢–熬o––
狂x集t–环o龄环o龄–狂身邻长篇鉴xt–
度富 –
背u迎–狂身龄首y狂x集t喧器––
熬集骤–骤y点鉴首首–溢s–美身魔铅鉴–

环o龄–狂身邻长–骤y点鉴首首–集魔–美身魔铅鉴喧便溢度架病度嵌便器––
f–骤y点鉴首首富获身首u鉴–橄–便便–膳长鉴魔––
骤y点鉴首首富获身首u鉴–橄–便鉴骤pty便––
狂首s鉴––
狂x集t–环o龄––
狂魔量–f––
篇鉴xt–骤y点鉴首首––
狂魔量–背u迎––
狂身龄首y狂x集t溢度架病度嵌获激鉴骤pty
获激–
必富 溢度架病度嵌–
wwwplcworldcn
Excel 2002 VBA
131
惊富 狂身龄首y狂x集t–

描嫌拉––
狂x集t–背u迎狂x集t–环u魔邻t集o魔–

8

获激环o龄熬o

点o首o龄种oop环o龄篇鉴xt环o龄篇鉴xt–
背u迎–点o首o龄种oop喧器––
熬集骤–骤y美ow–溢s–魔t鉴铅鉴龄––
熬集骤–骤y点o首–溢s–魔t鉴铅鉴龄––
熬集骤–骤y点o首o龄–溢s–魔t鉴铅鉴龄––

骤y点o首o龄–橄–嵌––

环o龄–骤y美ow–橄–度–膳o–族––
环o龄–骤y点o首–橄–度–膳o–操––
点鉴首首s喧骤y美ow始–骤y点o首器富背鉴首鉴邻t––
骤y点o首o龄–橄–骤y点o首o龄–增–度––

蓄集t长–背鉴首鉴邻t集o魔富魔t鉴龄集o龄––
富点o首o龄魔量鉴x–橄–骤y点o首o龄––
富紫身tt鉴龄魔–橄–x首背o首集量––
狂魔量–蓄集t长––
篇鉴xt–骤y点o首––
篇鉴xt–骤y美ow––
狂魔量–背u迎––
点o首o龄种oop环o龄篇鉴xt


环o龄篇鉴xt溢度始–激度始–点度始–熬度始–狂度始–环度理度骤y点o首操
获激骤y美ow度拉描族城操
溢度度激度
必——点鉴首首s喧骤y美ow始–骤y点o首器富背鉴首鉴邻t——骤y点o首o龄——
骤y点o首o龄–橄–骤y点o首o龄–增–度–

9


获激溢


VBA

wwwplcworldcn
Excel 2002 VBA
132
Julitta Korol Tiger Chen Feb 1’ 2005

VBA
VBA

VB
VBA

1
VB


1
2
3
4
5
6



cities —— lotto
——

cities lotto
Cities(1) Baltimore Lotto(1) 25
Cities(2) Atlanta Lotto(2) 4
Cities(3) Boston Lotto(3) 31
Cities(4) Washington Lotto(4) 22
Cities(5) New York Lotto(5) 11
Cities(6) Trenton Lotto(6) 5


Variant


1 2 3
1 (11) (12) (13)
2 (21) (22) (23)
3 (31) (32) (33)
4 (41) (42) (43)
5 (51) (52) (53)

(11)
(53)

Japan
(11)
Japanese Yen
(12)
1282
(13)
Mexico
(21)
Mexican Peso
(22)
9423
(23)
wwwplcworldcn
Excel 2002 VBA
133
Canada
(31)
Canadian Dollar
(32)
1567
(33)
Norway
(41)
Norwegian Krone
(42)
8351
(43)
Hungary
(51)
Hungarian Forint
(52)
2667
(53)
VBA 60


71


72
cities(6) cities


2
—— Dim


Dim cities(6) As String
Dim daysOfWeek(7) As String
Dim lotto(6) As Integer
Dim exchange(5 3) As Variant


——
exchange 15 (5*315)
Integer Long Single
Double Variant Currency String Boolean Byte or Date
VB
lotto 6VB 12 —— 2 2
2*612


3
VBA 0 1 2
0 cities(6) 06 1
Option Base 1 VBA Sub
Option Base 1 VBA Option Base 0 0
01

Dim cities(3 To 6) As Integer
36
3 4 5 6 To

73
Dim Dim mktgCodes(5 To 15)

wwwplcworldcn
Excel 2002 VBA
134
4 VBA


1 Chap07xls
2 VB VBA Tables
3 StaticArrays
4 FavoriteCities
' start indexing array elements at 1 1
Option Base 1

Sub FavoriteCities()

'now declare the array
Dim cities(6) As String

'assign the values to array elements
cities(1) Baltimore
cities(2) Atlanta
cities(3) Boston
cities(4) Washington
cities(5) New York
cities(6) Trenton

'display the list of cities

MsgBox cities(1) & Chr(13) & cities(2) & Chr(13) _
& cities(3) & Chr(13) & cities(4) & Chr(13) _
& cities (5) & Chr(13) & cities(6)
End Sub
FavoriteCities Option Base 1 Sub
VB 1 0
cities() Msgbox
71

71 Msgbox

5 FavoriteCities
6 FavoriteCities 61

74
0

wwwplcworldcn
Excel 2002 VBA
135
5
ForNext For
Each Next FavoriteCities

FavoriteCities2 For EachNext
Sub FavoriteCities2()
'now declare the array
Dim cities(6) As String
Dim city As Variant

'assign the values to array elements
cities(1) Baltimore
cities(2) Atlanta
cities(3) Boston
cities(4) Washington
cities(5) New York
cities(6) Trenton

'display the list of cities in separate messages
For Each city in cities
MsgBox city
Next
End Sub
For EachNext Variant city For EachNext
FavoriteCities2

FavoriteCities
FavoriteCities3
1
Sub FavoriteCities3()
'now declare the array
Dim cities(6) As String

'assign the values to array elements
cities(1) Baltimore
cities(2) Atlanta
cities(3) Boston
cities(4) Washington
cities(5) New York
cities(6) Trenton

'call another procedure and pass the array as argument
Hallo cities()
End Sub

Sub Hallo (cities() As String)
Dim counter As Integer
For counter 1 to 6
MsgBox Hello & cities(counter)
Next
End Sub
Hallo —— cities()
2 FavoriteCities3

wwwplcworldcn
Excel 2002 VBA
136

75

Hallo cities() Hallo
cities()


VB Lotto 151
Sub Lotto()
Const spins 6
Const minNum 1
Const maxNum 51

Dim t As Integer looping variable in outer loop
Dim i As Integer looping variable in inner loop
Dim myNumbers As String string to hold all picks
Dim lucky(spins) As String array to hold generated picks
myNumbers

For t 1 To spins
Randomize
lucky(t) Int((maxNumminNum+1) * Rnd )+ minNum)

'see if this number was picked before
For i 1 To (t1)
If lucky(t)lucky(i) Then
lucky(t) Int((maxNum–minNum+1) * Rnd)+ minNum) i 0
End If
Next i

MsgBox Lucky number is & t & lucky(t)
myNumbers myNumbers & – & lucky(t)
Next t

MsgBox Lucky numbers are & myNumbers
End Sub
Randomize Int((maxNumminNum+1) * Rnd + minNum) Rnd
minNum maxNum Int minNum maxNum
InputBox
ForNext ——


6


Sub Exchange()
Dim t As String
Dim r As String
Dim Ex(3 3) As Variant
t Chr(9) 'tab
r Chr(13) 'Enter

Ex(1 1) Japan
wwwplcworldcn
Excel 2002 VBA
137
Ex(1 2) Yen
Ex(1 3) 1282
Ex(2 1) Mexico
Ex(2 2) Peso
Ex(2 3) 9423
Ex(3 1) Canada
Ex(3 2) Dollar
Ex(3 3) 1567
MsgBox Country & t & t & Currency & t & per US _
& r & r _
& Ex(1 1) & t & t & Ex(1 2) & t & Ex(1 3) & r _
& Ex(2 1) & t & t & Ex(2 2) & t & Ex(2 3) & r _
& Ex(3 1) & t & t & Ex(3 2) & t & Ex(3 3) _
Exchange
End Sub
Exchange 72

72

7

Dim Fruits(10) As String 10 Fruits



VBA



76



Dim Fruits( ) As String
ReDim
ReDim ReDim VB

1 DynamicArrays
2 DynArray
Sub DynArray( )
Dim counter As Integer

'declare a dynamic array
Dim myArray( ) As Integer
wwwplcworldcn
Excel 2002 VBA
138

'specify the initial size of the array
Redim myArray(5)

WorkbooksAdd

'populate myArray with values
For counter 1 to 5
myArray(counter) counter +1
ActiveCellOffset(counter1 0)Value myArray(counter)
Next

'change the size of myArray to hold 10 elements
Redim Preserve myArray(10)

'add new values to myArray
For counter 6 To 10
myArray(counter) counter * counter
With ActiveCellOffset(counter1 0)
Value myArray(counter)
FontBold True
End with
Next counter
End Sub
3 Excel VB
4 DynArray F8 DynArray

73 10

DynArray Dim myArray() As Integer myArray
ReDim myArray 10 5
WorkbooksAdd ForNext
myArray counter 1
myArray(counter) counter + 1
2myArray
ActiveCellOffset(counter1 0)Value myArray(counter)
myArray A1 counter 1
ActiveCellOffset(11 0)Value myArray(1)

ActiveCellOffset(00)Value myArray(1)
A1 5VB
wwwplcworldcn
Excel 2002 VBA
139

ReDim Preserve myArray(10)
ReDim
ReDim Preserve Preserve

ForNext myArray counter
* counter VB

77
Dim ReDim Dim ReDim


8
VBA Array IsArray Erase LBound UBound VBA


9Array
Array Varant Array
CarInfo auto

1 Array_Function
2 CarInfo
Option Base 1

Sub CarInfo()
Dim auto As Variant

auto Array(Ford Black 1999)
MsgBox auto(2) & & auto(1) & & auto(3)
auto(2) 4door
MsgBox auto(2) & & auto(1) & & auto(3)

End Sub
Array
Sub ColumnHeads()

Dim heading As Variant
Dim cell As Range
Dim i As Integer

i 1
heading Array(First Name Last Name Position _
Salary)

WorkbooksAdd

For Each cell in Range(A1D1)
cellFormula heading(i)
i i+1
Next

wwwplcworldcn
Excel 2002 VBA
140
Columns(AD)Select
SelectionColumnsAutoFit
Range(A1)Select
End Sub

10IsArray
IsArray IsArray True False
1 IsArray_Function
2 IsThisArray
Sub IsThisArray()
'declare a dynamic array
Dim sheetNames() As String
Dim totalSheets As Integer
Dim counter As Integer
'count the sheets in the current workbook
totalSheets ActiveWorkbookSheetsCount

'specify the size of the array
ReDim sheetNames(1 To totalSheets)
'enter and show the names of sheets
For counter 1 to totalSheets
sheetNames(counter) ActiveWorkbookSheets(counter)Name
MsgBox sheetNames(counter)
Next counter
'check if this is indeed an array
If IsArray(sheetNames) Then
MsgBox The sheetNames is an array
End If
End Sub

11Erase
Erase Erase
cities
1 Erase_Function
2 FunCities
' start indexing array elements at 1
Option Base 1

Sub FunCities()
'declare the array
Dim cities(1 to 5) As String

'assign the values to array elements
cities(1) Las Vegas
cities(2) Orlando
cities(3) Atlantic City
cities(4) New York
cities(5) San Francisco

'display the list of cities
MsgBox cities(1) & Chr(13) & cities(2) & Chr(13) _
& cities(3) & Chr(13) & cities(4) & Chr(13) _
wwwplcworldcn
Excel 2002 VBA
141
& cities (5)

Erase cities

'show all that was erased
MsgBox cities(1) & Chr(13) & cities(2) & Chr(13) _
& cities(3) & Chr(13) & cities(4) & Chr(13) _
& cities (5)
End Sub
Erase MsgBox

12LBound UBound

LBound UBound
1 L_and_UBound_Function
2 FunCities2
Sub FunCities2()
'declare the array
Dim cities(1 to 5) As String

'assign the values to array elements
cities(1) Las Vegas
cities(2) Orlando
cities(3) Atlantic City
cities(4) New York
cities(5) San Francisco

'display the list of cities
MsgBox cities(1) & Chr(13) & cities(2) & Chr(13) _
& cities(3) & Chr(13) & cities(4) & Chr(13) _
& cities (5)
'display the array bounds
MsgBox The lower bound & LBound(cities) & Chr(13) _
& The upper bound & UBound(cities)
End Sub
12
Exchange End Sub

MsgBox The lower bound (first dimension) is _
& LBound(Ex 1) &
MsgBox The upper bound(first dimension) is _
& UBound(Ex 1) &
MsgBox The lower bound (second dimension) is _
& LBound(Ex 2) &
MsgBox The upper bound(second dimension) is _
& UBound(Ex 2) &

13
VBA
wwwplcworldcn
Excel 2002 VBA
142

74

6VB
VB 75

Zoo1
i 4VB
Zoo2 LBound UBound




75 VB

1 Errors_In_Arrays
2 Zoo1 Zoo2
Sub Zoo1()
'this procedure triggers an error Subscript out of range
Dim zoo(3) As String
Dim i As Integer
Dim response As String

i 0
Do
wwwplcworldcn
Excel 2002 VBA
143
i i +1
response InputBox(Enter a name of animal)
zoo(i) response
Loop until response
End Sub

Sub Zoo2()
'this procedure avoids the error Subscript out of range
Dim zoo(3) As String
Dim i As Integer
Dim response As String

i 1
Do While i>LBound(zoo) And i response InputBox(Enter a name of animal)
If response Then Exit Sub
zoo(i) response
i i + 1
Loop
For i LBound(zoo) To UBound(zoo)
MsgBox zoo(i)
Next
End Sub


Variant

14

Optional
310 15 ParamArray
AddMultipleArgs
myNumbers ParamArray Variant

1 ParameterArrays
2 AddMultipleArgs
Function AddMultipleArgs(ParamArray myNumbers() As Variant)
Dim mySum As Single
Dim myValue As Variant

For each myValue in myNumbers
mySummySum+myValue
Next
AddMultipleArgs mySum
End Function
3
AddMultipleArgs(1 2324 3 24 8 34)
VB 9324


15

wwwplcworldcn
Excel 2002 VBA
144
VBA ParamArray


VBA


VBA

Julitta Korol Tiger Chen Mar 5’ 2005


VBA
• CurDir
• Name
• Dir
• FileDateTime
• FileLen
• GetAttr SetAttr
• ChDir ChDrive
• MkDir RmDir
• FileCopy Kill
Excel
Windows Scripting
Host (WSH)




1 CurDir
CurDir
CurDir([drive])
Drive VBA drive
CurDir Variant String CurDir

1 VB
2
CurDir
VB
C\
D
CurDir(D\)
VB
3 myDrive
myDrive Left(CurDir1)
VB myDrive
myDrive
myDrive

myDrive left(CurDir1) &
wwwplcworldcn
Excel 2002 VBA
145
VB

2 Name
Name
Name old_pathname As new_pathname
Old_pathname New_pathname
Name

• New_pathname
Name C\System1st As C\testtxt
C\testtxt CVB

• New_pathname Old_pathname Name
Name C\System1st As D\testtxt
testtxt DVB C\System1 st

• New_pathname Old_pathname Name

Name D\testtxt As C\DOS\testtxt
testtxt C DOS

81
*

3 Dir
Dir
Dir[(pathname[ attributes])]
Dir pathname attributes

81

vbNormal 0 Normal
vbHidden 2 Hidden
vbSystem 4 System
vbVolume 8 Volume label
vbDirectory 16 Directory or Folder

Dir Dir

1
Dir(C\ vbNormal)
VB vbNormal

Dir
Dir
2
mfile Dir(C\ vbHidden)
mfile
mfile Dir
wwwplcworldcn
Excel 2002 VBA
146
mfile
mfile Dir
mfile
3
If Dir(C\stampbat) Then DebugPrint
stampbat C VB
4
If Dir (C\Autoexecbat) <> Then DebugPrint C
Dir ——* WINDOWS
INI
Dir(C\WINNT\*ini vbNormal)
systemini
dir WININI
dir
WINFILEINI
dir controlini
dir EQUIP32INI
dir
sxpwin32ini
LCase
1 Chap08xls
2 VB VBA FileMan
3 DirFunction
4 VBA
Sub MyFiles()
Dim mfile As String
Dim mpath As String

mpath InputBox(Enter pathnameeg C\Excel)
If Right(mpath 1) <> \ Then mpath mpath & \

mfile Dir(mpath & **)
If mfile <> Then DebugPrint Files in the & mpath _
& folder
DebugPrint LCase(mfile)
If mfile Then
MsgBox No files found
Exit Sub
End If
Do While mfile <>
mfile Dir
DebugPrint LCase(mfile)
Loop
End Sub
myFiles Right
VB *

5
Sub GetFiles()
Dim nfile As String
Dim nextRow As Integer 'next row index
nextRow 1
With Worksheets(Sheet1)Range(A1)
nfile Dir(C\ vbNormal)
Value nfile
wwwplcworldcn
Excel 2002 VBA
147
Do While nfile <>
nfile Dir
Offset(nextRow 0)Value nfile
nextRow nextRow + 1
Loop
End With
End Sub
GetFiles C

4 FileDateTime
FileDateTime
FileDateTime( )



1
FileDateTime(C\configsys)
VB
542001 105200 AM
FileDateTime DateValue TimeValue
DateValue(FileDateTime(C\configsys))
TimeValue(FileDateTime(C\configsys))
2
If DateValue(FileDateTime(C\configsys))< Date then DebugPrint This file was not modified today
Date

5 FileLen
FileLen
FileLen( )
FileLen VB
Windows
1 FileLenFunction
2 TotalBytesIni
Sub TotalBytesIni()
Dim iniFile As String
Dim allBytes As Long

iniFile Dir(C\WINDOWS\*ini)
allBytes 0
Do While iniFile <>
allBytes allBytes + FileLen(C\WINDOWS\ & iniFile)
iniFile Dir
Loop
DebugPrint Total bytes & allBytes
End Sub

6 GetAttr SetAttr
GetAttr

GetAttr( )
wwwplcworldcn
Excel 2002 VBA
148


82

vbNormal 0
VbReadOnly 1
vbHidden 2
vbSystem 4
vbDirectory 16
vbArchive 32

AND GetAttr

C\MsDossys
getattr(C\MsDossys) AND vbReadOnly
1
getattr(C\MsDossys) AND vbHidden
2
getattr(C\MsDossys) AND vbSystem
4
getattr(C\MsDossys) AND vbArchive
32

1 GetAttrFunction
2 GetAttributes
Sub GetAttributes()
Dim attr As Integer
Dim msg As String
attr GetAttr(C\MSDOSSYS)
msg

If attr AND vbReadOnly Then msg msg & ReadOnly (R)
If attr AND vbHidden Then msg msg & Chr(10) & Hidden (H)
If attr AND vbSystem Then msg msg & Chr(10) & System (S)
If attr AND vbArchive Then msg msg & Chr(10) & Archive (A)
MsgBox msg MSDOSSYS
End Sub
3 81

81 GetAttr

GetAttr SetAttr
SetAttr
81

C\stampstxt
wwwplcworldcn
Excel 2002 VBA
149

SetAttr C\stampstxt vbReadOnly + vbHidden

82 SetAttr
SetAttr

7 ChDir ChDrive
ChDir
ChDir Path
Path Path Path

C\DOS
ChDir D\MyFiles
D\MyFiles C
ChDrive
ChDrive
D E
ChDrive D

ChDrive E


8 MkDir RmDir
MkDir
MkDir Path
Path VB

1 CMail
MkDir C\Mail
2 C\Mail
ChDir C\Mail
3
CurDir
RmDir
RmDir Path
Path Path VB
VB
4 C\Mail
RmDir C\Mail

83 RmDir
RmDir Kill

9 FileCopy
FileCopy
FileCopy

C\Abort
wwwplcworldcn
Excel 2002 VBA
150

Sub CopyToAbort()
Dim folder As String
Dim source As String
Dim dest As String
Dim msg1 As String
Dim msg2 As String
Dim p As Integer
Dim s As Integer
Dim i As Long

On Error GoTo ErrorHandler

folder C\Abort
msg1 The selected file is already in this folder
msg2 was copied to
p 1
i 1

' get the name of the file from the user
source ApplicationGetOpenFilename
' don’t do anything if cancelled
If source False Then Exit Sub
' get the total number of backslash characters \ in the source
' variable’s contents
Do Until p 0
p InStr(i source \ 1)
If p 0 Then Exit Do
s p
i p + 1
Loop
' create the destination file name
dest folder & Mid(source s Len(source))
' create a new folder with this name
MkDir folder
' check if the specified file already exists in the
' destination folder
If Dir(dest) <> Then
MsgBox msg1
Else
' copy the selected file to the C\Abort folder C\Abort
FileCopy source dest
MsgBox source & & msg2 & & dest
End If
Exit Sub

ErrorHandler
If Err 75 Then
Resume Next
End If
If Err 70 Then
MsgBox You can’t copy an open file
Exit Sub
End If
End Sub
CopyToAbort Excel GetOpenFilename
wwwplcworldcn
Excel 2002 VBA
151
VB False
source
DoUntil \ source
VB FileCopy dest
C\Abort MkDir C\Abort
C VB 75
ErrorHandler
VB Resume Next MkDir folder
msg1
VB
VB 70 ErrorHandler
1 FileCopyStatement CopyToAbort
2
3 C\Abort
4 CopyToAbort
5 MyFiles C\Abort
C\Abort RemoveMe VBA


10 Kill
Kill
Kill

*
C\Abort
Abort
1 KillStatement
2 RemoveMe
Sub RemoveMe()
Dim folder As String
Dim myFile As String

assign the name of folder to the folder variable
notice the ending backslash \
folder C\Abort\
myFile Dir(folder vbNormal)
Do While myFile <>
Kill folder & myFile
myFile Dir
Loop
RmDir folder
End Sub
3 RemoveMe Windows

11 InputOutput
VBA
ApplicationWorkbooksOpen Filename C\Excel\Reportxls
C\Excel Reportxls VBA
IO inputoutput

wwwplcworldcn
Excel 2002 VBA
152

12

• CSV TXT Tab
PRN
Input Output Append
• ——
Random
• Binary

13
HTML
carriage return line feed



84


85 Open


14
Excel VB VBA
Open
Open pathname For mode [Access access][lock] As [#]filenumber [Lenreclength]
Open pathname mode filenumber

• Pathname
• Pathname
• Mode Input Output Append Input
Output Append
• Access Access Shared Lock Read Lock Write
Lock Read Write
• Lock
Read Write Read Write
• Filenumber 1511 VB FreeFile

• Open reclength
C\Autoexecbat
Open C\Autoexecbat For Input As #1
Line Input
# Input # Input

15
Autoexecbat
wwwplcworldcn
Excel 2002 VBA
153
Line Input #filenumber variableName
#filenumber Open variableName String Variant
Line Input # Line Input #
Chr(13) Chr(13) & Chr(10)

ReadMe Open Line Input # Autoexecbat

1 SeqFiles
2 ReadMe
Sub ReadMe()
Dim rLine As String
Dim i As Integer ' line number
i 1
Open C\Autoexecbat For Input As #1

' stay inside the loop until the end of file is reached

Do While Not EOF(1)
Line Input #1 rLine

MsgBox Line & i & in Autoexecbat reads _
& Chr(13) & Chr(13) & rLine

i i + 1
Loop

MsgBox i & lines were read
Close #1
End Sub
3 F8
ReadMe Autoexecbat Input 1DoWhile VB
EOF
EOF True EOF ——
Open EOF VB
Line Input # rLine EOF
VBA 1 EOF VB VBA


16
Autoexecbat Input
If Input
Input(number [#]filenumber)
Input number filenumber Open
Input
1 SeqFile Colons
Sub Colons()
Dim counter As Integer
Dim char As String

counter 0
Open C\Autoexecbat For Input As #1

Do While Not EOF(1)
wwwplcworldcn
Excel 2002 VBA
154
char Input(1 #1)
If char Then

counter counter + 1
End If
Loop

If counter <> 0 Then
MsgBox Characters found & counter
Else
MsgBox The specified character has not been found
End If
Close #1
End Sub
2
3 Input VB LOF
Input LOF
ReadAll Systemini
Sub ReadAll()
Dim all As String
Open C\WINNT\Systeminibat For Input As #1
all Input(LOF(1) #1)
DebugPrint all
Close #1
End Sub
82
Sub WriteToTextBox()
Dim mysheet As Worksheet
Set mysheet ActiveWorkbookWorksheets(1)
On Error GoTo CloseFile
Open C\WINNT\Systemini For Input As #1
mysheetShapes(1)Select
SelectionCharactersText Input(LOF(1) #1)
CloseFile
Close #1
End Sub


82 TDateini Systemini

On Error GoTo CloseFile
wwwplcworldcn
Excel 2002 VBA
155
CloseFile Close #1

17
CSVTXT PRN Tab
Input # Line Input # Input #

Input #filenumber variablelist
Filenumber Open variablelist


SmithJohn15
MalloneyJoanne28
IkatamaRobert15

1

2 CSV C\Winners Excel

3 Winners
Sub Winners()
Dim lname As String fname As String age As Integer
Open C\Winnerscsv For Input As #1
Do While Not EOF(1)
Input #1 lname fname age
MsgBox lname & & fname & & age
Loop
Close #1
End Sub
4 Winners Winnerscsv
Winnerscsv DoWhile Input #1
lname fname age
Winnerscsv

18
Append Output
• Append Append Readmetxt
VB

• Output Output VB
Output Readmetxt

Output
Append Output
wwwplcworldcn
Excel 2002 VBA
156
• C\Readmetxt Append
Open C\Readmetxt For Append As #1
• C\Resulttxt Output
Open C\Resulttxt For Output As #1
• C\Winnerscsv Output
FileCopy C\WinnerscsvC\Winnersold
Open C\Winnerscsv For Output As #1

86


87

——86


19 Write # Print #
Append Output Write # Print #
Input # Write #

Write #filenumber [outputlist]
Filenumber Write # Outputlist Outputlist
VB

1 DataEntry
Sub DataEntry()
Dim lname As String
Dim fname As String
Dim birthdate As Date
Dim s As Integer

Open C\My Documents\Friendstxt For Output As #1
lname Smith
fname Gregory
birthdate #1263#
s 3
Write #1 lname fname birthdate s

lname Conlin
fname Janice
birthdate #51248# s 1
Write #1 lname fname birthdate s

lname Kaufman
fname Steven
birthdate #4757#
s 0
Write #1 lname fname birthdate s
Close #1
End Sub
C\My Documents\Friendstxt VB

wwwplcworldcn
Excel 2002 VBA
157
Windows Friendstxt
SmithGregory#19630102#3
ConlinJanice#19480512#1
KaufmanSteven#19570407#0

Write # (Chr(13) & Chr(10))
——
Print # DataEntry
Write # Print # VB
Smith Gregory 1263 3
Conlin Janice 51248 1
Kaufman Steven 4757 0
Print # Write # Print #
Spc(n) n
Tab(5)

• Write #
Write #1
• fruits
Write #1 Tab(5) fruits
• fruits vegetables
Write #1 fruits Spc(5) vegetables

20




VB




88


21
VB TypeEnd Type


1 RandomFiles
2 Option Explicit
Option Explicit

' define a userdefined type
Type Dictionary
en As String * 16 ' English word up to 16 characters
sp As String * 20 ' Spanish word up to 20 characters
End Type
Dictionary String en 16
wwwplcworldcn
Excel 2002 VBA
158
sp 20 36 16+20
Option Explicit
3 EnglishToSpanish
Sub EnglishToSpanish()
Dim d As Dictionary
Dim RecNr As Long
Dim choice As String
Dim totalRec As Long

RecNr 1
'open the file for random access
Open Translatetxt For Random As #1 Len Len(d)

Do
' get the English word
choice InputBox(Enter an English word ENGLISH)
den choice

' exit the loop if cancelled
If choice Then Exit Do
choice InputBox(Enter the Spanish equivalent for _
& den SPANISH EQUIVALENT & den)
If choice Then Exit Do
dsp choice

' write to the record
Put #1 RecNr d
' increase record counter
recNr recNr + 1
Loop Until choice 'ask for words until Cancel

totalRec LOF(1) Len(d)
MsgBox This file contains & totalRec & record(s)
' close the file
Close #1
End Sub
EnglishToSpanish d Dictionary Type
RecNr VB Translatetxt 1 Len(d)
VB 36 VB DoUntil
choice dden
VB Do

VB VB choice
ddsp VB
Put #1 recNr d
VB 1 EnglishToSpanish
LOF Len VB
Translatetxt
VocabulartDrill


89 Type
Type Type
wwwplcworldcn
Excel 2002 VBA
159
Type

Type MyRecord
country As String * 20
city As String * 14
rank As Integer
End Type

Dim myInfo As MyRecord
country city rank
MyInfocity Warsaw

4 EnglishToSpanish VocabularDrill
Sub VocabularyDrill()
Dim d As Dictionary
Dim totalRec As Long
Dim recNr As Long
Dim randomNr As Long
Dim question As String
Dim answer As String

' open a random access file
Open Translatetxt For Random As #1 Len Len(d)
' print the total number of bytes in this file
DebugPrint There are & LOF(1) & bytes in this file
' find out and print out the total number of records
recNr LOF(1) Len(d)
DebugPrint Total number of records & recNr

Do
' get a random record number
randomNr Int(recNr * Rnd) + 1
DebugPrint randomNr
' find the random record
Seek #1 randomNr
' read the record
Get #1 randomNr d
DebugPrint Trim(den) Trim(dsp)
' assign answer to a variable
answer InputBox(What's the Spanish equivalent den)

' finish if cancelled
If answer Then Close #1 Exit Sub
DebugPrint answer

' check if the answer is correct
If answer Trim(dsp) Then
MsgBox Congratulations
Else
MsgBox Invalid Answer
End If
' keep on asking questions until Cancel is pressed
Loop While answer <>
' close file
wwwplcworldcn
Excel 2002 VBA
160
Close #1
End Sub
VocabularyDrill VB Len Len(d)
LOF(1)
LOF —— Len(d) VB Esc
Rnd randomNr Seek #1 randomNr
randomNr
Get
Get #1 randomNr d
VB randomNr d 1
2 VB
Trim(den) Trim(dsp) VB
answer Esc VB VB
Esc


VocabularyDrill Translatetxt
CD


83


84 Microsoft Excel Excel ——


810



wwwplcworldcn
Excel 2002 VBA
161

22
10
5 15 VB





• Get
• Put
• Loc Loc
• Seek

MyDatatxt




Open MyDatatxt For Binary As #1 MyDatatxt 1
MsgBox Total bytes & LOF(1)
fname Julitta fname
ln len(fname) fname In
Put #1 ln In
MsgBox The last byte & LOC(1)
Put #1 fname fname
lname Korol lname
ln len(lname) lname In
Put #1 ln In
Put #1lname lname
MsgBox The last byte & LOC(1)
Get #11 entry1 entry1
MsgBox entry1 entry1
Get #1 entry2 entry2
MsgBox entry2 entry2
Get #1 entry3 entry3
MsgBox entry3 entry3
Get #1 entry4 entry4
MsgBox entry4 entry4
DebugPrint entry1entry2entry3entry4
7 Julitta 5 Korol
Close #1

CD EnterAndDisplay


Len( )
Put #1
Put #1
wwwplcworldcn
Excel 2002 VBA
162
• Get String
Get #1
String( )
Get #1

811




23
Windows Scripting Host WSH
WSH ActiveX Wshomocx
Windows 95 98 NT50 2000 XP IE4 5 6 Windows System32

WSH Command Scripting Host (Cscriptexe)
Windows Scripting Host (Wscriptexe) WSH
VBA
WSH CreatObject VBA WSH WSH VBA





85 WSH ActiveX MSDOS
wwwplcworldcn
Excel 2002 VBA
163
Writing batch bat

1 VB
2 Microsoft Scripting Runtime

86 Microsoft Scripting Runtime

3 F2
4 Scripting WSH WSH
GetDrive GetExtensionName
DateLastModified
FolderExists FileExists

wwwplcworldcn
Excel 2002 VBA
164

87 Microsoft Scripting Runtime 86


24 WSH
WSH FileSystemObject
1 WSH
2 WSH FileInfo
Sub FileInfo()
Dim fs As Object
Dim objFile As Object
Dim strMsg As String

Set fs CreateObject(ScriptingFileSystemObject)
Set objFile fsGetFile(C\WINNT\Systemini) C\Windows\Systemini
strMsg File name & _
objFileName & vbCrLf
strMsg strMsg & Disk & _
objFileDrive & vbCrLf
strMsg strMsg & Date Created & _
objFileDateCreated & vbCrLf
strMsg strMsg & Date Modified & _
objFileDateLastModified & vbCrLf
MsgBox strMsg File Information
End Sub
FileInfo VBA CreateObject ActiveX FileSystemObject

wwwplcworldcn
Excel 2002 VBA
165
Dim fs As Object
Set fs CreateObject(ScriptingFileSystemObject)
fs CreateObject ActiveX

Set objFile fsGetFile(C\WINNT\Systemini)
C WINNT Systemini objFile File
objFileName objFileDrive objFileDateCreated
objFileDateLastModified
objFileType objFileAttributes objFileParentFolder
objFileSize File

25FileSystemObjec
FileSystemObjedt ActiveX 83



FileExists True
Sub FileExists()
Dim fs As Object
Dim strFile As String
Set fs CreateObject(ScriptingFileSystemObject)
strFile InputBox(Enter the full name of the file)
If fsFileExists(strFile) Then
MsgBox strFile & was found
Else
MsgBox File does not exist
End If
End Sub
GetFile File
GetFileName
GetFileVersion
CopyFile
Sub CopyFile()
Dim fs As Object
Dim strFile As String
Dim strNewFile As String
strFile C\Hellodoc
strNewFile C\Program Files\Hellodoc
Set fs CreateObject(ScriptingFileSystemObject)
fsCopyFile strFile strNewFile
MsgBox A copy of the specified file was created
Set fs Nothing
End Sub
MoveFile
DeleteFile
Sub DeleteFile()
Dim fs As FileSystemObject
Set fs New FileSystemObject
fsDeleteFile C\Program Files\Hellodoc
MsgBox The requested file was deleted
End Sub
DriveExists True
wwwplcworldcn
Excel 2002 VBA
166
Function DriveExists(disk)
Dim fs As Object
Dim strMsg As String
Set fs CreateObject(ScriptingFileSystemObject)
If fsDriveExists(disk) Then
strMsg Drive & UCase(disk) & exists
Else
strMsg UCase(disk) & was not found
End If
DriveExists strMsg
' run this function from the worksheet
' by entering in any cell the following DriveExists(E\)
End Function
GetDrive Drive
Sub DriveInfo()
Dim fs disk infoStr strDiskName
strDiskName InputBox(Enter the drive letter _
Drive Name C\)
Set fs CreateObject(ScriptingFileSystemObject)
Set disk fsGetDrive(fsGetDriveName(strDiskName))
infoStr Drive & UCase(strDiskName) & vbCrLf
infoStr infoStr & Drive letter & _
UCase(diskDriveLetter) & vbCrLf
infoStr infoStr & Drive Type & diskDriveType & vbCrLf
infoStr infoStr & Drive File System & _
diskFileSystem & vbCrLf
infoStr infoStr & Drive SerialNumber & _
diskSerialNumber & vbCrLf
infoStr infoStr & Total Size in Bytes & _
FormatNumber(diskTotalSize 1024 0) & Kb & vbCrLf
infoStr infoStr & Free Space on Drive & _
FormatNumber(diskFreeSpace 1024 0) & Kb & vbCrLf
MsgBox infoStr vbInformation Drive Information
End Sub
GetDriveName
Function DriveName(disk)
Dim fs As Object
Dim strDiskName As String
Set fs CreateObject(ScriptingFileSystemObject)
strDiskName fsGetDriveName(disk)
DriveName strDiskName
' run this function from the Immediate window
' by entering DriveName(D\)
End Function
FolderExists True
Sub DoesFolderExist()
Dim fs As Object
Set fs CreateObject(ScriptingFileSystemObject)
MsgBox fsFolderExists(C\Program Files)
End Sub
GetFolder Folder
Sub FilesInFolder()
Dim fs As Object
Dim objFolder As Object
Dim objFile As Object
Set fs CreateObject(ScriptingFileSystemObject)
wwwplcworldcn
Excel 2002 VBA
167
Set objFolder fsGetFolder(C\) WorkbooksAdd
For Each objFile In objFolderFiles
ActiveCellSelect
SelectionFormula objFileName ActiveCellOffset(0 1) _
Range(A1)Select
SelectionFormula objFileType ActiveCellOffset(1 1) _
Range(A1)Select
Next
Columns(AB)Select
SelectionColumnsAutoFit
End Sub
GetSpecialFolder
0 —
1 —
2 —
Sub SpecialFolders()
Dim fs As Object
Dim strWindowsFolder As String
Dim strSystemFolder As String
Dim strTempFolder As String
Set fs CreateObject(ScriptingFileSystemObject)
strWindowsFolder fsGetSpecialFolder(0)
strSystemFolder fsGetSpecialFolder(1)
strTempFolder fsGetSpecialFolder(2)
MsgBox strWindowsFolder & vbCrLf _
& strSystemFolder & vbCrLf _
& strTempFolder vbInformation + vbOKOnly _
Special Folders
End Sub
CreateFolder
Sub MakeNewFolder()
Dim fs objFolder
Set fs CreateObject(ScriptingFileSystemObject)
Set objFolder fsCreateFolder(C\TestFolder)
MsgBox A new folder named & _
objFolderName & was created
End Sub
CopyFolder
Sub MakeFolderCopy()
Dim fs As FileSystemObject
Set fs New FileSystemObject
If fsFolderExists(C\TestFolder) Then
fsCopyFolder C\TestFolder C\FinalFolder
MsgBox The folder was copied
End If
End Sub
MoveFolder
DeleteFolder
Sub RemoveFolder()
Dim fs As FileSystemObject
Set fs New FileSystemObject
If fsFolderExists(C\TestFolder) Then
fsDeleteFolder C\TestFolder
MsgBox The folder was deleted
End If
wwwplcworldcn
Excel 2002 VBA
168
End Sub
CreateTextFile
OpenTextFile
Sub ReadTextFile()
Dim fs As Object
Dim objFile As Object
Dim strContent As String
Dim strFileName As String
strFileName C\WINNT\Systemini
Set fs CreateObject(ScriptingFileSystemObject)
Set objFile fsOpenTextFile(strFileName)
Do While Not objFileAtEndOfStream
strContent strContent & objFileReadLine & vbCrLf
Loop
objFileClose
Set objFile Nothing
ActiveWorkbookSheets(3)Select
Range(A1)Select
SelectionFormula strContent
End Sub


FileSystemObject Drives


Sub DrivesList()
Dim fs As Object
Dim colDrives As Object
Dim strDrive As String

Set fs CreateObject(ScriptingFileSystemObject)
Set colDrives fsDrives
For Each Drive In colDrives
strDrive Drive & DriveDriveLetter &
DebugPrint strDrive
Next
End Sub

26 File
File File
Set fs CreateObject(ScriptingFileSystemObject)
Set objFile fsGetFile(C\My Documents\myFiledoc)
FileInfo File


Attributes VBA GetAttr
DateCreated
DateLastAccessed
DateLastModified
Drive
Name
ParentFolder
wwwplcworldcn
Excel 2002 VBA
169
Path
Size VBA FileLen
Type Windows


27
Folder Folder
Set fs CreateObject(ScriptingFileSystemObject)
Set objFolder fsGetFolder(C\My Documents)


Attributes
DateCreated
Drive Name of Folder
Files
Sub CountFilesInFolder()
Dim fs strFolder objFolder colFiles

strFolder InputBox(Enter the folder name)
If Not IsFolderEmpty(strFolder) Then
Set fs CreateObject(ScriptingFileSystemObject)
Set objFolder fsGetFolder(strFolder)
Set colFiles objFolderFiles
MsgBox The number of files in the folder & _
strFolder & & colFilesCount
End If
End Sub
IsFolderEmpty
IsRootFolder True
Name
ParentFolder
Path
Size
Function IsFolderEmpty(myFolder)
Dim fs objFolder
Set fs CreateObject(ScriptingFileSystemObject)
Set objFolder fsGetFolder(myFolder)
IsFolderEmpty (objFolderSize 0)
End Function
SubFolders
Type

28
Drive Drive
Set fs CreateObject(ScriptingFileSystemObject)
Set objDrive fsGetDrive(C\)
Drive


wwwplcworldcn
Excel 2002 VBA
170
AvailableSpace
FreeSpace AvailableSpace
DriveLetter
DriveType
0 —
1 —
2 —
3 —
4 — CD
5 — RAM
Sub CDROM_DriveLetter()
Const CDROM 4
Dim fs colDrives
Set fs CreateObject(ScriptingFileSystemObject)
Set colDrives fsDrives

For Each Drive In colDrives
If DriveDriveType CDROM Then
MsgBox The CDROM Drive & _
DriveDriveLetter
End If
Next
End Sub
FileSystem FAT NTFS CDFS
IsReady CD True
Function IsCDROMReady(strDriveLetter)
Dim fs objDrive
Set fs CreateObject(ScriptingFileSystemObject)
Set objDrive fsGetDrive(strDriveLetter)

IsCDROMReady (objDriveDriveType 4) And _
objDriveIsReady True
' run this function from the Immediate window
' by entering IsCDROMReady(D)
End Function
Path
SerialNumber
TotalSize

29 WSH
WSH CreateTextFile OpenTextFile OpenAsTextStream



CreateTextFile objectCreateTextFile( filename [ overwrite [ unicode ]])
Object FileSystemObject Folder
filename
Overwrite ( )
True False

Unicode ( ) Unicode ASCII
wwwplcworldcn
Excel 2002 VBA
171
Unicode ASCII
ASCII
Sub CreateFile_Method1()
Dim fs objFile
Set fs CreateObject(ScriptingFileSystemObject)
Set objFile fsCreateTextFile(C\Phonestxt True)
objFileWriteLine (Margaret Kubiak 2123388778)
objFileWriteBlankLines (2)
objFileWriteLine (Robert Prochot 2029882331)
objFileClose
End Sub

True C\Phonestxt
OpenTextFile objectOpenTextFile(filename[ iomode[ create[ format]]])
Object FileSystemObject
Filename
Iomode ( )


iomode
ForReading (1)
ForWriting (2)
ForAppending (8)
Create ( )

Format ( )
ASCII
TristateTrue ASCII
TristateFalse Unicode
TristateUseDefault
Sub CreateFile_Method2()
Dim fs objFile
Set fs CreateObject(ScriptingFileSystemObject)
Set objFile fsOpenTextFile(C\Shoppingtxt _ ForWriting True)
objFileWriteLine (Bread)
objFileWriteLine (Milk)
objFileWriteLine (Strawberries)
objFileClose
End Sub
OpenAsTextStream objectOpenAsTextStream([iomode [format]])
Object File
Iomode ( )
ForReading (1)
ForWriting (2)
ForAppending (8)
Format ( )
ASCII
TristateTrue ASCII
TristateFalse Unicode
TristateUseDefault
Sub CreateFile_Method3()
Dim fs objFile objText
Set fs CreateObject(ScriptingFileSystemObject)
wwwplcworldcn
Excel 2002 VBA
172
fsCreateTextFile Newtxt
Set objFile fsGetFile(Newtxt)
Set objText objFileOpenAsTextStream(ForWriting _
TristateUseDefault)
objTextWrite Wedding Invitation
objTextClose
Set objText objFileOpenAsTextStream(ForReading _
TristateUseDefault)
MsgBox objTextReadLine
objTextClose
End Sub


30 WSH
WSH
FileSystemObject WSH WSH ActiveX
Windows NT WSH
WScript WshShell WshNetwork WshShell


31
Excel
VBA Windows WSH WshShell
Calc
Sub RunNotepad()
Dim WshShell As Object
Set WshShell CreateObject(WScriptShell)
WshShellRun Notepad
Set WshShell Nothing
End Sub
Wshshell
Dim WshShell As Object
Set WshShell CreateObject(WScriptShell)
Run
WshShellRun Notepad

WshShellRun Calc
WshShellRun Explorer
WshShell
Set WshShell Nothing

Sub OpenTxtFileInNotepad()
Dim WshShell As Object
Set WshShell CreateObject(WScriptShell)
WshShellRun Notepad C\Phonestxt
Set WshShell Nothing
End Sub
MSDOS
Sub RunDOSCommand()
Dim WshShell As Object
Set WshShell CreateObject(WScriptShell)
WshShellRun (Command c Dir >lpt1)
wwwplcworldcn
Excel 2002 VBA
173
End Sub

32
VBA VBA
WSH Shell
WshShell CreateShortcut
Set myShortcut WshShellCreateShortcut(Pathname)
Pathname lnk
CreateShortcut


TargetPath TargetPath
WshShellTargetPath ActiveWorkbookFullName
WindowStyle WindowStyle
1 –
3 –
7 –
WshShellWindowStyle 1
HotKey HotKey Alt+f Shift+g Ctrl+Shift+z
WshShellHotkey Ctrl+Alt+w
IconLocation IconLocation

Windows
WshShellIconLocation notepadexe 0
Description Description
WshShellDescription Wordware Web Site
WorkingDirectory WorkingDirectory
strWorkDir WshShellSpecialFolders(Desktop)
WshShellWorkingDirectory strWorkDir
Save Shortcut CreateShortcut
Save


1 WshShortcut
2
3 Save
WshShell CreateShortcut Excel Windows
Wordware Publishing WshShell
SpecialFolders
Sub CreateShortcut()
' this script creates two desktop shortcuts
Dim WshShell As Object
Dim objShortcut As Object

Set WshShell CreateObject(WScriptShell)

' create an internet shortcut
Set objShortcut WshShellCreateShortcut(WshShell _
SpecialFolders(Desktop) & \Wordwareurl)
objShortcutTargetPath httpwwwwordwarecom
objShortcutSave
wwwplcworldcn
Excel 2002 VBA
174

' create a file shortcut
Set objShortcut WshShellCreateShortcut(WshShell _
SpecialFolders(Desktop) & \ & ActiveWorkbookName & lnk)

With objShortcut
TargetPath ActiveWorkbookFullName
WindowStyle 7
Save
End With

Set objShortcut Nothing
Set WshShell Nothing
End Sub

812 SpecialFolders
SpecialFolders AllUsersDesktop
AllUsersStartMenu AllUsersPrograms AllUsersStartup
Desktop Favorites Fonts MyDocuments NetHood PrintHood
Programs Recent SendTo StartMenu Startup Templates
SpecialFolders

33
VBA
WSH FileSystemObject
WshShell Windows
VB
VBA
Microsoft Excel

VBA


Word Excel Access
PowerPoint Outlook

—— VBA
VBA Excel


1
|
MSDOS
Excel VB
—— Shell VBA
Sub End Sub

Shell notepadexe vbMaximizedFocus
wwwplcworldcn
Excel 2002 VBA
175

notepadexe
Shell

91

vbHide 0
vbNormalFocus 1
vbMinimizedFocus 2
vbMaximizedFocus 3
vbNormalNoFocus 4
vbMinimizedNoFocus 6

Shell ID
Shell VB Shell
Shell Shell VB Shell
VB Shell

1 Chap09xls
2 VB
3 WorkWApplets ShellFunction
4 StartPanel
Sub StartPanel()
Shell Controlexe vbNormalFocus
End Sub

Enter


1 Windows XP
2
3
4
5
6
wwwplcworldcn
Excel 2002 VBA
176

91 cpl

7 cpl Control Panel Library dll
92
cpl dll
TELEPHONCPL MODEMCPL
APPWIZCPL
NETCPLCPL NETSHELLDLL
32Bit ODBC ODBCCP32CPL
SYSDMCPL
MLCFG32CPL
PASSWORDCPL NETPLWIZDLL
TIMEDATECPL
INTLCPL
Internet INETCPLCPL
MMSYSCPL
DESKCPL
MAINCPL

ChangeSettings Shell Shell

1 ChangeSettings
Sub ChangeSettings()
Dim nrTask
nrTask Shell(Controlexe intlcpl vbMinimizedFocus)
DebugPrint nrTask
End Sub
2 ChangeSettings 92 cpl
Sub ChangeSettings2()
Dim nrTask
Dim iconFile As String

wwwplcworldcn
Excel 2002 VBA
177
iconFile InputBox(Enter the name of the CPL or DLL file)
nrTask Shell(Controlexe & iconFile vbMinimizedFocus)
DebugPrint nrTask
End Sub
Shell VB ActivateMicrosoftApp
Excel PowerPoint
Enter
ApplicationActivateMicrosoftApp xlMicrosoftPowerPoint
ActivateMicrosoftApp PowerPoint
PowerPoint PowerPoint
ActivateMicrosoftApp

Access xlMicrosoftAccess
FoxPro xlMicrosoftFoxPro
Mail xlMicrosoftMail
PowerPoint xlMicrosoftPowerPoint
Project xlMicrosoftProject
Schedule xlMicrosoftSchedulePlus
Word xlMicrosoftWord

2
Windows VBA
Excel Word Explorer AppActivate

AppActivate title [ wait]
Shell
ID title
title Excel title Microsoft Excel
Microsoft Word PowerPoint wait True
False VB False
wait True
Word
AppActivate Microsoft Word
Shell AppActivate
run Microsoft Word Word
ReturnValue Shell(C\Microsoft Office\Office\Wordexe1)
activate Microsoft Word Word
AppActivate ReturnValue
AppActivate
AppActivate FindCPLFiles
VBA
1 VBA
Shell Explorer

2
AppActivate My Documents


3
VBA
wwwplcworldcn
Excel 2002 VBA
178
SendKeys
SendKeys

SendKeys string [ wait]
string f
SendKeys f
Alt+f
SendKeys f
Alt Shift+Tab
SendKeys +{TAB}
+ Shift 93

91 SendKeys

92 SendKeys
SendKeys +^~
{} {{} {}}

SendKeys wait True False False VB
True VB
93
SendKeys {BACKSPACE}

93 SendKeys

{BACKSPACE} {SCROLLLOCK}
{BS} Tab {TAB}
{BKSP} {UP}
Break {BREAK} F1 {F1}
{CAPSLOCK} F2 {F2}
{DELETE} F3 {F3}
{DEL} F4 {F4}
{DOWN} F5 {F5}
End {END} F6 {F6}
{ENTER} F7 {F7}
~ F8 {F8}
Esc {ESC} F9 {F9}
{HELP} F10 {F10}
Home {HOME} F11 {F11}
{INSERT} F12 {F12}
{INS} F13 {F13}
{LEFT} F14 {F14}
{NUMLOCK} F15 {F15}
{PGDN} F16 {F16}
{PGUP} Shift +
{PRTSC} Ctrl ^
{RIGHT} Alt

93 SendKeys
SendKeys Ctrl+d ^d
Ctrl+Shift+D ^+d
wwwplcworldcn
Excel 2002 VBA
179

cpl VBA cpl

1
Shell Explorer

2 SendKeysStatement
3 FindCPLFiles
Sub FindCPLFiles()
' The keystrokes are for Windows 2000
AppActivate My Documents
' activate the Search window
SendKeys {F3} True
' move the pointer to the Search for files
' and folders named text box
SendKeys m True
' type in the search string
SendKeys *cpl True
' move to the Look in drop down box
SendKeys {Tab}{Tab} True
' change to the root directory
SendKeys C\ True
' execute the Search
SendKeys s True
End Sub
4 Excel FindCPLFiles Alt+F8
AppActivate Shell
cpl
SendKeys

Sub FindCPLFiles2()
AppActivate My Documents
SendKeys {F3} m*cpl{Tab}{Tab}C\s True
End Sub

4
SendKeys

VBA
DDE
DDE
DDE

5

Excel Word Excel Word Excel
VBA Word Automation servers
Automation objects

Microsoft Office 2000 2002
wwwplcworldcn
Excel 2002 VBA
180
ActiveX

6
VBA OLE
Excel Word
Excel


1 Word
2
3 Excel
• | 92 A2
• |Microsoft Word Document
92 A5



Excel
EMBED(WordDocument8)
• |Microsoft Word Document
92
A9

Excel
WordDocument8|'C\Documents and Settings\tj8147\My
Documents\Tiger\VB\Excel2002_Programming\Chinese\Excel2002VBA_Ch9doc''OLE_LINK2'

• | |
92 A11

wwwplcworldcn
Excel 2002 VBA
181

92

7 VBA
InsertLetter Excel Word C\Hellodoc
InsertLetter AddOLEObject OLE OLE Shape VB
AddOLEObject
1 OLE
2 InsertLetter
Sub InsertLetter()
WorkbooksAdd
ActiveSheetShapesAddOLEObject FileNameC\Hellodoc
End Sub
Word Link

ActiveSheetShapesAddOLEObject _
FileNameC\Hellodoc LinkTrue

94







wwwplcworldcn
Excel 2002 VBA
182
8COM
COM
COM Automation interfaces



9
VBA


10
As Object As Vaiant VB
VB As Object
As Variant VB VBA


Dim mydoc As Object

VB



Word
Sub PrintWordDoc()
Dim objWord As Object
Set objWord CreateObject(WordApplication)

With objWord
Visible True
DocumentsOpen C\Hellodoc
OptionsPrintBackground False
ActiveDocumentPrintOut
End With

objWordDocumentsClose
objWordQuit
Set objWord Nothing
End Sub

95
Object Variant


11
VB VB

Dim objectVariable As ApplicationObjectType
Application Word Excel
wwwplcworldcn
Excel 2002 VBA
183
ObjectType

Dim mydoc As WordDocument
Dim mydoc As ExcelWorksheet
VB VB



VBA



12

Microsoft Word
1 VB
2 |
3 Microsoft Word 90 Object Library
Microsoft Word 100 Object Library 93 Microsoft Word 110 Object Library


4
VBA
Excel Microsoft Excel 100 Object Library Microsoft Word 100 90 Object Library
VB

93


wwwplcworldcn
Excel 2002 VBA
184

94 Microsoft Word 110 Object Library 93 Microsoft Word
Excel VBA

13
VBA
• DimAs Object DimAs ApplicationObjectType


• CreateObject GetObject

• Set CreateObject GetObject

14 CreateObject
CreateObject VBA
CreateObject(class)
class Set

Set variable_name CreateObject(class)
Word VBA
'early binding
Dim wordAppl As WordDocument
Set wordAppl CreateObject(WordApplication)

wwwplcworldcn
Excel 2002 VBA
185
'late binding
Dim wordAppl As Object
Set wordAppl CreateObject(WordApplication)
CreateObject
Microsoft Word PowerPoint Word
PowerPoint CreateObject

15 Word
Excel
Word
1 Automation
2 |
3 Microsoft Word 90 Object Library Microsoft Word 100 Object Library

4 WriteLetter
Sub WriteLetter()
Dim wordAppl As WordApplication

ApplicationStatusBar Creating Word Application Object

Set wordAppl CreateObject(WordApplication)
With wordAppl
Visible True
ApplicationStatusBar Creating a new document
DocumentsAdd
ActiveDocumentParagraphs(1)RangeInsertBefore Invitation
ApplicationStatusBar Saving document
ActiveDocumentSaveAs C\Invitedoc
ApplicationStatusBar Exiting Word
Quit
End With
Set wordAppl Nothing
ApplicationStatusBar False
End Sub
5 Excel || WriteLetter
WriteLetter WordApplication Word
CreateObject wordAppl

wordApplVisible True
Word VBA Add
InsertBefore SaveAs Word Quit
Excel Word
Set wordAppl Nothing

ApplicationStatusBar False

Word singleinstance Word
Word WriteLetter CreateObject Word Word

16 GetObject
GetObject
wwwplcworldcn
Excel 2002 VBA
186
GetObject([pathname][ class])
GetObject
class
ExcelApplication
ExcelSheet
ExcelChart
ExcelRange
WordApplication
WordDocument
PowerPointApplication
Invitexls Excel Excel 5
late binding
Dim excelObj As Object
Set excelObj GetObject(C\Invitexls ExcelSheet5)
Word
early binding
Dim wordObj As WordApplication
Set wordObj GetObject(C\Invitedoc)
Office
Dim excelObj As Object
Set excelObj GetObject( ExcelApplication)
GetObject


17 Word
CenterText GetObject Invitedoc WriteLetter
CenterText Word DocExists
IsRunning Word CreateObject
GetObject
Sub CenterText()
Dim wordDoc As WordDocument
Dim wordAppl As WordApplication
Dim mydoc As String
Dim myAppl As String

On Error GoTo ErrorHandler

mydoc C\Invitedoc
myAppl WordApplication

'first find out whether the specified document exists
If Not DocExists(mydoc) Then
MsgBox mydoc & does not exist & Chr(13) & Chr(13) _
& Run the WriteLetter procedure to create & mydoc &
Exit Sub
End If

'now check if Word is running Word
If Not IsRunning(myAppl) Then
MsgBox Word is not running will create a new instance of _
Word
Set wordAppl CreateObject(WordApplication)
Set wordDoc wordApplDocumentsOpen(mydoc)
wwwplcworldcn
Excel 2002 VBA
187
Else
MsgBox Word is running will get the specified document
'bind the wordDoc variable to a specific Word document wordDoc Word
Set wordDoc GetObject(mydoc)
End If

'center the 1st paragraph horizontally on page
With wordDocParagraphs(1)Range
ParagraphFormatAlignment wdAlignParagraphCenter
End With
wordDocApplicationQuit
SaveChangesTrue

Set wordDoc Nothing
Set wordAppl Nothing
MsgBox The document & mydoc & was reformatted
Exit Sub

ErrorHandler
MsgBox ErrDescription vbCritical Error & ErrNumber
End Sub

Function DocExists(ByVal mydoc As String) As Boolean
On Error Resume Next

If Dir(mydoc) < > Then
DocExists True
Else
DocExists False
End If
End Function

Function IsRunning(ByVal myAppl As String) As Boolean
Dim applRef As Object
On Error Resume Next

Set applRef GetObject( myAppl)

If ErrNumber 429 Then
IsRunning False
Else
IsRunning True
End If

'clear object variable
Set applRef Nothing
End Function

18 New
CreateObject New New VB
New
Dim objWord As WordApplication
Set objWord New WordApplication

Dim objAccess As AccessApplication
wwwplcworldcn
Excel 2002 VBA
188
Set objAccess New AccessApplication
New New CreateObject New
VB GetObject
New
Dim objWord As New WordApplication
New Dim Set
New

Dim objWord As WordApplication
Set objWord New WordApplication
Set New Microsoft Outlook
Excel

19 Microsoft Outlook
Excel Outlook Microsoft Outlook 100 90 Object Library
Excel Outlook
Sub GetContacts()
Dim objOut As OutlookApplication
Dim objNspc As NameSpace
Dim objItem As ContactItem
Dim Headings As Variant
Dim i As Integer ' array element
Dim r As Integer ' row index

r 2
Set objOut New OutlookApplication
Set objNspc objOutGetNamespace(MAPI)

Headings Array(Full Name Street City _
State Zip Code EMail)

Sheets(1)Activate

For Each cell In Range(A1F1)
cellFormulaR1C1 Headings(i)
i i + 1
Next
For Each objItem In objNspcGetDefaultFolder _
(olFolderContacts)Items
With ActiveSheet Cells(r 1)Value objItemFullName
Cells(r 2)Value objItemBusinessAddress
Cells(r 3)Value objItemBusinessAddressCity
Cells(r 4)Value objItemBusinessAddressState
Cells(r 5)Value objItemBusinessAddressPostalCode
Cells(r 6)Value objItemEmail1Address
End With
r r + 1
Next objItem

Set objItem Nothing
Set objNspc Nothing
Set objOut Nothing
End Sub
GetContacts objOut Outlook
wwwplcworldcn
Excel 2002 VBA
189
OutlookApplication VBA
New Outlook
objOut
Outlook Outlook NameSpace ContactItem NameSpace
MAPI NameSpace
Outlook
ForEachNext ForEachNext
GetDefaultFolde
Excel Nothing
GetContacts

20
VBA Word Outlook SendKeys
Excel Word
Outlook Excel
CreateObject GetObject VBA New
Excel Microsoft Access


狂x邻鉴首魔put激ox获激溢


• –
• –
获激溢–

狂x邻鉴首–
狂x邻鉴首
获激溢–
狂x邻鉴首x首熬集身首o铅x首熬集身首o铅点首鉴身龄 x首熬集身首o铅环o魔t
x首熬集身首o铅熬鉴f集魔鉴篇身骤鉴x首熬集身首o铅精pt集o魔s获集鉴w狂x邻鉴首熬集身首os量集身首o铅


度嵌嫌度––
– –
– x首熬集身首o铅篇鉴w–
– x首熬集身首o铅精p鉴魔–
– x首熬集身首o铅背身v鉴溢s–
– x首熬集身首o铅紫身铅鉴背鉴tup–
– x首熬集身首o铅紫龄集魔t–
– x首熬集身首o铅环o魔t–

背长ow–
溢pp首集邻身t集o魔富熬集身首o铅s喧器富背长ow––

溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅环o魔t器富背长ow–

wwwplcworldcn
Excel 2002 VBA
190
狂x邻鉴首x首熬集身首o铅狂x邻鉴首
度嵌嫌度–

度富 点长身p度嵌富x首s–
必富 获激–
惊富 –
懂富 –
溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅点首鉴身龄器富背长ow––
溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅环o魔t器富背长ow––
溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅环o魔t紫龄op鉴龄t集鉴s器富背长ow––
溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅熬鉴f集魔鉴篇身骤鉴器富背长ow––
溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅精pt集o魔s获集鉴w器富背长ow––

狂x邻鉴首

获激溢
获激溢–
狂x邻鉴首

溢pp首集邻身t集o魔富熬集身首o铅背喧x首熬集身首o铅点首鉴身龄器富背长ow–度––
背长ow狂x邻鉴首
橄度橄必橄惊橄懂
度嵌嫌惊–



wwwplcworldcn
Excel 2002 VBA
191
度嵌嫌度–x首熬集身首o铅狂x邻鉴首–

溢龄集身首度懂–
溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅环o魔t器富背长ow–便溢龄集身首便始–度懂–

溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅环o魔t器富背长ow–始–族––
着o长魔溢度–
溢pp首集邻身t集o魔富熬集身首o铅s喧x首熬集身首o铅熬鉴f集魔鉴篇身骤鉴器富背长ow–便着o长魔便始–便橄减溢减度便––
背长ow膳龄u鉴环身首s鉴–
––––
––––
度嵌嫌必–x首熬集身首o铅精pt集o魔s获集鉴w–

wwwplcworldcn
Excel 2002 VBA
192

度嵌嫌惊–狂x邻鉴首–

1
精ff集邻鉴藏紫环集首鉴熬集身首o铅获激溢
环集首鉴熬集身首o铅立集邻龄osoft–精ff集邻鉴–度嵌富嵌–精迎面鉴邻t–种集迎龄身龄y精ff集邻鉴–藏紫
狂x邻鉴首理鉴t精p鉴魔环集首鉴魔身骤鉴
理鉴t背身v鉴溢s环集首鉴魔身骤鉴获激溢环集首鉴熬集身首o铅

溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅精p鉴魔器富背长ow––

溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅背身v鉴溢s器富背长ow––

环集首鉴熬集身首o铅度嵌嫌懂
度嵌嫌拉–
–迎龄ows鉴–t长鉴–首集st–of–f集首鉴s–身魔量–fo首量鉴龄s– –
溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅环集首鉴紫集邻颜鉴龄器富背长ow––

wwwplcworldcn
Excel 2002 VBA
193


度嵌嫌懂––

–迎龄ows鉴–t长鉴–首集st–of–fo首量鉴龄s– –
溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅环o首量鉴龄紫集邻颜鉴龄器富背长ow––

度嵌嫌拉––
––––
骤so立集邻龄osoft–精ff集邻鉴––

骤so环集首鉴熬集身首o铅– –
wwwplcworldcn
Excel 2002 VBA
194
骤so环集首鉴熬集身首o铅精p鉴魔– 度–
骤so环集首鉴熬集身首o铅背身v鉴溢s– 必–
骤so环集首鉴熬集身首o铅环集首鉴紫集邻颜鉴龄– 惊–
骤so环集首鉴熬集身首o铅环o首量鉴龄紫集邻颜鉴龄– 懂–

环集首鉴熬集身首o铅环集首t鉴龄s
必懂

s鉴t–f–橄–溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅精p鉴魔器富环集首t鉴龄s––
f富邻ou魔t––
环集首鉴熬集身首o铅环集首鉴熬集身首o铅环集首t鉴龄s狂x邻鉴首

度富 获激溢熬集身首o铅激ox鉴s–
必富 熬集身首o铅激ox鉴s种集st环集首t鉴龄s–
背u迎–种集st环集首t鉴龄s喧器––
熬集骤–f量fs–溢s–环集首鉴熬集身首o铅环集首t鉴龄s––
熬集骤–f集首t–溢s–环集首鉴熬集身首o铅环集首t鉴龄––
熬集骤–邻–溢s–魔t鉴铅鉴龄––

背鉴t–f量fs–橄–溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅精p鉴魔器富环集首t鉴龄s––
背长鉴鉴ts喧惊器富点鉴首首s喧度始–度器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富环o龄骤u首身–橄–便种集st–of–熬鉴f身u首t–环集首t鉴龄s便––

蓄集t长–f量fs––
邻–橄–富点ou魔t––
环o龄–狂身邻长–f集首t–魔–f量fs––
背鉴首鉴邻t集o魔富精ffs鉴t喧度始–嵌器富环o龄骤u首身–橄–f集首t富熬鉴s邻龄集pt集o魔––豫––
便架–便––f集首t富狂xt鉴魔s集o魔s––
背鉴首鉴邻t集o魔富精ffs鉴t喧度始–嵌器富背鉴首鉴邻t––
篇鉴xt––
立s铅激ox–邻––便–f集首t鉴龄s–w鉴龄鉴–w龄集tt鉴魔–to–背长鉴鉴t惊富便––
狂魔量–蓄集t长––
狂魔量–背u迎––
f量fs环集首鉴熬集身首o铅环集首鉴熬集身首o铅环集首t鉴龄sf集首t
环集首鉴熬集身首o铅环集首t鉴龄环集首鉴熬集身首o铅环集首t鉴龄s点ou魔t

环集首鉴熬集身首o铅环集首t鉴龄s溢量量
种集st环集首t鉴龄s必城富t骤p

背u迎–种集st环集首t鉴龄s必喧器––
熬集骤–f量fs–溢s–环集首鉴熬集身首o铅环集首t鉴龄s––
熬集骤–f集首t–溢s–环集首鉴熬集身首o铅环集首t鉴龄––
熬集骤–邻–溢s–魔t鉴铅鉴龄––

背鉴t–f量fs–橄–溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅精p鉴魔器富环集首t鉴龄s––
背长鉴鉴ts喧惊器富点鉴首首s喧度始–度器富背鉴首鉴邻t––
背鉴首鉴邻t集o魔富环o龄骤u首身–橄–便种集st–of–熬鉴f身u首t–环集首t鉴龄s便––

蓄集t长–f量fs––
邻–橄–富点ou魔t––
wwwplcworldcn
Excel 2002 VBA
195
环o龄–狂身邻长–f集首t–魔–f量fs––
背鉴首鉴邻t集o魔富精ffs鉴t喧度始–嵌器富环o龄骤u首身–橄–f集首t富熬鉴s邻龄集pt集o魔––豫––
便架–便––f集首t富狂xt鉴魔s集o魔s––
背鉴首鉴邻t集o魔富精ffs鉴t喧度始–嵌器富背鉴首鉴邻t––
篇鉴xt––

立s铅激ox–邻––便–f集首t鉴龄s–w鉴龄鉴–w龄集tt鉴魔–to–背长鉴鉴t惊富便–
富溢量量–便膳鉴骤po龄身龄y–环集首鉴s便始–便城富t骤p便始–度––
邻–橄–富点ou魔t––
立s铅激ox–便膳长鉴龄鉴–身龄鉴–魔ow–便––邻––便–f集首t鉴龄s富便––v迎点龄种f–豫––
–便点长鉴邻颜–fo龄–you龄s鉴首f富便––
溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅精p鉴魔器富背长ow––
狂魔量–蓄集t长––
狂魔量–背u迎––
环集首鉴熬集身首o铅环集首t鉴龄s点首鉴身龄
城富t骤p–
环集首鉴熬集身首o铅背鉴首鉴邻t鉴量t鉴骤s
背鉴首鉴邻t鉴量t鉴骤s环集首鉴熬集身首o铅背鉴首鉴邻t鉴量t鉴骤s环集首鉴熬集身首o铅溢首首ow立u首t集背鉴首鉴邻t膳龄u鉴
背长集ft点t龄首–


背u迎–种集st背鉴首鉴邻t鉴量环集首鉴s喧器––
熬集骤–f量–溢s–环集首鉴熬集身首o铅––
熬集骤–骤y环集首鉴–溢s–获身龄集身魔t––
熬集骤–首迎ox–溢s–精迎面鉴邻t––

背鉴t–f量–橄–溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅精p鉴魔器––

蓄集t长–f量––
富溢首首ow立u首t集背鉴首鉴邻t–橄–膳龄u鉴––
f–富背长ow–膳长鉴魔––
蓄o龄颜迎oo颜s富溢量量––

背鉴t–首迎ox–橄–蓄o龄颜s长鉴鉴ts喧度器富背长身p鉴s富–豫–
溢量量环o龄骤点o魔t龄o首喧x首种集st激ox始–豫–
种鉴ft架橄必嵌始–膳op架橄描嵌始–病鉴集铅长t架橄懂嵌始–蓄集量t长架橄惊嵌嵌器––
首迎ox富点o魔t龄o首环o龄骤身t富立u首t集背鉴首鉴邻t–橄–x首篇o魔鉴––

环o龄–狂身邻长–骤y环集首鉴–魔–富背鉴首鉴邻t鉴量t鉴骤s––
首迎ox富点o魔t龄o首环o龄骤身t富溢量量t鉴骤–骤y环集首鉴––
篇鉴xt––

美身魔铅鉴喧便激懂便器富环o龄骤u首身–橄–豫––
便ou响v鉴–s鉴首鉴邻t鉴量–t长鉴–fo首首ow集魔铅–便––豫––
首迎ox富点o魔t龄o首环o龄骤身t富种集st点ou魔t––便–f集首鉴s架便––
首迎ox富点o魔t龄o首环o龄骤身t富种集st魔量鉴x–橄–度––
狂魔量–f––
狂魔量–蓄集t长––
狂魔量–背u迎––

wwwplcworldcn
Excel 2002 VBA
196

度嵌嫌描–种集st背鉴首鉴邻t鉴量环集首鉴s–

背长ow
背鉴首鉴邻t鉴量t鉴骤s背鉴首鉴邻t鉴量t鉴骤s
环集首鉴熬集身首o铅狂x鉴邻ut鉴–
背u迎–精p鉴魔美集铅长t溢w身y喧器––
熬集骤–f量–溢s–环集首鉴熬集身首o铅––
熬集骤–骤y环集首鉴–溢s–获身龄集身魔t––

背鉴t–f量–橄–溢pp首集邻身t集o魔富环集首鉴熬集身首o铅喧骤so环集首鉴熬集身首o铅精p鉴魔器––

蓄集t长–f量––
富溢首首ow立u首t集背鉴首鉴邻t–橄–膳龄u鉴––
f–富背长ow–膳长鉴魔––
环o龄–狂身邻长–骤y环集首鉴–魔–富背鉴首鉴邻t鉴量t鉴骤s––
富狂x鉴邻ut鉴––
篇鉴xt––
狂魔量–f––
狂魔量–蓄集t长––
狂魔量–背u迎––

2GetOpenFilename GetSaveAsFilename
狂x邻鉴首获激溢理鉴t精p鉴魔环集首鉴魔身骤鉴–
理鉴t背身v鉴溢s环集首鉴魔身骤鉴狂x邻鉴首狂x邻鉴首必嵌嵌必–
理鉴t精p鉴魔环集首鉴魔身骤鉴理鉴t背身v鉴溢s环集首鉴魔身骤鉴

度富 –
溢pp首集邻身t集o魔富理鉴t精p鉴魔环集首鉴魔身骤鉴––
溢pp首集邻身t集o魔富理鉴t背身v鉴溢s环集首鉴魔身骤鉴––
wwwplcworldcn
Excel 2002 VBA
197
溢pp首集邻身t集o魔富理鉴t背身v鉴溢s环集首鉴魔身骤鉴–喧便紫首身魔必富x首s便器––
理鉴t精p鉴魔环集首鉴魔身骤鉴


理鉴t精p鉴魔环集首鉴魔身骤鉴– –
f集首鉴环集首t鉴龄– 背身v鉴–身s–typ鉴
狂x邻鉴首–环集首鉴s喧城富x首s器
f集首鉴环集首t鉴龄–狂x邻鉴首–环集首鉴s喧城富x首s器始–城富x首s狂x邻鉴首–环集首鉴s始–
城富x首s


t集t首鉴– –


溢pp首集邻身t集o魔富理鉴t精p鉴魔环集首鉴魔身骤鉴喧便狂x邻鉴首–环集首鉴s喧城富x首s器始–城富x首s便器始始便病集铅长首集铅长t–t长鉴–环集首鉴便––
理鉴t精p鉴魔环集首鉴魔身骤鉴获激溢–
you龄环集首鉴–橄–溢pp首集邻身t集o魔富理鉴t精p鉴魔环集首鉴魔身骤鉴––
you龄环集首鉴––
点架览狂藏点狂种览立身龄颜富x首s––
蓄o龄颜迎oo颜s富精p鉴魔–环集首鉴魔身骤鉴架橄you龄环集首鉴––
you龄环集首鉴you龄环集首鉴
点架览狂藏点狂种览立身龄颜富x首s you龄环集首鉴狂s邻
理鉴t精p鉴魔环集首鉴魔身骤鉴环身首s鉴–
理鉴t背身v鉴溢s环集首鉴魔身骤鉴–
溢pp首集邻身t集o魔富理鉴t背身v鉴溢s环集首鉴魔身骤鉴–喧便紫首身魔必富x首s便器––
狂x邻鉴首理鉴t背身v鉴溢s环集首鉴魔身骤鉴

you龄环集首鉴–橄–溢pp首集邻身t集o魔富理鉴t背身v鉴溢s环集首鉴魔身骤鉴喧紫首身魔必富x首s始–便狂x邻鉴首–环集首鉴s喧城富x首s器始–城富x首s便始始便篇身骤鉴–you龄–f集首鉴便器––
理鉴t背身v鉴溢s环集首鉴魔身骤鉴–

3
获激溢


获激溢
获激|–
蓄o龄量获激狂x邻鉴首


• 获激–
• |–

––
wwwplcworldcn
Excel 2002 VBA
198

度嵌嫌操–获激溢–

度嵌嫌族

环度获激溢
篇身骤鉴点身pt集o魔


度嵌嫌度–获激溢–
获激获激溢
||
获激溢
获激狂–

wwwplcworldcn
Excel 2002 VBA
199

度嵌嫌族––

4
获激
溢邻t集v鉴藏


度嵌嫌暗–

立集邻龄osoft–精ff集邻鉴溢邻t集v鉴藏溢邻t集v鉴藏
溢邻t集v鉴藏–
度富 –
必富 溢邻t集v鉴藏

惊富

懂富 度嵌嫌度嵌
wwwplcworldcn
Excel 2002 VBA
200


度嵌嫌度嵌–溢邻t集v鉴藏–

获激–
––––
5
点身pt集o魔

溢邻邻鉴首鉴龄身to龄溢首t

溢邻邻鉴首鉴龄身to龄|膳身迎
膳身迎度嵌嫌度懂–

6

立u首t集种集魔鉴蓄o龄量蓄龄身p
狂魔t鉴龄磅鉴y激鉴长身v集o龄膳龄u鉴立u首t集种集魔鉴
狂魔t鉴龄环集鉴首量激鉴长身v集o龄
膳身迎嵌f骤狂魔t鉴龄环集鉴首量激鉴长身v集o龄背鉴首鉴邻t溢首首
度f骤狂魔t鉴龄环集鉴首量激鉴长身v集o龄美鉴邻身首首背鉴首鉴邻t集o魔
立身x种鉴魔铅t长–

7
获激


度嵌嫌度度–

wwwplcworldcn
Excel 2002 VBA
201
8


获身首u鉴膳龄u鉴环身首s鉴膳龄u鉴环身首s鉴–

9

获身首u鉴膳龄u鉴获身首u鉴环身首s鉴–

10

膳龄u鉴–

11

获激溢溢量量t鉴骤美ow背ou龄邻鉴
减溢减度架减激减族–
点o首u骤魔点ou魔t点o首u骤魔病鉴身量s膳龄u鉴
立u首t集背首鉴邻t
膳龄u鉴–

12

立身t邻长美鉴黄u集龄鉴量环身首s鉴
种集st美ows背ty首鉴
嵌f骤背ty首鉴熬龄op熬ow魔点o骤迎o
背ty首鉴必f骤背ty首鉴熬龄op熬ow魔种集st–

13

获身首u鉴立身x立集魔
种身龄铅鉴点长身魔铅鉴获身首u鉴
背骤身首首点长身魔铅鉴获身首u鉴–

14



15
城富迎骤p城富邻u龄城铅集f城富集邻o城富面p铅城富w骤f
紫集邻tu龄鉴背集z鉴立o量鉴
wwwplcworldcn
Excel 2002 VBA
202
嵌f骤紫集邻tu龄鉴背集z鉴立o量鉴点首集p度f骤紫集邻tu龄鉴背集z鉴立o量鉴背t龄鉴t邻长
惊f骤紫集邻tu龄鉴背集z鉴立o量鉴融oo骤–

16
度嵌嫌度操


获激溢溢量量–

17TabStrip
膳身迎背t龄集p膳身迎背t龄集p度嵌嫌度操

t身迎
膳身迎首背t龄集p–

18RefEdit
美鉴f狂量集t狂x邻鉴首获激溢
狂x邻鉴首
美鉴f狂量集t美鉴f狂量集t
美鉴f狂量集t–

19
度嵌嫌暗


|–


度族藏操必病鉴集铅长t蓄集量t长




度嵌嫌必––
获激
|


20 1


度嵌嫌度度
度嵌嫌度必–
获激溢–
wwwplcworldcn
Excel 2002 VBA
203
度富 获激溢紫龄o面鉴邻t喧点长身p度嵌富x首s器点usto骤环o龄骤s–
必富 |–
惊富 篇身骤鉴魔fo背u龄v鉴y花s鉴龄环o龄骤度获激溢

懂富 点身pt集o魔魔fo–背u龄v鉴y–
拉富 激身邻颜点o首o龄–


度嵌嫌度度魔fo–背u龄v鉴y–


wwwplcworldcn
Excel 2002 VBA
204
度嵌嫌度必–背u龄v鉴y–

21

篇身骤鉴点身pt集o魔
度嵌嫌度度–
度富 –
– 获激溢–
身富 –
• –
• –
• –
迎富 –
度族嵌–藏–必懂嵌度属操必病鉴集铅长t蓄集量t长

• 魔fo–背u龄v鉴y–
• 病鉴集铅长t必拉必富操拉蓄集量t长懂嵌拉富操拉–

必富 –
• –
• 环龄身骤鉴度
嫌环龄身骤鉴度–
• 点身pt集o魔环龄身骤鉴度立身集魔–魔t鉴龄鉴st–
惊富 –
• 立身集魔–魔t鉴龄鉴st
精pt集o魔激utto魔度–
• 点身pt集o魔病身龄量w身龄鉴–
• 立身集魔–魔t鉴龄鉴st点身pt集o魔背oftw身龄鉴–


懂富 –
• 立身集魔–魔t鉴龄鉴st

度嵌嫌度度–
拉富 –
• 点身pt集o魔理鉴魔量鉴龄
点身pt集o魔立身首鉴环鉴骤身首鉴度嵌嫌度度–

度嵌嫌惊––
点t龄首
点身pt集o魔–

背长集ft——


描富 –
• 立身集魔–魔t鉴龄鉴st–
• 点身pt集o魔点o骤put鉴龄–膳yp鉴–
• 点长鉴邻颜激ox度–
wwwplcworldcn
Excel 2002 VBA
205
• 点长鉴邻颜激ox度点身pt集o魔激立属点o骤p身t集迎首鉴–
• 点o骤put鉴龄–膳yp鉴点身pt集o魔篇ot鉴迎oo颜属种身ptop
立身邻集魔tos长度嵌嫌度度–

x


度嵌嫌懂––


操富 –
• –
• 点o骤put鉴龄–膳yp鉴种身迎鉴首度–
• 种身迎鉴首度点身pt集o魔蓄长鉴龄鉴–花s鉴量–
• –
• 蓄长鉴龄鉴–花s鉴量–


族富 –
• –
• 蓄长鉴龄鉴–花s鉴量点身pt集o魔紫鉴龄邻鉴魔t–喧势器–花s鉴量–
• –
• 紫鉴龄邻鉴魔t–喧势器–花s鉴量–
• 度嵌嫌度度

立身x立集魔
种身龄铅鉴点长身魔铅鉴

获激溢

暗富 –
• –
• 点o骤骤身魔量激utto魔度–
• 点o骤骤身魔量激utto魔度点o骤骤身魔量激utto魔必–
• 点o骤骤身魔量激utto魔度点身pt集o魔精磅点o骤骤身魔量激utto魔必点身魔邻鉴首–
精磅

获激溢–
度嵌富 –
• ––––
• 点身魔邻鉴首度嵌嫌度度
病身龄量w身龄鉴背oftw身龄鉴获激溢––––
度度富 –
• –
• 环拉|属–
• 获激狂x邻鉴首
环拉–
• x获激精磅点身魔邻鉴首
获激溢–

wwwplcworldcn
Excel 2002 VBA
206

度嵌嫌拉––

||–

22
获激
精pt集o魔激utto魔度–
精pt集o魔激utto魔必获激溢–

• –
• 篇身骤鉴–
篇身骤鉴
嫌环龄身骤鉴度篇身骤鉴–
点身pt集o魔魔fo–背u龄v鉴y环龄身骤鉴度
立身集魔–魔t鉴龄鉴st点身pt集o魔
获激溢–
度富 魔fo–背u龄v鉴y
opt病身龄量opt精pt集o魔激utto魔病身龄量
病身龄量w身龄鉴–

– 篇身骤鉴–
– opt病身龄量 –
– opt背oft –
– 首迎ox背yst鉴骤s –
– opt立身首鉴 –
– opt环鉴骤身首鉴 –
– 邻长颜激立 –
– 邻长颜篇ot鉴 –
– 邻长颜立身邻 –
– 邻迎ox蓄长鉴龄鉴花s鉴量 –
– txt紫鉴龄邻鉴魔t –
– sp紫鉴龄邻鉴魔t –
– 迎ut精磅 –
– 迎ut点身魔邻鉴首 –
– p集邻骤身铅鉴 –

23
魔fo–背u龄v鉴y
篇身骤鉴获激溢
获激溢–

首迎ox背yst鉴骤s点o魔t龄o首膳集p膳鉴xt魔fo–背u龄v鉴y点o魔t龄o首膳集p膳鉴xt
背鉴首鉴邻t–o魔首y–o魔鉴–
集t鉴骤–
度富 –

wwwplcworldcn
Excel 2002 VBA
207
– – –
首迎ox背yst鉴骤s– 点o魔t龄o首膳集p膳鉴xt – 背鉴首鉴邻t–o魔首y–o魔鉴–集t鉴骤–
sp紫鉴龄邻鉴魔t– 立身x – 度嵌嵌–
sp紫鉴龄邻鉴魔t– 立集魔 – 嵌–
精磅–迎utto魔– 溢邻邻鉴首鉴龄身to龄 – 精–
点身魔邻鉴首–迎utto魔– 溢邻邻鉴首鉴龄身to龄 – 点–
p集邻骤身铅鉴– 紫集邻tu龄鉴背集z鉴立o量鉴 – 嵌–嫌–f骤紫集邻tu龄鉴背集z鉴立o量鉴点首集p–

溢邻邻鉴首鉴龄身to龄
溢首t增精精磅魔fo–背u龄v鉴y获激溢


24
精磅

度富 狂x邻鉴首–
必富 点长身p度嵌富x首s背长鉴鉴t度魔fo–背u龄v鉴y–
惊富 度嵌嫌度惊–
懂富 磅–
魔fo–背u龄v鉴y背u龄v鉴y–
拉富 |–
描富 磅必熬o背u龄v鉴y

操富 熬o背u龄v鉴y度背u龄v鉴y
背u龄v鉴y

族富 点长身p度嵌富x首s–

wwwplcworldcn
Excel 2002 VBA
208
––––
度嵌嫌度惊–背u龄v鉴y魔fo–背u龄v鉴y精磅–

25
背长ow熬o背u龄v鉴y
魔fo–背u龄v鉴y背u龄v鉴y–
度富 获激点usto骤环o龄骤s喧点长身p度嵌富x首s器|–
必富 背长ow背u龄v鉴y–
惊富 –
背u迎–熬o背u龄v鉴y喧器––
魔fo背u龄v鉴y富背长ow––
狂魔量–背u迎––
背长ow魔fo背u龄v鉴y–
懂富 点长身p度嵌富x首s–
拉富 狂x邻鉴首背u龄v鉴y魔fo–背u龄v鉴y–
背u龄v鉴y描
背u龄v鉴y熬o背u龄v鉴y
背u龄v鉴y–
描富 x魔fo–背u龄v鉴y–

26 Tab
膳身迎
wwwplcworldcn
Excel 2002 VBA
209
魔fo–背u龄v鉴y膳身迎–
度富 魔fo背u龄v鉴y–
必富 |膳身迎膳身迎魔fo背u龄v鉴y


惊富 度嵌嫌度懂魔fo–背u龄v鉴y–
懂富 膳身迎–
拉富 狂x邻鉴首背u龄v鉴y–
描富 膳身迎背长集ft增膳身迎–
操富 魔fo背u龄v鉴y膳身迎–


度嵌嫌度懂–膳身迎膳身迎–

27




必嵌
点首集邻颜熬迎首点首集邻颜溢邻t集v身t鉴魔集t集身首集z鉴美鉴s集z鉴–
度嵌嫌必篇
溢量量点o魔t龄o首




wwwplcworldcn
Excel 2002 VBA
210
Event name
UserForm Label TextBox ComboBox ListBox CheckBox OptionButton ToggleButton Frame CommandButton TabStrip MultiPage ScrollBar SpinButton Image RefEdit
Activate NNNNNNNNNNNNNNN
AddControl NNNNNNNNNNNNN
AfterUpdate NNNNNNN
BeforeDragOver
BeforeDropOrPaste
BeforeUpdate NNNNNNN
Change NNNNN
Click N NNN
DblClick NN
Deactivate NNNNNNNNNNNNNN
DropButtonClick NNNNNNNNNNNNN
Enter NN N
Error
Initialize NNNNNNNNNNNNNNN
Exit NN N
KeyDown N N
KeyPress N N
KeyUp N N
Layout NNNNNNNNNNNNN
MouseDown NN
MouseMove NN
MouseUp NN
QueryClose NNNNNNNNNNNNNNN
RemoveControl NNNNNNNNNNNNN
Resize NNNNNNNNNNNNNNN
Scoll NNNNNNNNNNNN
SpinDown NNNNNNNNNNNNNNN
SpinUp NNNNNNNNNNNNNNN
Terminate NNNNNNNNNNNNNNN–
度嵌嫌必––

获激溢

• –
• –
• –
• –
度嵌嫌度拉
立集邻龄osoft–获集su身首–激身s集邻点长身p度嵌富x首s––装花s鉴龄环o龄骤度喧器言




wwwplcworldcn
Excel 2002 VBA
211
––––
度嵌嫌度拉––

28 VBA
获激溢获激

魔集t集身首集z鉴

魔集t集身首集z鉴魔fo–背u龄v鉴y–
度富 立身集魔–魔t鉴龄鉴st病身龄量w身龄鉴–
必富 病身龄量w身龄鉴–
惊富 点o骤put鉴龄–膳yp鉴–
懂富 蓄长鉴龄鉴–花s鉴量–
拉富 嵌–
描富 病身龄量w身龄鉴背oftw身龄鉴–

29
度富 魔fo背u龄v鉴y–
必富 –
点首集邻颜–
度嵌嫌度拉获激背u迎紫龄集v身t鉴


惊富 魔集t集身首集z鉴获激花s鉴龄环o龄骤豫魔集t集身首集z鉴–
紫龄集v身t鉴–背u迎–花s鉴龄环o龄骤豫魔集t集身首集z鉴喧器––
狂魔量–背u迎––
懂富 紫龄集v身t鉴–背u迎狂魔量–背u迎花s鉴龄环o龄骤豫魔集t集身首集z鉴–
紫龄集v身t鉴–背u迎–花s鉴龄环o龄骤豫魔集t集身首集z鉴喧器––
wwwplcworldcn
Excel 2002 VBA
212
响s鉴首鉴邻t–t长鉴–病身龄量w身龄鉴–opt集o魔– 病身龄量w身龄鉴–
opt病身龄量富获身首u鉴–橄–膳龄u鉴––

响tu龄魔–off–t长鉴–背oftw身龄鉴–opt集o魔–身魔量–身首首–t长鉴–邻长鉴邻颜–迎ox鉴s– 背oftw身龄鉴–
opt背oft富获身首u鉴–橄–环身首s鉴––
邻长颜激立富获身首u鉴–橄–环身首s鉴––
邻长颜篇ot鉴富获身首u鉴–橄–环身首s鉴––
邻长颜立身邻富获身首u鉴–橄–环身首s鉴––

响量集sp首身y–身–z鉴龄o–集魔–t长鉴–t鉴xt–迎ox– 嵌–
txt紫鉴龄邻鉴魔t富获身首u鉴–橄–嵌––

响邻身首首–t长鉴–p龄o邻鉴量u龄鉴–to–popu首身t鉴–t长鉴–首集st–迎ox–w集t长––
响长身龄量w身龄鉴–opt集o魔s– –
点身首首–种集st病身龄量w身龄鉴––

响popu首身t鉴–t长鉴–邻o骤迎o–迎ox– –
蓄集t长–立鉴富邻迎ox蓄长鉴龄鉴花s鉴量––
富溢量量t鉴骤–便长o骤鉴便––
富溢量量t鉴骤–便wo龄颜便––
富溢量量t鉴骤–便s邻长oo首便––
富溢量量t鉴骤–便wo龄颜属长o骤鉴便––
富溢量量t鉴骤–便长o骤鉴属s邻长oo首便––
富溢量量t鉴骤–便wo龄颜属长o骤鉴属s邻长oo首––
狂魔量–蓄集t长––

响s鉴首鉴邻t–t长鉴–f集龄st–鉴首鉴骤鉴魔t–集魔–t长鉴–邻o骤迎o–迎ox– –
立鉴富邻迎ox蓄长鉴龄鉴花s鉴量富种集st魔量鉴x–橄–嵌––

响s鉴首鉴邻t–t长鉴–f集龄st–鉴首鉴骤鉴魔t–集魔–t长鉴–首集st–迎ox– –
立鉴富首迎ox背yst鉴骤s富种集st魔量鉴x–橄–嵌––

响首o身量–身–p集邻tu龄鉴–f集首鉴–fo龄–t长鉴–病身龄量w身龄鉴–opt集o魔– 病身龄量w身龄鉴–
立鉴富p集邻骤身铅鉴富紫集邻tu龄鉴–橄–种o身量紫集邻tu龄鉴喧便点架览邻量富迎骤p便器––
狂魔量–背u迎––
立鉴–
魔fo背u龄v鉴y富邻迎ox蓄长鉴龄鉴花s鉴量富种集st魔量鉴x–橄–嵌––

立鉴富邻迎ox蓄长鉴龄鉴花s鉴量富种集st魔量鉴x–橄–嵌––

种集st魔量鉴x度–


花s鉴龄环o龄骤豫魔集t集身首集z鉴种集st病身龄量w身龄鉴–
拉富 背长ow背u龄v鉴y种集st病身龄量w身龄鉴–
背u迎–种集st病身龄量w身龄鉴喧器––
蓄集t长–魔fo背u龄v鉴y富首迎ox背yst鉴骤s––
富溢量量t鉴骤–便点熬嫌美精立–熬龄集v鉴便––
富溢量量t鉴骤–便紫龄集魔t鉴龄便––
富溢量量t鉴骤–便环身x便––
wwwplcworldcn
Excel 2002 VBA
213
富溢量量t鉴骤–便篇鉴two龄颜便––
富溢量量t鉴骤–便着oyst集邻颜便––
富溢量量t鉴骤–便背ou魔量–点身龄量便––
富溢量量t鉴骤–便理龄身p长集邻s–点身龄量便––
富溢量量t鉴骤–便立o量鉴骤便––
富溢量量t鉴骤–便立o魔集to龄便––
富溢量量t鉴骤–便立ous鉴便––
富溢量量t鉴骤–便融集p–熬龄集v鉴便––
富溢量量t鉴骤–便背邻身魔魔鉴龄便––
狂魔量–蓄集t长––
狂魔量–背u迎––
花s鉴龄环o龄骤豫魔集t集身首集z鉴种集st病身龄量w身龄鉴–
描富 魔fo–背u龄v鉴y背u龄v鉴y点身魔邻鉴首
背oftw身龄鉴


30
种集st病身龄量w身龄鉴病身龄量w身龄鉴首迎ox背yst鉴骤s背oftw身龄鉴

度富 背长ow背u龄v鉴y种集st背oftw身龄鉴–
背u迎–种集st背oftw身龄鉴喧器––
蓄集t长–魔fo背u龄v鉴y富首迎ox背yst鉴骤s––
富溢量量t鉴骤–便背p龄鉴身量s长鉴鉴ts便––
富溢量量t鉴骤–便熬身t身迎身s鉴s便––
富溢量量t鉴骤–便点溢熬–背yst鉴骤s便––
富溢量量t鉴骤–便蓄o龄量–紫龄o邻鉴ss集魔铅便––
富溢量量t鉴骤–便环集魔身魔邻鉴–紫龄o铅龄身骤s便––
富溢量量t鉴骤–便理身骤鉴s便––
富溢量量t鉴骤–便溢邻邻ou魔t集魔铅–紫龄o铅龄身骤s便––
富溢量量t鉴骤–便熬鉴s颜top–紫u迎首集s长集魔铅便––
富溢量量t鉴骤–便骤身铅集魔铅–背oftw身龄鉴便––
富溢量量t鉴骤–便紫鉴龄so魔身首–魔fo龄骤身t集o魔–立身魔身铅鉴龄s便––
狂魔量–蓄集t长––
狂魔量–背u迎––

31
度富 魔fo背u龄v鉴y立身集魔–魔t鉴龄鉴st背oftw身龄鉴–
必富 opt背oft豫点首集邻颜熬鉴首鉴t鉴–
惊富 点长身魔铅鉴获激opt背oft豫点长身魔铅鉴–
懂富 opt背oft豫点长身魔铅鉴–
紫龄集v身t鉴–背u迎–opt背oft豫点长身魔铅鉴喧器––
立鉴富首迎ox背yst鉴骤s富点首鉴身龄––
点身首首–种集st背oftw身龄鉴––
立鉴富首迎ox背yst鉴骤s富种集st魔量鉴x–橄–嵌––
立鉴富p集邻骤身铅鉴富紫集邻tu龄鉴–橄–种o身量紫集邻tu龄鉴喧便点架览激oo颜s富迎骤p便器––
狂魔量–背u迎––
opt背oft豫点长身魔铅鉴点首鉴身龄首迎ox背yst鉴骤s种集st背oftw身龄鉴
背oftw身龄鉴
wwwplcworldcn
Excel 2002 VBA
214
立鉴富首迎ox背yst鉴骤s富种集st魔量鉴x–橄–嵌

背oftw身龄鉴病身龄量w身龄鉴opt病身龄量
点长身魔铅鉴–
拉富 opt背oft豫点长身魔铅鉴opt病身龄量豫点长身魔铅鉴–
紫龄集v身t鉴–背u迎–opt病身龄量豫点长身魔铅鉴喧器––
立鉴富首迎ox背yst鉴骤s富点首鉴身龄––
点身首首–种集st病身龄量w身龄鉴––
立鉴富首迎ox背yst鉴骤s富种集st魔量鉴x–橄–嵌––
立鉴富p集邻骤身铅鉴富紫集邻tu龄鉴–橄–种o身量紫集邻tu龄鉴喧便点架览邻量富迎骤p便器––
狂魔量–背u迎––
描富 魔fo–背u龄v鉴y背u龄v鉴y背oftw身龄鉴
病身龄量w身龄鉴

操富 –

32
魔fo–背u龄v鉴y病身龄量w身龄鉴
背oftw身龄鉴嵌度嵌度拉
点长身魔铅鉴–
度富 –
必富 sp紫鉴龄邻鉴魔t豫点长身魔铅鉴–
紫龄集v身t鉴–背u迎–sp紫鉴龄邻鉴魔t豫点长身魔铅鉴喧器–
txt紫鉴龄邻鉴魔t富获身首u鉴–橄–sp紫鉴龄邻鉴魔t富获身首u鉴––
狂魔量–背u迎––

惊富 txt紫鉴龄邻鉴魔t豫点长身魔铅鉴–
紫龄集v身t鉴–背u迎–txt紫鉴龄邻鉴魔t豫点长身魔铅鉴喧器––
熬集骤–鉴魔t龄y–溢s–背t龄集魔铅––

精魔–狂龄龄o龄–美鉴su骤鉴–篇鉴xt––

鉴魔t龄y–橄–立鉴富txt紫鉴龄邻鉴魔t富获身首u鉴––
f–鉴魔t龄y––度嵌嵌–膳长鉴魔––
鉴魔t龄y–橄–嵌––
立鉴富txt紫鉴龄邻鉴魔t富获身首u鉴–橄–鉴魔t龄y––
狂魔量–f––

sp紫鉴龄邻鉴魔t富获身首u鉴–橄–txt紫鉴龄邻鉴魔t富获身首u鉴––
狂魔量–背u迎––
txt紫鉴龄邻鉴魔t豫点长身魔铅鉴嵌度嵌嵌精魔–狂龄龄o龄–美鉴su骤鉴–篇鉴xt
度嵌嵌获激嵌
度–

33
狂s邻点身魔邻鉴首病集量鉴

度富 点身魔邻鉴首邻骤量点身魔邻鉴首豫点首集邻颜–
wwwplcworldcn
Excel 2002 VBA
215
紫龄集v身t鉴–背u迎–迎ut点身魔邻鉴首豫点首集邻颜喧器––
立鉴富病集量鉴––
狂魔量–背u迎––
病集量鉴获激溢
花魔首o身量–
花魔首o身量–立鉴–
获激溢
种o身量–

34
精磅点身魔邻鉴首–
度富 精磅邻骤量精磅豫点首集邻颜–
紫龄集v身t鉴–背u迎–迎ut精磅豫点首集邻颜喧器––
立鉴富病集量鉴––
龄–橄–溢pp首集邻身t集o魔富点ou魔t溢喧美身魔铅鉴喧便溢架溢便器器––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–嵌器–橄–立鉴富首迎ox背yst鉴骤s富获身首u鉴––
f–立鉴富opt病身龄量富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–度器–橄–便城便––
狂魔量–f––

f–立鉴富opt背oft富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–必器–橄–便城便––
狂魔量–f––

f–立鉴富邻长颜激立富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–惊器–橄–便城便––
狂魔量–f––

f–立鉴富邻长颜篇ot鉴富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–懂器–橄–便城便––
狂魔量–f––

f–立鉴富邻长颜立身邻富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–拉器–橄–便城便––
狂魔量–f––

美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–描器–橄–立鉴富邻迎ox蓄长鉴龄鉴花s鉴量富获身首u鉴––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–操器–橄–立鉴富txt紫鉴龄邻鉴魔t富获身首u鉴––

f–立鉴富opt立身首鉴富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–族器–橄–便城便––
狂魔量–f––

f–立鉴富opt环鉴骤身首鉴富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–暗器–橄–便城便––
狂魔量–f––
花魔首o身量–立鉴––
狂魔量–背u迎–
迎ut精磅豫点首集邻颜–
wwwplcworldcn
Excel 2002 VBA
216
龄–橄–溢pp首集邻身t集o魔富点ou魔t溢喧美身魔铅鉴喧便溢架溢便器器–
获激点ou魔t溢溢龄–
美身魔铅鉴喧便溢度便器富精ffs鉴t喧龄–增–度始–嵌器–橄–立鉴富首迎ox背yst鉴骤s富获身首u鉴–
溢龄增度
获激病身龄量w身龄鉴激激溢精ffs鉴t
度f背oftw身龄鉴点
理蓄长鉴龄鉴–花s鉴量病紫鉴龄邻鉴魔t–喧势器–花s鉴量–着


35 Info Survey

度富 狂x邻鉴首魔fo–背u龄v鉴y背u龄v鉴y–
必富 精磅–
惊富 –
懂富 点长身p度嵌富x首s–

36 2
蓄集魔量ows膳身迎
膳身迎获激溢
膳身迎膳身迎背t龄集p必
美鉴f狂量集t点身首鉴魔量身龄–

37 TabStrip
度嵌嫌度描
背背篇背o邻集身首–背鉴邻u龄集ty–篇u骤迎鉴龄
篇鉴w溢邻t集v鉴篇鉴w篇鉴w
溢邻t集v鉴美鉴f狂量集t

度富 背tu量鉴魔ts–
必富 点身pt集o魔背tu量鉴魔ts–身魔量–狂x身骤s–
惊富 –
懂富 紫身铅鉴度背tu量鉴魔ts背
狂x身骤s藏–
拉富 背tu量鉴魔ts背tu量鉴魔ts度嵌嫌度描–
度富 背t身tus点身pt集o魔篇鉴w溢邻t集v鉴篇身骤鉴opt篇鉴wopt溢邻t集v鉴–
必富 点身pt集o魔背背篇种身st–篇身骤鉴环集龄st–篇身骤鉴篇身骤鉴txt背背篇txt种身st
txt环集龄st–
惊富 点身pt集o魔鉴身龄立身面o龄篇身骤鉴邻迎ox鉴身龄邻迎ox立身面o龄
立身t邻长美鉴黄u集龄鉴量膳龄u鉴立身t邻长狂魔t龄y度嫌f骤立身t邻长狂魔t龄y点o骤p首鉴t鉴–
懂富 美鉴f狂量集t篇身骤鉴–美身魔铅鉴美鉴f狂量集t篇身骤鉴龄鉴f篇身骤鉴s–
拉富 篇身骤鉴首迎ox背tu量鉴魔ts点o首u骤魔点ou魔t必–
描富 点身pt集o魔精磅点身魔邻鉴首篇身骤鉴邻骤量精磅邻骤量点身魔邻鉴首–

wwwplcworldcn
Excel 2002 VBA
217

度嵌嫌度描––

度嵌嫌度操种身st环集龄st
膳身迎背t龄集pt身迎
获激t身迎

度富 狂x身骤s–
必富 狂x身骤s–
惊富 篇身骤鉴首迎首蓄长o点身pt集o魔种身st始–环集龄st环o魔t溢龄集身首激o首量度懂–
懂富 膳身迎背t龄集p度嵌嫌度操
膳身迎背t龄集p膳身迎度膳身迎必t身迎膳身迎背t龄集p
膳身迎背t龄集p
获激膳身迎惊膳身迎懂度嵌嫌度操
溢首t增狂狂魔铅首集s长–
拉富 狂魔铅首集s长–

点身首鉴魔量身龄点身首鉴魔量身龄膳身迎背t龄集p度嵌嫌度操 点身首鉴魔量身龄
背长ow熬身t鉴背鉴首鉴邻to龄s膳龄u鉴–
• 狂魔t鉴龄属点长身魔铅鉴–理龄身量鉴篇身骤鉴邻迎ox理龄身量鉴–
• 点身pt集o魔理龄身量鉴熬身t鉴 篇身骤鉴首迎首理龄身量鉴首迎首熬身t鉴
背p鉴邻集身首狂ff鉴邻t惊嫌f骤背p鉴邻集身首狂ff鉴邻t狂t邻长鉴量–

度嵌嫌描–膳身迎背t龄集p–
膳身迎背t龄集p
膳身迎背t龄集p膳身迎背t龄集p融嫌–

wwwplcworldcn
Excel 2002 VBA
218

度嵌嫌度操–膳身迎背t龄集p–

背tu量鉴魔ts–身魔量–狂x身骤s度嵌嫌度族

度富 度嵌嫌度族–
必富 熬集sp首身y–环o龄骤熬o背tu量鉴魔ts–
惊富 获激篇身骤鉴魔fo背tu量鉴魔ts–
懂富 魔fo背tu量鉴魔ts熬o背tu量鉴魔ts–
背u迎–熬o背tu量鉴魔ts喧器––
背tu量鉴魔ts富背长ow––
狂魔量–背u迎––

度嵌嫌度族–背tu量鉴魔ts–身魔量–狂x身骤s–

拉富 熬集sp首身y–环o龄骤熬o背tu量鉴魔ts–
描富 –

38 Students and Exams VBA
背tu量鉴魔ts–身魔量–狂x身骤s获激溢

度富 –
wwwplcworldcn
Excel 2002 VBA
219
响熬鉴邻首身龄身t集o魔s––
熬集骤–龄–溢s–魔t鉴铅鉴龄––
熬集骤–魔龄–溢s–魔t鉴铅鉴龄––
熬集骤–集魔量鉴x紫首us–溢s–魔t鉴铅鉴龄––
熬集骤–鉴s篇o–溢s–魔t鉴铅鉴龄––
必富 花s鉴龄环o龄骤豫魔集t集身首集z鉴–
紫龄集v身t鉴–背u迎–花s鉴龄环o龄骤豫魔集t集身首集z鉴喧器––
响s鉴首鉴邻t–f集龄st–p身铅鉴–of–t长鉴–立u首t集紫身铅鉴–邻o魔t龄o首– –
响p身铅鉴–魔u骤迎鉴龄集魔铅–迎鉴铅集魔s–f龄o骤–z鉴龄o–喧嵌器– 嵌–
立鉴富立u首t集紫身铅鉴度富获身首u鉴–橄–嵌––

响邻长oos鉴–t长鉴–篇鉴w–opt集o魔–迎utto魔– 篇鉴w–
opt篇鉴w富获身首u鉴–橄–膳龄u鉴––

响长集量鉴–t长龄鉴鉴–邻o魔t龄o首s–o魔–st身龄tup– –
首迎首篇身骤鉴s富获集s集迎首鉴–橄–环身首s鉴– 篇身骤鉴–美身魔铅鉴首迎首篇身骤鉴s首迎首种身st–
龄鉴f篇身骤鉴s富获集s集迎首鉴–橄–环身首s鉴––
首迎ox背tu量鉴魔ts富获集s集迎首鉴–橄–环身首s鉴––

响popu首身t鉴–t长鉴–鉴身龄–邻o骤迎o–迎ox– 鉴身龄–
蓄集t长–立鉴富邻迎ox鉴身龄––
富溢量量t鉴骤–便度便––
富溢量量t鉴骤–便必便––
富溢量量t鉴骤–便惊便––
富溢量量t鉴骤–便懂便––
狂魔量–蓄集t长––

响–popu首身t鉴–t长鉴–立身面o龄–邻o骤迎o–迎ox– 立身面o龄–
蓄集t长–立鉴富邻迎ox立身面o龄––
富溢量量t鉴骤–便狂魔铅首集s长便––
富溢量量t鉴骤–便点长鉴骤集st龄y便––
富溢量量t鉴骤–便立身t长鉴骤身t集邻s便––
富溢量量t鉴骤–便种集魔铅u集st集邻s便––
富溢量量t鉴骤–便点o骤put鉴龄–背邻集鉴魔邻鉴便––
狂魔量–蓄集t长––

响–popu首身t鉴–身–邻o骤迎o–迎ox–w集t长–铅龄身量鉴s– –
蓄集t长–立鉴富邻迎ox理龄身量鉴––
富溢量量t鉴骤–便溢便––
富溢量量t鉴骤–便激便––
富溢量量t鉴骤–便点便––
富溢量量t鉴骤–便熬便––
富溢量量t鉴骤–便环便––
狂魔量–蓄集t长––

响量集sp首身y–量身t鉴–集魔–t长鉴–首迎首熬身t鉴–首身迎鉴首–邻o魔t龄o首– 首迎首熬身t鉴–
立鉴富首迎首熬身t鉴富点身pt集o魔–橄–立鉴富点身首鉴魔量身龄度富获身首u鉴– –

响身邻t集v身t鉴–t长鉴–f集龄st–t身迎–集魔–t长鉴–膳身迎背t龄集p–邻o魔t龄o首– 膳身迎背t龄集p–
立鉴富膳身迎背t龄集p度富获身首u鉴–橄–嵌––
wwwplcworldcn
Excel 2002 VBA
220

响身邻t集v身t鉴–t长鉴–背背篇–t鉴xt–迎ox– 背背篇–
立鉴富txt背背篇富背鉴t环o邻us––
狂魔量–背u迎–
惊富 opt篇鉴w豫点首集邻颜opt溢邻t集v鉴豫点首集邻颜–
紫龄集v身t鉴–背u迎–opt篇鉴w豫点首集邻颜喧器––
首迎首篇身骤鉴s富获集s集迎首鉴–橄–环身首s鉴––
龄鉴f篇身骤鉴s富获集s集迎首鉴–橄–环身首s鉴––
首迎ox背tu量鉴魔ts富获集s集迎首鉴–橄–环身首s鉴––
立鉴富立u首t集紫身铅鉴度喧度器富狂魔身迎首鉴量–橄–环身首s鉴––

f–首迎ox背tu量鉴魔ts富美ow背ou龄邻鉴–榄––便便–膳长鉴魔––
立鉴富txt背背篇富膳鉴xt–橄–便便––
立鉴富txt种身st富膳鉴xt–橄–便便––
立鉴富txt环集龄st富膳鉴xt–橄–便便––
立鉴富邻迎ox鉴身龄富膳鉴xt–橄–便便––
立鉴富邻迎ox立身面o龄富膳鉴xt–橄–便便––
立鉴富txt背背篇富背鉴t环o邻us––
狂魔量–f––
立鉴富txt背背篇富背鉴t环o邻us––
狂魔量–背u迎––

紫龄集v身t鉴–背u迎–opt溢邻t集v鉴豫点首集邻颜喧器––
首迎首篇身骤鉴s富获集s集迎首鉴–橄–膳龄u鉴––
龄鉴f篇身骤鉴s富获集s集迎首鉴–橄–膳龄u鉴––
龄鉴f篇身骤鉴s富背鉴t环o邻us––

f–首迎ox背tu量鉴魔ts富美ow背ou龄邻鉴–榄––便便–膳长鉴魔––
首迎ox背tu量鉴魔ts富获集s集迎首鉴–橄–膳龄u鉴––
点身首首–首迎ox背tu量鉴魔ts豫点长身魔铅鉴––
狂魔量–f––
狂魔量–背u迎––
懂富 首迎ox背tu量鉴魔ts豫点长身魔铅鉴龄鉴f篇身骤鉴s豫点长身魔铅鉴背tu量鉴魔ts美鉴f狂量集t–
紫龄集v身t鉴–背u迎–首迎ox背tu量鉴魔ts豫点长身魔铅鉴喧器––
集魔量鉴x紫首us–橄–首迎ox背tu量鉴魔ts富种集st魔量鉴x–增–惊––

蓄集t长–溢邻t集v鉴蓄o龄颜迎oo颜富蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器––
立鉴富txt背背篇富膳鉴xt–橄–美身魔铅鉴喧便溢便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富txt种身st富膳鉴xt–橄–美身魔铅鉴喧便激便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富txt环集龄st富膳鉴xt–橄–美身魔铅鉴喧便点便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富邻迎ox鉴身龄富膳鉴xt–橄–美身魔铅鉴喧便熬便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富邻迎ox立身面o龄富膳鉴xt–橄–美身魔铅鉴喧便狂便––集魔量鉴x紫首us器富获身首u鉴––
点身首首–膳身迎背t龄集p度豫点长身魔铅鉴––
立鉴富立u首t集紫身铅鉴度喧度器富狂魔身迎首鉴量–橄–膳龄u鉴––
狂魔量–蓄集t长––
狂魔量–背u迎––

紫龄集v身t鉴–背u迎–龄鉴f篇身骤鉴s豫点长身魔铅鉴喧器––
首迎ox背tu量鉴魔ts富美ow背ou龄邻鉴–橄–龄鉴f篇身骤鉴s富获身首u鉴––
首迎ox背tu量鉴魔ts富种集st魔量鉴x–橄–嵌––
wwwplcworldcn
Excel 2002 VBA
221
首迎ox背tu量鉴魔ts富获集s集迎首鉴–橄–膳龄u鉴––
点身首首–首迎ox背tu量鉴魔ts豫点长身魔铅鉴––
狂魔量–背u迎––
拉富 精磅邻骤量精磅豫点首集邻颜点身魔邻鉴首邻骤量点身魔邻鉴首豫点首集邻颜–
紫龄集v身t鉴–背u迎–邻骤量精磅豫点首集邻颜喧器––
f–立鉴富opt篇鉴w富获身首u鉴–橄–膳龄u鉴–膳长鉴魔––
立鉴富病集量鉴––
溢邻t集v鉴蓄o龄颜迎oo颜富背长鉴鉴ts喧便背长鉴鉴t必便器富背鉴首鉴邻t––
龄–橄–溢邻t集v鉴背长鉴鉴t富花s鉴量美身魔铅鉴富美ows富点ou魔t––
魔龄–橄–龄–增–度––
美身魔铅鉴喧便溢便––魔龄器富获身首u鉴–橄–立鉴富txt背背篇富膳鉴xt––
美身魔铅鉴喧便激便––魔龄器富获身首u鉴–橄–立鉴富txt种身st富膳鉴xt––
美身魔铅鉴喧便点便––魔龄器富获身首u鉴–橄–立鉴富txt环集龄st富膳鉴xt––
美身魔铅鉴喧便熬便––魔龄器富获身首u鉴–橄–立鉴富邻迎ox鉴身龄富膳鉴xt––
美身魔铅鉴喧便狂便––魔龄器富获身首u鉴–橄–立鉴富邻迎ox立身面o龄富膳鉴xt––
立鉴富txt背背篇富膳鉴xt–橄–便便––
立鉴富txt种身st富膳鉴xt–橄–便便––
立鉴富txt环集龄st富膳鉴xt–橄–便便––
立鉴富邻迎ox鉴身龄富膳鉴xt–橄–便便––
立鉴富邻迎ox立身面o龄富膳鉴xt–橄–便便––
立鉴富txt背背篇富背鉴t环o邻us––

响龄鉴量集sp首身y–t长鉴–fo龄骤––
立鉴富背长ow––
狂首s鉴––
立s铅激ox–便膳长集s–邻o魔t龄o首–集s–邻u龄龄鉴魔t首y–u魔身v身集首身迎首鉴富便––
狂魔量–f––
狂魔量–背u迎––

紫龄集v身t鉴–背u迎–邻骤量点身魔邻鉴首豫点首集邻颜喧器––
花魔首o身量–立鉴––
背鉴t–背tu量鉴魔ts–橄–篇ot长集魔铅––
狂魔量–背u迎––
描富 邻迎ox理龄身量鉴豫点首集邻颜狂x身骤s理龄身量鉴–
紫龄集v身t鉴–背u迎–邻迎ox理龄身量鉴豫点首集邻颜喧器––
鉴s篇o–橄–立s铅激ox喧便狂魔t鉴龄–t长鉴–铅龄身量鉴–集魔–t长鉴–wo龄颜s长鉴鉴t便始–豫––
v迎鉴s篇o始–便立o量集fy–理龄身量鉴便器––

f–鉴s篇o–橄–描–膳长鉴魔––
立鉴富首迎首理龄身量鉴富点身pt集o魔–橄–邻迎ox理龄身量鉴富获身首u鉴––
背鉴首鉴邻t–点身s鉴–膳身迎背t龄集p度富获身首u鉴––
点身s鉴–嵌––
美身魔铅鉴喧便环便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首理龄身量鉴富点身pt集o魔––
点身s鉴–度––
美身魔铅鉴喧便病便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首理龄身量鉴富点身pt集o魔––
点身s鉴–必––
美身魔铅鉴喧便着便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首理龄身量鉴富点身pt集o魔––
点身s鉴–惊––
美身魔铅鉴喧便种便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首理龄身量鉴富点身pt集o魔––
狂魔量–背鉴首鉴邻t––
wwwplcworldcn
Excel 2002 VBA
222
邻迎ox理龄身量鉴富获身首u鉴–橄–便便––
狂魔量–f––
狂魔量–背u迎––
操富 点身首鉴魔量身龄度豫点首集邻颜–
紫龄集v身t鉴–背u迎–点身首鉴魔量身龄度豫点首集邻颜喧器––
鉴s篇o–橄–立s铅激ox喧便狂魔t鉴龄–t长鉴–量身t鉴–集魔–t长鉴–wo龄颜s长鉴鉴t便始–v迎鉴s篇o始–豫––
便立o量集fy–熬身t鉴便器––
f–鉴s篇o–橄–描–膳长鉴魔––
立鉴富首迎首熬身t鉴富点身pt集o魔–橄–点身首鉴魔量身龄度富获身首u鉴––
背鉴首鉴邻t–点身s鉴–膳身迎背t龄集p度富获身首u鉴––
点身s鉴–嵌––
美身魔铅鉴喧便理便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首熬身t鉴富点身pt集o魔––
点身s鉴–度––
美身魔铅鉴喧便便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首熬身t鉴富点身pt集o魔––
点身s鉴–必––
美身魔铅鉴喧便磅便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首熬身t鉴富点身pt集o魔––
点身s鉴–惊––
美身魔铅鉴喧便立便––集魔量鉴x紫首us器富获身首u鉴–橄–立鉴富首迎首熬身t鉴富点身pt集o魔––
狂魔量–背鉴首鉴邻t––
狂魔量–f––
狂魔量–背u迎––
族富 膳身迎背t龄集p度豫点长身魔铅鉴立u首t集紫身铅鉴度豫点长身魔铅鉴–
紫龄集v身t鉴–背u迎–膳身迎背t龄集p度豫点长身魔铅鉴喧器––
集魔量鉴x紫首us–橄–首迎ox背tu量鉴魔ts富种集st魔量鉴x–增–惊––
蓄集t长–溢邻t集v鉴蓄o龄颜迎oo颜富蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器––
背鉴首鉴邻t–点身s鉴–膳身迎背t龄集p度富获身首u鉴––
点身s鉴–嵌––
响–狂魔铅首集s长––
立鉴富首迎首理龄身量鉴富点身pt集o魔–橄–美身魔铅鉴喧便环便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富首迎首熬身t鉴富点身pt集o魔–橄–美身魔铅鉴喧便理便––集魔量鉴x紫首us器富获身首u鉴––
点身s鉴–度––
响环龄鉴魔邻长––
立鉴富首迎首理龄身量鉴富点身pt集o魔–橄–美身魔铅鉴喧便病便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富首迎首熬身t鉴富点身pt集o魔–橄–美身魔铅鉴喧便便––集魔量鉴x紫首us器富获身首u鉴––
点身s鉴–必––
响立身t长––
立鉴富首迎首理龄身量鉴富点身pt集o魔–橄–美身魔铅鉴喧便着便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富首迎首熬身t鉴富点身pt集o魔–橄–美身魔铅鉴喧便磅便––集魔量鉴x紫首us器富获身首u鉴––
点身s鉴–惊––
响紫长ys集邻s––
立鉴富首迎首理龄身量鉴富点身pt集o魔–橄–美身魔铅鉴喧便种便––集魔量鉴x紫首us器富获身首u鉴––
立鉴富首迎首熬身t鉴富点身pt集o魔–橄–美身魔铅鉴喧便立便––集魔量鉴x紫首us器富获身首u鉴––
狂魔量–背鉴首鉴邻t––
狂魔量–蓄集t长––
狂魔量–背u迎––

紫龄集v身t鉴–背u迎–立u首t集紫身铅鉴度豫点长身魔铅鉴喧器––
立鉴富首迎首蓄长o富点身pt集o魔–橄–立鉴富txt种身st富获身首u鉴––便始–便–豫––
–立鉴富txt环集龄st富获身首u鉴––
点身首首–膳身迎背t龄集p度豫点长身魔铅鉴––
wwwplcworldcn
Excel 2002 VBA
223
狂魔量–背u迎––

39 Students and Exams
获激溢–
度富 狂x邻鉴首背长鉴鉴t度–
必富 熬集sp首身y–环o龄骤–
熬集sp首身y–环o龄骤熬o背tu量鉴魔ts背tu量鉴魔ts–身魔量–狂x身骤s–
获激花s鉴龄环o龄骤豫魔集t集身首集z鉴度嵌嫌度暗–

度嵌嫌度暗–熬集sp首身y–环o龄骤背tu量鉴魔ts–身魔量–狂x身骤s


精磅精磅邻骤量精磅豫点首集邻颜
狂x身骤s
点身魔邻鉴首点身魔邻鉴首
邻骤量点身魔邻鉴首豫点首集邻颜–
惊富 背tu量鉴魔ts–身魔量–狂x身骤s溢邻t集v鉴
溢邻t集v鉴篇身骤鉴–美身魔铅鉴美鉴f狂量集t–
懂富 溢邻t集v鉴美鉴f狂量集t–
拉富 度嵌嫌必嵌–
wwwplcworldcn
Excel 2002 VBA
224

度嵌嫌必嵌–美鉴f狂量集t–

美鉴f狂量集t
种身st–篇身骤鉴激惊–
美鉴f狂量集t美鉴f狂量集t美鉴f狂量集t
龄鉴f篇身骤鉴s豫点长身魔铅鉴
首迎ox背tu量鉴魔ts豫点长身魔铅鉴
度嵌嫌必度–


度嵌嫌必度–美鉴f狂量集t–

描富 –
操富 狂x身骤s–
狂x身骤s度嵌嫌必必膳身迎背t龄集p

wwwplcworldcn
Excel 2002 VBA
225

度嵌嫌必必–狂x身骤s–

获激点身首鉴魔量身龄度豫点首集邻颜
邻迎ox理龄身量鉴豫点首集邻颜获激溢
度嵌嫌必惊–
膳身迎背t龄集p度豫点长身魔铅鉴获激
立u首t集紫身铅鉴度豫点长身魔铅鉴狂x身骤s首迎首蓄长o–

––––
度嵌嫌必惊–环立背tu量鉴魔ts–身魔量–狂x身骤s狂x身骤s–

40

获激溢获激溢
t身迎获激溢
花s鉴龄环o龄骤豫魔集t集身首集z鉴


溢uto骤身t集o魔立集邻龄osoft–蓄o龄量–
wwwplcworldcn
Excel 2002 VBA
226
度嵌富嵌–精迎面鉴邻t–种集迎龄身龄y蓄o龄量
立集邻龄osoft–精ut首oo颜狂x邻鉴首获激溢



点o首首鉴邻t集o魔——––
点首身ss——––
魔st身魔邻鉴——–

点首身ss–立o量u首鉴——––
——背u迎环u魔邻t集o魔获激溢–
——获激溢–
——–获激溢

——––

1
狂x邻鉴首蓄o龄颜迎oo颜s
蓄o龄颜s长鉴鉴ts蓄o龄量熬o邻u骤鉴魔ts
紫身龄身铅龄身p长s–
• 蓄o龄颜s长鉴鉴ts

蓄o龄颜s长鉴鉴ts喧必器富背鉴首鉴邻t––

蓄o龄颜s长鉴鉴ts喧便背长鉴鉴t必便器富背鉴首鉴邻t––
• 点ou魔t–
蓄o龄颜s长鉴鉴ts富点ou魔t––
获激溢–
• 溢量量–
蓄o龄颜s长鉴鉴ts富溢量量–
获激溢蓄o龄颜s长鉴鉴ts–
• 环o龄–狂身邻长篇鉴xt–
熬身集首y–w身铅鉴s–蓄鉴鉴颜首y–w身铅鉴s–激o魔us鉴s–鉴身龄首y–s身首身龄y立o魔t长首y–w身铅鉴s
w身铅鉴s–
背u迎–熬鉴首鉴t鉴背长鉴鉴ts喧器––
熬集骤–ws–溢s–蓄o龄颜s长鉴鉴t––
溢pp首集邻身t集o魔富熬集sp首身y溢首鉴龄ts–橄–环身首s鉴––
环o龄–狂身邻长–ws–魔–蓄o龄颜s长鉴鉴ts––
f–魔背t龄喧ws富篇身骤鉴始–便w身铅鉴s便器–膳长鉴魔––
ws富熬鉴首鉴t鉴––
狂魔量–f––
篇鉴xt––
狂魔量–背u迎––
获激溢



wwwplcworldcn
Excel 2002 VBA
227
2
点o首首鉴邻t集o魔熬集骤篇鉴w

熬集骤––溢s–篇鉴w–点o首首鉴邻t集o魔––

3
点o首首鉴邻t集o魔溢量量
溢量量–
o迎面鉴邻t富溢量量–集t鉴骤始–颜鉴y始–迎鉴fo龄鉴始–身ft鉴龄––
o迎面鉴邻t点o首首鉴邻t集o魔集t鉴骤

度必惊

背背篇–
迎鉴fo龄鉴身ft鉴龄迎鉴fo龄鉴
身ft鉴龄–
理鉴t点o骤骤鉴魔ts邻o首篇ot鉴s

迎鉴fo龄鉴
颜鉴y颜鉴y
立集量种鉴魔
点ou魔t理鉴t点o骤骤鉴魔ts–
度富 点长身p度度富x首s–
必富 背长鉴鉴t度
背长鉴鉴t必
背长鉴鉴t懂–
惊富 |着o身魔–
背集骤t长背长鉴鉴t必背长鉴鉴t懂着o身魔–背骤集t长

懂富 获激获激溢精迎面点o首点首身ss–
拉富 立y点o首首鉴邻t集o魔–
描富 理鉴t点o骤骤鉴魔ts–
背u迎–理鉴t点o骤骤鉴魔ts喧器––
熬集骤–s长t–溢s–蓄o龄颜s长鉴鉴t––
熬集骤–邻o首篇ot鉴s–溢s–篇鉴w–点o首首鉴邻t集o魔––
熬集骤–骤y篇ot鉴–溢s–点o骤骤鉴魔t––
熬集骤––溢s–魔t鉴铅鉴龄––
熬集骤–t–溢s–魔t鉴铅鉴龄––
熬集骤–fu首首篇身骤鉴–溢s–背t龄集魔铅––

fu首首篇身骤鉴–橄–魔put激ox喧便狂魔t鉴龄–身ut长o龄响s–fu首首–魔身骤鉴架便器––
环o龄–狂身邻长–s长t–魔–膳长集s蓄o龄颜迎oo颜富蓄o龄颜s长鉴鉴ts––
s长t富背鉴首鉴邻t––
–橄–溢邻t集v鉴背长鉴鉴t富点o骤骤鉴魔ts富点ou魔t––
环o龄–狂身邻长–骤y篇ot鉴–魔–溢邻t集v鉴背长鉴鉴t富点o骤骤鉴魔ts––
f–骤y篇ot鉴富溢ut长o龄–橄–fu首首篇身骤鉴–膳长鉴魔––
立s铅激ox–骤y篇ot鉴富膳鉴xt––
f–邻o首篇ot鉴s富点ou魔t–橄–嵌–膳长鉴魔––
wwwplcworldcn
Excel 2002 VBA
228
邻o首篇ot鉴s富溢量量–t鉴骤架橄骤y篇ot鉴始–颜鉴y架橄便f集龄st便––
狂首s鉴––
邻o首篇ot鉴s富溢量量–t鉴骤架橄骤y篇ot鉴始–激鉴fo龄鉴架橄度––
狂魔量–f––
狂魔量–f––
篇鉴xt––
t–橄–t–增–––
篇鉴xt––
f–邻o首篇ot鉴s富点ou魔t–榄–嵌–膳长鉴魔–立s铅激ox–邻o首篇ot鉴s喧便f集龄st便器富膳鉴xt––
立s铅激ox–便膳ot身首–邻o骤骤鉴魔ts–集魔–wo龄颜迎oo颜架–便––t––点长龄喧度惊器––豫––
便膳ot身首–邻o骤骤鉴魔ts–集魔–邻o首首鉴邻t集o魔架便––邻o首篇ot鉴s富点ou魔t––
熬鉴迎u铅富紫龄集魔t–便点o骤骤鉴魔ts–迎y–便––fu首首篇身骤鉴––
环o龄–狂身邻长–骤y篇ot鉴–魔–邻o首篇ot鉴s––
熬鉴迎u铅富紫龄集魔t–立集量喧骤y篇ot鉴富膳鉴xt始–种鉴魔喧骤y篇ot鉴富溢ut长o龄器–增–必始–豫–
种鉴魔喧骤y篇ot鉴富膳鉴xt器器––
篇鉴xt––
狂魔量–背u迎––
操富 理鉴t点o骤骤鉴魔ts–

4
美鉴骤ov鉴–
o迎面鉴邻t富美鉴骤ov鉴–集t鉴骤–
o迎面鉴邻t集t鉴骤–
理鉴t点o骤骤鉴魔ts邻o首篇ot鉴s

度富 理鉴t点o骤骤鉴魔ts–
熬集骤–龄鉴spo魔s鉴––
熬集骤–骤y量–溢s–魔t鉴铅鉴龄––
龄鉴spo魔s鉴立s铅迎ox骤y首量

必富 理鉴t点o骤骤鉴魔ts–
环o龄–狂身邻长–骤y篇ot鉴–魔–邻o首篇ot鉴s––

骤y量–橄–度––
惊富 理鉴t点o骤骤鉴魔ts–
熬鉴迎u铅富紫龄集魔t–立集量喧骤y篇ot鉴富膳鉴xt始–种鉴魔喧骤y篇ot鉴富溢ut长o龄器–增–必始–豫––
种鉴魔喧骤y篇ot鉴富膳鉴xt器器––

龄鉴spo魔s鉴–橄–立s铅激ox喧便美鉴骤ov鉴–t长集s–邻o骤骤鉴魔t便––点长龄喧度惊器–豫––
–点长龄喧度惊器––骤y篇ot鉴富膳鉴xt始–v迎鉴s篇o–增–v迎u鉴st集o魔器––
f–龄鉴spo魔s鉴–橄–描–膳长鉴魔––
邻o首篇ot鉴s富美鉴骤ov鉴–魔量鉴x架橄骤y量––
狂首s鉴––
骤y量–橄–骤y量–增–度––
狂魔量–f––
懂富 –
熬鉴迎u铅富紫龄集魔t–便膳长鉴–fo首首ow集魔铅–邻o骤骤鉴魔ts–龄鉴骤身集魔–集魔–t长鉴–邻o首首鉴邻t集o魔架便––
环o龄–狂身邻长–骤y篇ot鉴–集魔–邻o首篇ot鉴s––
熬鉴迎u铅富紫龄集魔t–立集量喧骤y篇ot鉴富膳鉴xt始–种鉴魔喧骤y篇ot鉴富溢ut长o龄器–增–必始–豫––
wwwplcworldcn
Excel 2002 VBA
229
种鉴魔喧骤y篇ot鉴富膳鉴xt器器––
篇鉴xt––
拉富 理鉴t点o骤骤鉴魔ts–
理鉴t点o骤骤鉴魔ts必点熬


度度嫌度––
度魔量鉴x–
熬o–蓄长集首鉴–骤y点o首首鉴邻t集o魔富点ou魔t–嵌–
– 骤y点o首首鉴邻t集o魔富美鉴骤ov鉴–魔量鉴x架橄度–
种oop–


获激
背u迎环u魔邻t集o魔–

5
获激溢









获激溢获激溢–

6
点狂骤p首oy鉴鉴点狂骤p首oy鉴鉴
量环集龄st篇身骤鉴种身st篇身骤鉴背身首身龄y–
度富 精迎面点o首点首身ss–喧点长身p度度富x首s器|–
必富 点狂骤p首oy鉴鉴–

度度嫌必––
获激溢
点–

7

紫龄集v身t鉴
紫龄集v身t鉴熬集骤

骤豫

wwwplcworldcn
Excel 2002 VBA
230
度富 点狂骤p首oy鉴鉴–
精pt集o魔–狂xp首集邻集t––
响量鉴邻首身龄身t集o魔s––
紫龄集v身t鉴–骤豫种身st篇身骤鉴–溢s–背t龄集魔铅––
紫龄集v身t鉴–骤豫环集龄st篇身骤鉴–溢s–背t龄集魔铅––
紫龄集v身t鉴–骤豫背身首身龄y–溢s–点u龄龄鉴魔邻y––
紫龄集v身t鉴–骤豫量–溢s–背t龄集魔铅––
骤豫–

8
紫龄集v身t鉴获激溢
获激溢点狂骤p首oy鉴鉴

 紫龄op鉴龄ty–种鉴t——–
 紫龄op鉴龄ty–理鉴t——–
 紫龄op鉴龄ty–背鉴t——紫龄op鉴龄ty–种鉴t–
紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–种鉴t
获激溢–
紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–理鉴t–种身st篇身骤鉴


 –
紫龄op鉴龄ty–理鉴t–种身st篇身骤鉴–喧–器–溢s–背t龄集魔铅––
种身st篇身骤鉴溢s–背t龄集魔铅–
 –
种身st篇身骤鉴–橄–骤豫种身st篇身骤鉴––
种身st篇身骤鉴骤豫种身st篇身骤鉴骤豫种身st篇身骤鉴
紫龄集v身t鉴–
获激溢–
紫龄op鉴龄ty–理鉴t–美oy身首ty喧器––
美oy身首ty–橄–喧背身首鉴s–城–紫鉴龄邻鉴魔t器嫌溢量v身魔邻鉴––
狂魔量–紫龄op鉴龄ty––
 狂魔量–紫龄op鉴龄ty–

度度嫌惊––
狂x集t–背u迎狂x集t–环u魔邻t集o魔狂x集t–紫龄op鉴龄ty
紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–种鉴t紫龄op鉴龄ty–背鉴t


9 Property Get
点狂骤p首oy鉴鉴获激溢获激溢点狂骤p首oy鉴鉴
熬–
度富 点狂骤p首oy鉴鉴紫龄op鉴龄ty–理鉴t–
紫龄op鉴龄ty–理鉴t–量喧–器–溢s–背t龄集魔铅––
量–橄–骤豫量––
狂魔量–紫龄op鉴龄ty––

wwwplcworldcn
Excel 2002 VBA
231
紫龄op鉴龄ty–理鉴t–种身st篇身骤鉴喧–器–溢s–背t龄集魔铅––
种身st篇身骤鉴–橄–骤豫种身st篇身骤鉴––
狂魔量–紫龄op鉴龄ty––

紫龄op鉴龄ty–理鉴t–环集龄st篇身骤鉴喧–器–溢s–背t龄集魔铅––
环集龄st篇身骤鉴–橄–骤豫环集龄st篇身骤鉴––
狂魔量–紫龄op鉴龄ty––

紫龄op鉴龄ty–理鉴t–背身首身龄y喧–器–溢s–点u龄龄鉴魔邻y––
背身首身龄y–橄–骤豫背身首身龄y––
狂魔量–紫龄op鉴龄ty––
紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–理鉴t
紫龄op鉴龄ty–理鉴t


10 Property Let
紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–种鉴t

紫龄op鉴龄ty–种鉴t熬紫龄op鉴龄ty–种鉴t
点狂骤p首oy鉴鉴种身st篇身骤鉴环集龄st嫌–篇身骤鉴背身首身龄y紫龄op鉴龄ty–种鉴t–
度富 点狂骤p首oy鉴鉴紫龄op鉴龄ty–种鉴t–
紫龄op鉴龄ty–种鉴t–种身st篇身骤鉴喧种–溢s–背t龄集魔铅器––
骤豫种身st篇身骤鉴–橄–种––
狂魔量–紫龄op鉴龄ty––

紫龄op鉴龄ty–种鉴t–环集龄st篇身骤鉴喧环–溢s–背t龄集魔铅器––
骤豫环集龄st篇身骤鉴–橄–环––
狂魔量–紫龄op鉴龄ty––

紫龄op鉴龄ty–种鉴t–背身首身龄y喧激y获身首–量o首首身龄–溢s–点u龄龄鉴魔邻y器––
骤豫背身首身龄y–橄–量o首首身龄––
狂魔量–紫龄op鉴龄ty––
紫龄op鉴龄ty–种鉴t紫龄op鉴龄ty–种鉴t–背身首身龄y
激y获身首激y美鉴f
紫龄op鉴龄ty–种鉴t紫龄op鉴龄ty–理鉴t–背鉴t
紫龄op鉴龄ty–种鉴t紫龄op鉴龄ty–理鉴t熬紫龄op鉴龄ty–
种鉴t熬–

度度嫌懂––
紫u迎首集邻紫龄集v身t鉴背t身t集邻–
紫龄op鉴龄ty–理鉴t–
紫u迎首集邻–紫龄op鉴龄ty–理鉴t–环集龄st篇身骤鉴喧–器–溢s–背t龄集魔铅–
紫龄op鉴龄ty–理鉴t–
紫龄集v身t鉴–紫龄op鉴龄ty–理鉴t–环集龄st篇身骤鉴喧–器–溢s–背t龄集魔铅–
紫龄op鉴龄ty–理鉴t–
背t身t集邻–紫龄op鉴龄ty–理鉴t–环集龄st篇身骤鉴喧–器–溢s–背t龄集魔铅–
紫u迎首集邻紫龄集v身t鉴背t身t集邻–


wwwplcworldcn
Excel 2002 VBA
232
11


紫u迎首集邻点狂骤p首oy鉴鉴

度富 点身首邻篇鉴w背身首身龄y–
紫u迎首集邻–环u魔邻t集o魔–点身首邻篇鉴w背身首身龄y喧邻长o集邻鉴–溢s–魔t鉴铅鉴龄始–豫––
邻u龄背身首身龄y–溢s–点u龄龄鉴魔邻y始–身骤ou魔t–溢s–种o魔铅器–溢s–点u龄龄鉴魔邻y––
背鉴首鉴邻t–点身s鉴–邻长o集邻鉴––
点身s鉴–度––
响–迎y–p鉴龄邻鉴魔t––
点身首邻篇鉴w背身首身龄y–橄邻u龄背身首身龄y–增喧喧邻u龄背身首身龄y–增–身骤ou魔t器属度嵌嵌器––
点身s鉴–必––
响–迎y–身骤ou魔t––
点身首邻篇鉴w背身首身龄y–橄–邻u龄背身首身龄y–增–身骤ou魔t––
狂魔量–背鉴首鉴邻t––
狂魔量–环u魔邻t集o魔––
点身首邻篇鉴w背身首身龄y紫u迎首集邻点狂骤p首oy鉴鉴
获激溢邻长o集邻鉴点u龄背身首身龄y身骤ou魔t邻长o集邻鉴拉
拉度拉必拉点u龄背身首身龄y
身骤ou魔t–

度度嫌拉––
 紫u迎首集邻紫龄集v身t鉴–
 –
 –

12
紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–种鉴t
点狂骤p首oy鉴鉴

熬集骤–鉴骤p–溢s–篇鉴w–点狂骤p首oy鉴鉴––
鉴骤p点狂骤p首oy鉴鉴篇鉴w获激溢


熬集骤–鉴骤p–溢s–点狂骤p首oy鉴鉴––
背鉴t–鉴骤p–橄–篇鉴w–点狂骤p首oy鉴鉴––
篇鉴w熬集骤获激溢–

13
魔集t集身首集z鉴膳鉴龄骤集魔身t鉴

魔集t集身首集z鉴点狂骤p首oy鉴鉴魔集t集身首集z鉴
鉴骤p魔集t集身首集z鉴
魔集t集身首集z鉴
点狂骤p首oy鉴鉴熬魔集t集身首集z鉴骤豫量–
度富 点狂骤p首oy鉴鉴点首身ss豫魔集t集身首集z鉴–
wwwplcworldcn
Excel 2002 VBA
233
紫龄集v身t鉴–背u迎–点首身ss豫魔集t集身首集z鉴喧器––
美身魔量o骤集z鉴––
骤豫量–橄–魔t喧喧暗暗暗暗暗–嫌–度嵌嵌嵌嵌器–城–美魔量–增–度嵌嵌嵌嵌器––
狂魔量–背u迎––
点首身ss豫魔集t集身首集z鉴骤豫量点狂骤p首oy鉴鉴
度嵌嵌嵌嵌暗暗暗暗暗–
橄魔t喧喧器城美魔量–增器––
点首身ss豫魔集t集身首集z鉴美身魔量o骤集z鉴美魔量魔t
美身魔量o骤集z鉴–
膳鉴龄骤集魔身t鉴点首身ss豫膳鉴龄骤集魔身t鉴

紫龄集v身t鉴–背u迎–点首身ss豫膳鉴龄骤集魔身t鉴喧器–
装言––
狂魔量–背u迎––

背鉴t–o迎面鉴邻t获身龄集身迎首鉴–橄–篇ot长集魔铅––
篇ot长集魔铅膳鉴龄骤集魔身t鉴–

14
点狂骤p首oy鉴鉴–
度富 获激溢|–
必富 度度嫌度–
wwwplcworldcn
Excel 2002 VBA
234

度度嫌度–点狂骤p首oy鉴鉴–

惊富 –
– – –
– 篇身骤鉴 – 背身首身龄集鉴s–
– 点身pt集o魔– 狂骤p首oy鉴鉴s–身魔量–背身首身龄集鉴s–
度– 点身pt集o魔– 种身st–篇身骤鉴–
种身st–篇身骤鉴–– 篇身骤鉴– txt种身st篇身骤鉴–
必– 点身pt集o魔– 环集龄st–篇身骤鉴–
环集龄st–篇身骤鉴–– 篇身骤鉴– txt环集龄st篇身骤鉴–
惊– 点身pt集o魔– 背身首身龄y–
背身首身龄y–– 篇身骤鉴– txt背身首身龄y–
度– 点身pt集o魔– 背身首身龄y–立o量集f集邻身t集o魔–
背身首身龄y–立o量集f集邻身t集o魔

篇身骤鉴 – txt美身集s鉴–
度– 篇身骤鉴 – opt紫鉴龄邻鉴魔t–
– 点身pt集o魔 – 紫鉴龄邻鉴魔t–喧势器–
必– 篇身骤鉴 – opt溢骤ou魔t–
– 点身pt集o魔 – 溢骤ou魔t–喧减器–
必– 点身pt集o魔 – 点长身魔铅鉴–t长鉴–背身首身龄y–fo龄–
wwwplcworldcn
Excel 2002 VBA
235
惊– 篇身骤鉴 – opt病集铅长首集铅长t鉴量–
– 点身pt集o魔 – 病集铅长首集铅长t鉴量–狂骤p首oy鉴鉴–
懂– 篇身骤鉴 – opt溢首首–
– 点身pt集o魔 – 溢首首–狂骤p首oy鉴鉴s–
– 篇身骤鉴 – 首迎ox紫鉴op首鉴–
– 病鉴集铅长t – 暗度富懂拉–
– 蓄集量t长 – 度族嵌富操拉–
度– 篇身骤鉴 – 邻骤量背身v鉴–
– 点身pt集o魔 – 背身v鉴–
必– 篇身骤鉴 – 邻骤量点首os鉴–
– 点身pt集o魔 – 点首os鉴–
惊– 篇身骤鉴 – 邻骤量花p量身t鉴–
– 点身pt集o魔 – 花p量身t鉴–背身首身龄y–
懂– 篇身骤鉴 – 邻骤量熬鉴首鉴t鉴–
– 点身pt集o魔 – 熬鉴首鉴t鉴–狂骤p首oy鉴鉴–
拉– 篇身骤鉴 – 邻骤量狂骤p首oy鉴鉴种集st–
– 点身pt集o魔 – 花p量身t鉴–种集st–

懂富 度度嫌必–

度度嫌必–狂骤p首oy鉴鉴s–身魔量–背身首身龄集鉴s–

拉富 获激–
描富 –
精pt集o魔–狂xp首集邻集t––
熬集骤–鉴骤p–溢s–篇鉴w–点狂骤p首oy鉴鉴––
熬集骤–点狂骤p首oy鉴鉴s–溢s–篇鉴w–点o首首鉴邻t集o魔––
熬集骤–集魔量鉴x–溢s–魔t鉴铅鉴龄––
熬集骤–ws–溢s–蓄o龄颜s长鉴鉴t––
熬集骤–鉴xt龄身邻t–溢s–背t龄集魔铅––
熬集骤–邻鉴首首–溢s–美身魔铅鉴––
熬集骤–首身st美ow–溢s–魔t鉴铅鉴龄––
熬集骤–鉴骤p种o邻–溢s–魔t鉴铅鉴龄––
熬集骤–st身龄t美ow–溢s–魔t鉴铅鉴龄––
wwwplcworldcn
Excel 2002 VBA
236
熬集骤–鉴魔量美ow–溢s–魔t鉴铅鉴龄––
熬集骤–邻长o集邻鉴–溢s–魔t鉴铅鉴龄––
熬集骤–身骤ou魔t–溢s–种o魔铅––
鉴骤p点狂骤p首oy鉴鉴点狂骤p首oy鉴鉴s
获激溢–
操富 花s鉴龄环o龄骤豫魔集t集身首集z鉴–
紫龄集v身t鉴–背u迎–花s鉴龄环o龄骤豫魔集t集身首集z鉴喧器––
txt种身st篇身骤鉴富背鉴t环o邻us––
邻骤量狂骤p首oy鉴鉴种集st富获集s集迎首鉴–橄–环身首s鉴––
首迎ox紫鉴op首鉴富狂魔身迎首鉴量–橄–环身首s鉴––
环龄身骤鉴度富狂魔身迎首鉴量–橄–环身首s鉴––
txt美身集s鉴富获身首u鉴–橄–便便––
opt紫鉴龄邻鉴魔t富获身首u鉴–橄–环身首s鉴––
opt溢骤ou魔t富获身首u鉴–橄–环身首s鉴––
txt美身集s鉴富狂魔身迎首鉴量–橄–环身首s鉴––
opt紫鉴龄邻鉴魔t富狂魔身迎首鉴量–橄–环身首s鉴––
opt溢骤ou魔t富狂魔身迎首鉴量–橄–环身首s鉴––
环龄身骤鉴必富狂魔身迎首鉴量–橄–环身首s鉴––
opt病集铅长首集铅长t鉴量富狂魔身迎首鉴量–橄–环身首s鉴––
opt溢首首富狂魔身迎首鉴量–橄–环身首s鉴––
邻骤量花p量身t鉴富狂魔身迎首鉴量–橄–环身首s鉴––
邻骤量熬鉴首鉴t鉴富狂魔身迎首鉴量–橄–环身首s鉴––
狂魔量–背u迎––
花s鉴龄环o龄骤豫魔集t集身首集z鉴度度嫌惊–


度度嫌惊–花s鉴龄环o龄骤豫魔集t集身首集z鉴–

wwwplcworldcn
Excel 2002 VBA
237
族富 邻骤量背身v鉴豫点首集邻颜–
紫龄集v身t鉴–背u迎–邻骤量背身v鉴豫点首集邻颜喧器––
f–txt种身st篇身骤鉴富获身首u鉴–橄–便便–精龄–txt环集龄st篇身骤鉴富获身首u鉴–橄–便便–精龄–豫–
txt背身首身龄y富获身首u鉴–橄–便便–膳长鉴魔––
立s铅激ox–便狂魔t鉴龄–种身st–篇身骤鉴始–环集龄st–篇身骤鉴–身魔量–背身首身龄y富便––
txt种身st篇身骤鉴富背鉴t环o邻us––
狂x集t–背u迎––
狂魔量–f––
f–篇ot–s篇u骤鉴龄集邻喧txt背身首身龄y器–膳长鉴魔––
立s铅激ox–便ou–骤ust–鉴魔t鉴龄–身–v身首u鉴–fo龄–t长鉴–背身首身龄y富便––
txt背身首身龄y富背鉴t环o邻us––
狂x集t–背u迎––
狂魔量–f––
f–txt背身首身龄y–榄–嵌–膳长鉴魔––
立s铅激ox–便背身首身龄y–邻身魔魔ot–迎鉴–身–魔鉴铅身t集v鉴–魔u骤迎鉴龄富便––
狂x集t–背u迎––
狂魔量–f––
蓄o龄颜s长鉴鉴ts喧便背身首身龄集鉴s便器富背鉴首鉴邻t––
集魔量鉴x–橄–溢邻t集v鉴背长鉴鉴t富花s鉴量美身魔铅鉴富美ows富点ou魔t–增–度––
首迎ox紫鉴op首鉴富狂魔身迎首鉴量–橄–膳龄u鉴––

响s鉴t–身魔量–鉴魔t鉴龄–量身t身–集魔to–t长鉴–点狂骤p首oy鉴鉴s–邻o首首鉴邻t集o魔––
蓄集t长–鉴骤p––
点鉴首首s喧集魔量鉴x始–度器富环o龄骤u首身–橄–鉴骤p富量––
富种身st篇身骤鉴–橄–txt种身st篇身骤鉴––
点鉴首首s喧集魔量鉴x始–必器富环o龄骤u首身–橄–鉴骤p富种身st篇身骤鉴––
富环集龄st篇身骤鉴–橄–txt环集龄st篇身骤鉴––
点鉴首首s喧集魔量鉴x始–惊器富环o龄骤u首身–橄–鉴骤p富环集龄st篇身骤鉴––
富背身首身龄y–橄–点点u龄喧txt背身首身龄y器––
f–富背身首身龄y–橄–嵌–膳长鉴魔–狂x集t–背u迎––
点鉴首首s喧集魔量鉴x始–懂器富环o龄骤u首身–橄–鉴骤p富背身首身龄y––
点狂骤p首oy鉴鉴s富溢量量–鉴骤p––
狂魔量–蓄集t长––

量鉴首鉴t鉴–量身t身–f龄o骤–t鉴xt–迎ox鉴s––
txt种身st篇身骤鉴–橄–便便–
txt环集龄st篇身骤鉴–橄–便便––
txt背身首身龄y–橄–便便––

鉴魔身迎首鉴–长集量量鉴魔–邻o魔t龄o首s––
邻骤量狂骤p首oy鉴鉴种集st富获身首u鉴–橄–膳龄u鉴––
邻骤量狂骤p首oy鉴鉴种集st富获集s集迎首鉴–橄–膳龄u鉴–
邻骤量花p量身t鉴富狂魔身迎首鉴量–橄–膳龄u鉴––
邻骤量熬鉴首鉴t鉴富狂魔身迎首鉴量–橄–膳龄u鉴––
环龄身骤鉴度富狂魔身迎首鉴量–橄–膳龄u鉴––
txt美身集s鉴富狂魔身迎首鉴量–橄–膳龄u鉴––
opt紫鉴龄邻鉴魔t富狂魔身迎首鉴量–橄–膳龄u鉴––
opt溢骤ou魔t富狂魔身迎首鉴量–橄–膳龄u鉴––
环龄身骤鉴必富狂魔身迎首鉴量–橄–膳龄u鉴––
opt病集铅长首集铅长t鉴量富狂魔身迎首鉴量–橄–膳龄u鉴––
wwwplcworldcn
Excel 2002 VBA
238
opt溢首首富狂魔身迎首鉴量–橄–膳龄u鉴––
txt种身st篇身骤鉴富背鉴t环o邻us––
狂魔量–背u迎––
邻骤量背身v鉴豫点首集邻颜获激溢
魔量鉴x–
蓄集t长–鉴骤p点狂骤p首oy鉴鉴种身st篇身骤鉴环集龄st篇身骤鉴背身首身龄y
熬点首身ss豫魔集t集身首集z鉴获激溢
鉴骤p紫龄op鉴龄ty–种鉴t–
获激溢
蓄集t长–鉴骤p鉴骤p点狂骤p首oy鉴鉴

获激花s鉴龄环o龄骤豫魔集t集身首集z鉴
邻骤量狂骤p首oy鉴鉴种集st富获身首u鉴–橄–膳龄u鉴邻骤量狂骤p首oy鉴鉴种集st豫点首集邻颜花p量身t鉴–
种集st–
暗富 邻骤量狂骤p首oy鉴鉴种集st豫点首集邻颜–
紫龄集v身t鉴–背u迎–邻骤量狂骤p首oy鉴鉴种集st豫点首集邻颜喧器––
首迎ox紫鉴op首鉴富点首鉴身龄––
环o龄–狂身邻长–鉴骤p–魔–点狂骤p首oy鉴鉴s––
首迎ox紫鉴op首鉴富溢量量t鉴骤–鉴骤p富量––便始–便––豫––
鉴骤p富种身st篇身骤鉴––便始–便––鉴骤p富环集龄st篇身骤鉴––便始–减便––豫––
环o龄骤身t喧鉴骤p富背身首身龄y始–便嵌富嵌嵌便器–
篇鉴xt–鉴骤p––
狂魔量–背u迎––
邻骤量狂骤p首oy鉴鉴种集st豫点首集邻颜花p量身t鉴–种集st邻骤量背身v鉴豫点首集邻颜
邻骤量狂骤p首oy鉴鉴种集st豫点首集邻颜点狂骤p首oy鉴鉴s



wwwplcworldcn
Excel 2002 VBA
239
度度嫌懂––

度嵌富 邻骤量点首os鉴豫点首集邻颜–
紫龄集v身t鉴–背u迎–邻骤量点首os鉴豫点首集邻颜喧器––
花魔首o身量–立鉴––
狂魔量–背u迎––
邻骤量点首os鉴豫点首集邻颜
点狂骤p首oy鉴鉴s–
度度富 邻骤量熬鉴首鉴t鉴豫点首集邻颜–
紫龄集v身t鉴–背u迎–邻骤量熬鉴首鉴t鉴豫点首集邻颜喧器––
响–骤身颜鉴–su龄鉴–t长身t–身魔–鉴骤p首oy鉴鉴–集s–长集铅长首集铅长t鉴量–集魔–t长鉴–
响–首集st–邻o魔t龄o首––
f–首迎ox紫鉴op首鉴富种集st魔量鉴x––嫌度–膳长鉴魔––
立s铅激ox–便背鉴首鉴邻t鉴量–集t鉴骤–魔u骤迎鉴龄架–便––首迎ox紫鉴op首鉴富种集st魔量鉴x––
鉴xt龄身邻t–橄–点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富量––
立s铅激ox–鉴xt龄身邻t––
点身首首–环集魔量量––
立s铅激ox–鉴骤p种o邻––
美身魔铅鉴喧便溢便––鉴骤p种o邻器富熬鉴首鉴t鉴–喧惊器––
立s铅激ox–便膳长鉴龄鉴–身龄鉴–便––点狂骤p首oy鉴鉴s富点ou魔t––豫––
便–集t鉴骤s–集魔–t长鉴–点狂骤p首oy鉴鉴s–邻o首首鉴邻t集o魔富–便––
点狂骤p首oy鉴鉴s富美鉴骤ov鉴–首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度––

立s铅激ox–便膳长鉴–点狂骤p首oy鉴鉴s–邻o首首鉴邻t集o魔–长身s–魔ow–便––豫––
点狂骤p首oy鉴鉴s富点ou魔t––便–集t鉴骤s富便––
邻骤量狂骤p首oy鉴鉴种集st富获身首u鉴–橄–膳龄u鉴––
f–点狂骤p首oy鉴鉴s富点ou魔t–橄–嵌–膳长鉴魔––
点身首首–花s鉴龄环o龄骤豫魔集t集身首集z鉴––
狂魔量–f––
狂首s鉴––
立s铅激ox–便点首集邻颜–t长鉴–集t鉴骤–you–w身魔t–to–龄鉴骤ov鉴富便––
狂魔量–f––
狂魔量–背u迎––
邻骤量熬鉴首鉴t鉴豫点首集邻颜点狂骤p首oy鉴鉴s
熬鉴首鉴t鉴–狂骤p首oy鉴鉴邻骤量狂骤p首oy鉴鉴种集st豫点首集邻颜
获激溢花s鉴龄环o龄骤豫魔集t集身首集z鉴
邻骤量熬鉴首鉴t鉴豫点首集邻颜立s铅激ox
邻骤量熬鉴首鉴t鉴豫点首集邻颜
环集魔量量度必
邻骤量熬鉴首鉴t鉴豫点首集邻颜–
度必富 –
紫龄集v身t鉴–环u魔邻t集o魔–环集魔量量喧器––
背鉴t–ws–橄–溢邻t集v鉴蓄o龄颜迎oo颜富背长鉴鉴ts喧便背身首身龄集鉴s便器––
st身龄t美ow–橄–溢邻t集v鉴背长鉴鉴t富花s鉴量美身魔铅鉴富美ows富点ou魔t–增–豫––
度–嫌–点狂骤p首oy鉴鉴s富点ou魔t––
鉴魔量美ow–橄–溢邻t集v鉴背长鉴鉴t富花s鉴量美身魔铅鉴富美ows富点ou魔t––
环o龄–狂身邻长–邻鉴首首–魔–ws富美身魔铅鉴喧点鉴首首s喧st身龄t美ow始–度器始–豫––
点鉴首首s喧鉴魔量美ow始–度器器––
f–邻鉴首首富获身首u鉴–橄–鉴xt龄身邻t–膳长鉴魔––
鉴骤p种o邻–橄–邻鉴首首富美ow––
wwwplcworldcn
Excel 2002 VBA
240
环集魔量量–橄–鉴骤p种o邻––
狂x集t–环u魔邻t集o魔––
狂魔量–f––
篇鉴xt––
狂魔量–环u魔邻t集o魔––
环集魔量量鉴xt龄身邻t



度惊富 邻骤量花p量身t鉴豫点首集邻颜–
紫龄集v身t鉴–背u迎–邻骤量花p量身t鉴豫点首集邻颜喧器––
f–opt病集铅长首集铅长t鉴量–橄–环身首s鉴–溢魔量–opt溢首首–橄–环身首s鉴–膳长鉴魔––
立s铅激ox–便点首集邻颜–t长鉴–响病集铅长首集铅长t鉴量–狂骤p首oy鉴鉴响–o龄–便–豫––
–便–响溢首首–狂骤p首oy鉴鉴s响–opt集o魔–迎utto魔富便––
狂x集t–背u迎––
狂魔量–f––
f–篇ot–s篇u骤鉴龄集邻喧txt美身集s鉴器–膳长鉴魔––
立s铅激ox–便膳长集s–f集鉴首量–龄鉴黄u集龄鉴s–身–魔u骤迎鉴龄富便––
txt美身集s鉴富背鉴t环o邻us––
狂x集t–背u迎––
狂魔量–f––
f–opt病集铅长首集铅长t鉴量–橄–膳龄u鉴–溢魔量–豫––
首迎ox紫鉴op首鉴富种集st魔量鉴x–橄–嫌度–膳长鉴魔––
立s铅激ox–便点首集邻颜–t长鉴–魔身骤鉴–of–t长鉴–鉴骤p首oy鉴鉴富便––
狂x集t–背u迎––
狂魔量–f––
f–首迎ox紫鉴op首鉴富种集st魔量鉴x–榄–嫌度–溢魔量–豫––
opt病集铅长首集铅长t鉴量–橄–膳龄u鉴–溢魔量–豫––
opt溢骤ou魔t富获身首u鉴–橄–膳龄u鉴–溢魔量–豫––
txt美身集s鉴富获身首u鉴–榄–便便–膳长鉴魔––
鉴xt龄身邻t–橄–点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富量––
立s铅激ox–鉴xt龄身邻t––
点身首首–环集魔量量––
立s铅激ox–鉴骤p种o邻––
邻长o集邻鉴–橄–必––
身骤ou魔t–橄–txt美身集s鉴––
点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富背身首身龄y–橄–豫––
鉴骤p富点身首邻篇鉴w背身首身龄y喧邻长o集邻鉴始–豫––
点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富背身首身龄y始–身骤ou魔t器––
美身魔铅鉴喧便熬便––鉴骤p种o邻器富环o龄骤u首身–橄–点狂骤p首oy鉴鉴s富–豫––
t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富背身首身龄y––
邻骤量狂骤p首oy鉴鉴种集st富获身首u鉴–橄–膳龄u鉴––
狂首s鉴f–首迎ox紫鉴op首鉴富种集st魔量鉴x–榄–嫌度–溢魔量–豫––
opt病集铅长首集铅长t鉴量–橄–膳龄u鉴–溢魔量–豫––
opt紫鉴龄邻鉴魔t富获身首u鉴–橄–膳龄u鉴–溢魔量–豫––
txt美身集s鉴富获身首u鉴–榄–便便–膳长鉴魔––

鉴xt龄身邻t–橄–点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富量––
立s铅激ox–鉴xt龄身邻t––
点身首首–环集魔量量––
wwwplcworldcn
Excel 2002 VBA
241
立s铅激ox–鉴骤p种o邻––
点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富背身首身龄y–橄–豫––
点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富背身首身龄y–增–豫––
喧点狂骤p首oy鉴鉴s富t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富背身首身龄y–城–豫––
txt美身集s鉴–属–度嵌嵌器––
美身魔铅鉴喧便熬便––鉴骤p种o邻器富环o龄骤u首身–橄–点狂骤p首oy鉴鉴s富–豫––
t鉴骤喧首迎ox紫鉴op首鉴富种集st魔量鉴x–增–度器富背身首身龄y––
邻骤量狂骤p首oy鉴鉴种集st富获身首u鉴–橄–膳龄u鉴––
狂首s鉴f–opt溢首首–橄–膳龄u鉴–溢魔量–豫––
opt紫鉴龄邻鉴魔t富获身首u鉴–橄–膳龄u鉴–溢魔量–豫––
txt美身集s鉴富获身首u鉴–榄–便便–膳长鉴魔––

环o龄–狂身邻长–鉴骤p–魔–点狂骤p首oy鉴鉴s––
鉴骤p富背身首身龄y–橄–鉴骤p富背身首身龄y–增–喧喧鉴骤p富背身首身龄y–城–txt美身集s鉴器–豫––
属–度嵌嵌器––
鉴xt龄身邻t–橄–鉴骤p富量––
立s铅激ox–鉴xt龄身邻t––
点身首首–环集魔量量––
立s铅激ox–鉴骤p种o邻––
美身魔铅鉴喧便熬便––鉴骤p种o邻器富环o龄骤u首身–橄–鉴骤p富背身首身龄y––
篇鉴xt––

鉴骤p–邻骤量狂骤p首oy鉴鉴种集st富获身首u鉴–橄–膳龄u鉴––
狂首s鉴f–opt溢首首–橄–膳龄u鉴–溢魔量–豫––
opt溢骤ou魔t富获身首u鉴–橄–膳龄u鉴–溢魔量–豫––
txt美身集s鉴富获身首u鉴–榄–便便–膳长鉴魔––

环o龄–狂身邻长–鉴骤p–魔–点狂骤p首oy鉴鉴s––
鉴骤p富背身首身龄y–橄–鉴骤p富背身首身龄y–增–txt美身集s鉴––
鉴xt龄身邻t–橄–鉴骤p富量––
立s铅激ox–鉴xt龄身邻t––
点身首首–环集魔量量––
立s铅激ox–鉴骤p种o邻––
美身魔铅鉴喧便熬便––鉴骤p种o邻器富环o龄骤u首身–橄–鉴骤p富背身首身龄y––
篇鉴xt–鉴骤p––

邻骤量狂骤p首oy鉴鉴种集st富获身首u鉴–橄–膳龄u鉴––
狂首s鉴––
立s铅激ox–便狂魔t鉴龄–量身t身–o龄–s鉴首鉴邻t–身魔–opt集o魔富便––
狂魔量–f––
狂魔量–背u迎––
邻骤量花p量身t鉴豫点首集邻颜
邻骤量花p量身t鉴豫点首集邻颜

度度嫌度拉着身骤鉴s–篇o首身魔


wwwplcworldcn
Excel 2002 VBA
242

度度嫌拉––

度懂富 |蓄o龄颜溢魔量紫身y狂骤p首oy鉴鉴s–
身魔量–背身首身龄集鉴s–
背u迎–点首身ss熬鉴骤o喧–器––
背身首身龄集鉴s富背长ow––
狂魔量–背u迎––
度拉富 点首身ss熬鉴骤o–
环拉背身首身龄集鉴s点首身ss熬鉴骤o


15 VBA
邻骤量背身v鉴豫点首集邻颜

度富 背身首身龄集鉴s–
必富 背身首身龄集鉴s邻骤量背身v鉴–
惊富 –
f–txt种身st篇身骤鉴富获身首u鉴–橄–便便–精龄–txt环集龄st篇身骤鉴富获身首u鉴–橄–便便–精龄–豫––
txt背身首身龄y富获身首u鉴–橄–便便–膳长鉴魔––

wwwplcworldcn
Excel 2002 VBA
243

度度嫌描–获激溢–

懂富 蓄o龄颜溢魔量紫身y–
拉富 点首身ss熬鉴骤o环拉|属–
描富 种身st–篇身骤鉴环集龄st–篇身骤鉴背身首身龄y背身v鉴获激
邻骤量背身v鉴豫点首集邻颜–

wwwplcworldcn
Excel 2002 VBA
244

度度嫌操–获激–

操富 环族获激
环族获激蓄集t长–鉴骤p点首身ss豫魔集t集身首集z鉴–


度度嫌族–获激鉴骤p点首身ss豫魔集t集身首集z鉴获激溢
邻骤量背身v鉴豫点首集邻颜–

获激点鉴首首s喧魔量鉴x始–度器富环o龄骤u首身–橄–鉴骤p富熬点狂骤p首oy鉴鉴紫龄op鉴龄ty–理鉴t–量–
wwwplcworldcn
Excel 2002 VBA
245


度度嫌暗–紫龄op鉴龄ty–理鉴t–

族富 环族邻骤量背身v鉴豫点首集邻颜–
获激溢狂魔量–背u迎狂x邻鉴首
背身v鉴获激|
环拉–

度度嫌描–获激溢–
获激–

16
获激溢
紫龄op鉴龄ty–理鉴t紫龄op鉴龄ty–种鉴t

获激溢获激溢–
VBA


(&F) (&E) (&V) (&I) (&O) (&T) (&D) (&W) (&H)

Windows VBA

VBA


1

121||
|

wwwplcworldcn
Excel 2002 VBA
246

Excel


121




VBA


CommandBar
CommandBars CommandBar
CommandBar CommandBar
Type 121

121 CommandBars CommandBar

0 msoBarTypeNormal
1 msoBarTypeMenuBar
2 msoBarTypePopup

1 Chap12xls
2 VB
3 VBA Chap12xls CustomTools
4
5 MyToolBars
Sub MyToolBars( )
Dim bar As CommandBar
Dim r As Integer

r 1
wwwplcworldcn
Excel 2002 VBA
247
ActiveSheetRange(A1)Formula List of Toolbars
For Each bar In CommandBars
If barType msoBarTypeNormal Then
With Worksheets(Sheet1)Range(A1)
Offset(r 0) barName
Offset(r 1) barIndex
End With
r r + 1
End If
Next
Set bar Nothing
End Sub
CommandBars Type msoBarTypeNormal CommandBars
VB B
CommandBars 121

CommandBars
1
CommandBars(1)Name
VB CommandBars
2
CommandBars(Circular Reference)Type
VB 0 121
3 CommandBars Count
CommandBarsCount

2
CommandBars Add
Budget Plans Add
CommandBarsAdd(Name Position MenuBar Temporary)
Name VB 1
Position 122

122 CommandBar

msoBarLeft 0
msoBarRight 2
msoBarTop 1
msoBarBottom 3
msoBarFloating 4
msoBarPopup 5
msoBarMenuBar 6 Macintosh

MenuBar True False
True False Temporary True False True Excel
False

1
set newToolbar CommandBarsAdd(Budget Plans msoBarRight False True)
VB CommandBars Budget Plans Excel
| Excel
wwwplcworldcn
Excel 2002 VBA
248
122


122 Excel

2 VB
CommandBars(Budget Plans)Visible True
Excel Budget Plans
msoBarRight
3 Excel Budget Plans
Add True Budget Plans

CommandBars
Budget Plans CustomTools (Chap12xls)
wwwplcworldcn
Excel 2002 VBA
249

Sub MakeToolBar()
Dim bar As CommandBar
Dim flagExists As Boolean

flagExists False

For Each bar In CommandBars
If barName Budget Plans Then
flagExists True
MsgBox The toolbar with this name already exists
Exit For
End If
Next bar

If Not flagExists Then
Set bar CommandBarsAdd(Budget Plans _
msoBarBottom False True)
CommandBars(Budget Plans)Visible True
End If
Set bar Nothing
End Sub

3

Excel Delete
Budget Plans
CommandBars(Budget Plans)Delete


4 CommandBar

CommandBar
1 My Reports
set myBar CommandBarsAdd(My Reports msoBarBottom False)
2
CommandBars(My Reports)BuiltIn
3 CommandBars
CommandBars(My Reports)Index
Visible True Visible False

5 CommandBar

VBA


123

CommandBarButton
VBA
wwwplcworldcn
Excel 2002 VBA
250
CommandBarPopup
CommandBarComboBox


CommandBar Controls

1
CommandBars(1)Controls Count
VB
2
CommandBars(1)Controls(1)Caption
VB &File F & Alt+F
3
CommandBars(1)Controls(1)Execute
Execute
4 ControlList
Sub ControlList()
Dim bar As CommandBar
Dim ctrl As CommandBarControl

Set bar CommandBars(1)
DebugPrint barName & & barControlsCount

For Each ctrl In barControls
DebugPrint ctrlCaption
Next
End Sub
5
Worksheet Menu Bar 10
&File
&Edit
&View
&Insert
F&ormat
&Tools
&Data
A&ction
&Window
&Help

CommandBar

VBA
Add

CommandBarControlsAdd(Type Id Parameter Before Temporary)
CommandBar
Type
msoControlButton 1
msoControlPopup 10
msoControlEdit 2
msoControlDropDown 3
msoControlComboBox 4
Id
wwwplcworldcn
Excel 2002 VBA
251
Parameter VB
Before VB
Temporart (True False) True

1 AddBarAndControls
Sub AddBarAndControls( )
With ApplicationCommandBarsAdd(Test False True)
Visible True
Position msoBarBottom
With ControlsAdd(msoControlButton)
Caption List of Controls
FaceId 4
OnAction ControlList
End With
End With
End Sub
Test Add List of
Controls ControlList

6


BuiltIn True False Enabled True
Enabled False
Caption
CommandBarComboBox DropDownLines DropDownWidth List
ListCount ListIndex Text 124

124 CommandBarComboBox

DropDownLines
DropDownWidth
List(Index) Index 0
ListCount
ListIndex
Text ——

1 MyCombo
Sub MyCombo()
Dim cbo As CommandBarControl
Set cbo CommandBars(4)ControlsAdd(Type4 Before1)

With cbo
AddItem TextRow Index1
AddItem TextColumn Index2
Caption Insert RowColumn
DropDownLines 2
DropDownWidth 80
End With
End Sub
MyCombo Type4 msoControlComboBox
CommandBars CommandBar
wwwplcworldcn
Excel 2002 VBA
252

2 Excel
3 VB
4 MyCombo
CommandBars(4)Controls(1)Delete
VB
CommandBarButton
FaceId ID ID ID CopyFace
Windows
Images
VB
Images On Error GoTo ErrorHandler VB
ErrorHandler Resume Next VB



123 Images

Sub Images()
Dim i As Integer
Dim total As Integer
Dim buttonId As Integer
Dim buttonName As String
Dim myControl As CommandBarControl
Dim bar As CommandBar

On Error GoTo ErrorHandler

wwwplcworldcn
Excel 2002 VBA
253
WorkbooksAdd
Range(A1)Select

With ActiveCell
Value Image
Offset(0 1) Index
Offset(0 2) Name
Offset(0 3) FaceId
End With

Set bar CommandBars(3)
total barControlsCount

With bar
For i 1 To total
buttonName Controls(i)Caption
buttonId Controls(i)ID
Set myControl CommandBarsFindControl(IDbuttonId)
myControlCopyFace

' error could occur here
ActiveCellOffset(1 0)Select
ActiveSheetPaste

With ActiveCell
Offset(0 1)Value buttonId
Offset(0 2)Value buttonName
Offset(0 3)Value myControlFaceId
End With
Next i

Columns(CC)EntireColumnAutoFit
Exit Sub

ErrorHandler
Set myControl CommandBars(3)ControlsAdd
With myControl
FaceId buttonId
CopyFace
Delete (False)
End With
Resume Next
End With
End Sub

7



1
set myBar CommandBars(3)
set myControl CommandBars(4)Controls(3)
myControlCopy BarmyBar Before1
2 Excel
3 VB
wwwplcworldcn
Excel 2002 VBA
254
CommandBars(3)Controls(1)Delete
Copy Move
Reset
CommandBars(3)Reset
CommandBars(4)Reset
CommandBarComboBox AddItem
RemoveItem
1 MyCombo
2
set myBar CommandBars(4)
set myControl CommandBars(4)Controls(1)
myControlRemoveItem(1)
myControlAddItem Cells 1
3 Excel
4 VB
CommandBars(4)Reset

8

CommandBar
Excel 2002
124

125

124 Excel
wwwplcworldcn
Excel 2002 VBA
255

125

126



126 Excel

Shift+F10 Excel 2002 50
127
128

wwwplcworldcn
Excel 2002 VBA
256

127


128

CommandBar Control Control
msoControlPopup msoControlButton msoBarPopup


9

VBA

1
CommandBarsActiveMenuBarName
VB
Caption Id
2 ID
Sub Return_ID()
Dim myControl As Object

Set myControl CommandBars(Worksheet menu bar)Controls(Format)
DebugPrint myControlCaption & Id is & myControlId
wwwplcworldcn
Excel 2002 VBA
257
End Sub
Set ID
Set myControl CommandBars(Worksheet menu bar)Controls (InputBox(Enter the menu name (Example
Format)))
3 Return_Id
4 Other
CommandBars(Worksheet menu bar)Controls Add(TypemsoControlPopup before10)Caption &Other
Excel

Other
5
CommandBars(Worksheet menu bar)Controls(Other) ControlsAdd(TypemsoControlButton before1) _
Caption Gridlines
Excel Other Gridlines

VBA
6
Sub GridOnOff( )
ActiveWindowDisplayGridlines Not ActiveWindowDisplayGridlines
End Sub
7 GridOnOff
CommandBars(Worksheet menu bar)Controls(Other)Controls (Gridlines)OnAction GridOnOff
VB GridOnOff Gridlines

Excel Other |Gridlines VB

Enabled False

8 Other Gridlines
CommandBars(Worksheet menu bar)Controls(Other)Controls (Gridlines)Enabled False
VB Gridlines
Excel Other Gridlines
9 Other Gridlines False True
CommandBars(Worksheet menu bar)Controls(Other) Controls (Gridlines)Enabled True
129
BeginGroup
wwwplcworldcn
Excel 2002 VBA
258

129

10
CommandBars(Worksheet menu bar)Controls(Window)Controls (Hide)BeginGroup True
VB

Excel

129

11 Other Gridlines GridOnOff
Sub GridOnOff()
Dim Other As Object

Set Other CommandBars(Worksheet menu bar)Controls(Other)

ActiveWindowDisplayGridlines Not ActiveWindowDisplayGridlines

If ActiveWindowDisplayGridlines True Then
OtherControls(Gridlines)State msoButtonDown
Else
OtherControls(Gridlines)State msoButtonUp
End If
End Sub
Excel Other | Gridlines
Other | Gridlines
12
CommandBars(Worksheet menu bar)Controls(Other)Delete



10


wwwplcworldcn
Excel 2002 VBA
259

1
CommandBars(Worksheet menu bar)Controls(Tools)ControlsAdd(TypemsoControlPopup Before1) _
Caption My Submenu
My Submenu

2
CommandBars(Worksheet menu bar)Controls(Tools)Controls(My Submenu)Controls _
Add(TypemsoControlButton Before1)Caption Option 1
My Submenu Option 1

Colors Red Green Blue Black

Sub Colors()
Dim myMenu As Object
Dim mySubMenu As Object

Set myMenu CommandBars(Worksheet menu bar)Controls(Format)

With myMenu
ControlsAdd(TypemsoControlPopup Before2)Caption Colors
End With

Set mySubMenu myMenuControls(Colors)

With mySubMenu
ControlsAdd(TypemsoControlButton)Caption Red
ControlsAdd(TypemsoControlButton)Caption Green
ControlsAdd(TypemsoControlButton)Caption Blue
ControlsAdd(TypemsoControlButton)Caption Black
Controls(Red)OnAction ColorRed
Controls(Green)OnAction ColorGreen
Controls(Blue)OnAction ColorBlue
Controls(Black)OnAction ColorBlack
End With
End Sub

Sub ColorRed()
ActiveCellFontColor RGB(255 0 0)
End Sub

Sub ColorGreen()
ActiveCellFontColor RGB(0 255 0)
End Sub

Sub ColorBlue()
ActiveCellFontColor RGB(0 0 255)
End Sub

Sub ColorBlack()
ActiveCellFontColor RGB(0 0 0)
End Sub

wwwplcworldcn
Excel 2002 VBA
260
11

Excel 60 Excel
VBA
1 ShortcutMenus
Sub ShortcutMenus()
Dim myBar As CommandBar
Dim counter As Integer

For Each myBar In CommandBars
If myBarType msoBarTypePopup Then
counter counter + 1
DebugPrint counter & & myBarName
End If
Next
End Sub
msoBarTypePopup CommandBars msoBarTypeMenuBar

ShortcutMenus

Excel 2002 Excel 2003
1 Query and Pivot 1 Query and Pivot
2 PivotChart Menu 2 PivotChart Menu
3 Workbook tabs 3 Workbook tabs
4 Cell 4 Cell
5 Column 5 Column
6 Row 6 Row
7 Cell 7 Cell
8 Column 8 Column
9 Row 9 Row
10 Ply 10 Ply
11 XLM Cell 11 XLM Cell
12 Document 12 Document
13 Desktop 13 Desktop
14 Nondefault Drag and Drop 14 Nondefault Drag and Drop
15 AutoFill 15 AutoFill
16 Button 16 Button
17 Dialog 17 Dialog
18 Series 18 Series
19 Plot Area 19 Plot Area
20 Floor and Walls 20 Floor and Walls
21 Trendline 21 Trendline
22 Chart 22 Chart
23 Format Data Series 23 Format Data Series
24 Format Axis 24 Format Axis
25 Format Legend Entry 25 Format Legend Entry
26 Formula Bar 26 Formula Bar
27 PivotTable Context Menu 27 PivotTable Context Menu
28 Query 28 Query
29 Query Layout 29 Query Layout
30 AutoCalculate 30 AutoCalculate
31 ObjectPlot 31 ObjectPlot
wwwplcworldcn
Excel 2002 VBA
261
32 Title Bar (Charting) 32 Title Bar (Charting)
33 Layout 33 Layout
34 Pivot Chart Popup 34 Pivot Chart Popup
35 Phonetic Information 35 Phonetic Information
36 Auto Sum 36 Auto Sum
37 Paste Special Dropdown 37 Paste Special Dropdown
38 Find Format 38 Find Format
39 Replace Format 39 Replace Format
40 Shapes 40 Shapes
41 Inactive Chart 41 Inactive Chart
42 Excel Control 42 Excel Control
43 Curve 43 Curve
44 Curve Node 44 Curve Node
45 Curve Segment 45 Curve Segment
46 Pictures Context Menu 46 Pictures Context Menu
47 OLE Object 47 OLE Object
48 ActiveX Control 48 ActiveX Control
49 WordArt Context Menu 49 WordArt Context Menu
50 Rotate Mode 50 Rotate Mode
51 Connector 51 Connector
52 Script Anchor Popup 52 Script Anchor Popup
53 Canvas Popup 53 Canvas Popup
54 Organization Chart Popup 54 Organization Chart Popup
55 Diagram 55 Diagram
56 Add Command 56 Layout
57 Builtin Menus 57 Select
58 System 58 List Range Popup
59 Layout 59 List Range Layout Popup
60 Select 60 XML Range Popup
61 List Range Layout Popup
62 Builtin Menus

Excel
|
Ply
2 AddToPlyMenu
Sub AddToPlyMenu()
With ApplicationCommandBars(Ply)
Reset
ControlsAdd(TypemsoControlButton Before2)Caption _
Print
Controls(Print)OnAction PrintSheet
End With
End Sub
Reset
3 AddToPlyMenu Print

Sub PrintSheet()
ApplicationDialogs(xlDialogPrint)Show
End Sub
4 Excel Print

wwwplcworldcn
Excel 2002 VBA
262


1210 Print AddToPlyMenu

12

1 VBA Create_ShortMenu
Sub Create_ShortMenu()
Dim sm As Object
Set sm ApplicationCommandBarsAdd(Information msoBarPopup)

With sm
ControlsAdd(TypemsoControlButton)Caption Operating System

With Controls(Operating System)
FaceId 1954
OnAction OpSystem
End With

ControlsAdd(TypemsoControlButton)Caption Total Memory

With Controls(Total Memory)
FaceId 1977
OnAction TotalMemory
End With

ControlsAdd(TypemsoControlButton)Caption Used Memory

With Controls(Used Memory)
FaceId 2081
OnAction UsedMemory
End With

ControlsAdd(TypemsoControlButton)Caption Free Memory

With Controls(Free Memory)
FaceId 2153
OnAction FreeMemory
End With
End With
wwwplcworldcn
Excel 2002 VBA
263
End Sub
Information
2
2 Create_ShortMenu
Sub FreeMemory( )
MsgBox ApplicationMemoryFree & bytes Free Memory
End Sub

Sub OpSystem( )
MsgBox ApplicationOperatingSystem Operating System
End Sub

Sub TotalMemory( )
MsgBox ApplicationMemoryTotal Total Memory
End Sub

Sub UsedMemory( )
MsgBox ApplicationMemoryUsed Used Memory
End Sub
Information ShowPopup 3
3
CommandBars(Information)ShowPopup 0 0
CommandBar ShowPopup x y
Information


1 VB
2
3
4 UserForm1
Private Sub CommandButton1_MouseDown(ByVal Button _
As Integer _
ByVal Shift As Integer _
ByVal X As Single _
ByVal Y As Single)
If Button 2 Then
Call Show_ShortMenu
Else
MsgBox You must rightclick this button
End If
End Sub
Show_ShortMenu VB
VB MouseDown MouseUp
MouseDown MouseUp
• object
• Button
Button
1
2
3
• Shift Shift Crel Alt
Shift
1 Shift
wwwplcworldcn
Excel 2002 VBA
264
2 Ctrl
3 Shift Ctrl
4 Alt
5 Alt Shift
6 Alt Ctrl
7 Alt Shift Ctrl
5 Show_ShortMenu
Sub Show_ShortMenu()
Dim shortMenu As Object
Set shortMenu ApplicationCommandBars(Information)
With shortMenu
ShowPopup
End With
End Sub
ShowPopup
1211
6 Information Delete_ShortMenu
Sub Delete_ShortMenu()
ApplicationCommandBars(Information)Delete
End Sub


1211

13

VBA
CommandBar CommandBar Normal MenuBar
Popup

VBA
VBA VBA
VBA


wwwplcworldcn
Excel 2002 VBA
265
1 VBA


VBA
VBA

VBA
• F8





2

VB Esc Esc VB
131 Esc VBA

• Ctrl+Break

• Stop

VB
131

131 Esc Ctrl+Break

131


VBA
VBA
VBA


131

ApplicationEnableCancelKey xlDisabled
Esc Ctrl+Break EnableCancelKey
wwwplcworldcn
Excel 2002 VBA
266

3


F9 VBA F8

ChangeCode
ActiveCellFormula VLookup(RC[1]CodesxlsR1C1R6C22)
1 132133 132 Chap13xls 133 Codesxls
Codesxls

132 D ChangeCode 133


133 ChangeCode

2 Chap13xls VB
3 VBAProject(Chap13xls) Debugging
4 Debugging (Chap13xls) Name Breaks
5 ChangeCode
Sub ChangeCode()
WorkbooksOpen FileNameC\Codesxls
wwwplcworldcn
Excel 2002 VBA
267

Windows(Chap13xls)Activate
Columns(DD)Select
SelectionInsert ShiftxlToRight
Range(D1)Select
ActiveCellFormula Code
Columns(DD)Select
SelectionSpecialCells(xlBlanks)Select
ActiveCellFormula VLookup(RC[1]CodesxlsR1C1R6C22)
SelectionFillDown

With Columns(DD)
EntireColumnAutoFit
Select
End With

SelectionCopy
SelectionPasteSpecial PastexlValues
Rows(11)Select

With Selection
HorizontalAlignment xlCenter
VerticalAlignment xlBottom
Orientation xlHorizontal
End With

Workbooks(Codesxls)Close
End Sub
6 ChangeCode
ActiveCellFormula VLookup(RC[1]CodesxlsR1C1R6C22)
7 F9
134

wwwplcworldcn
Excel 2002 VBA
268

134

8 ChangeCode VB
135 VB


wwwplcworldcn
Excel 2002 VBA
269

135 VB

9 F8
10 9
11 F5 VB
VLookup
VB


12 Ctrl+Shift+F9

F9


132


4

VBA

136 ChangeCode VB

137 VarValue WorkbooksAdd

wwwplcworldcn
Excel 2002 VBA
270

136


137

wwwplcworldcn
Excel 2002 VBA
271
VB VB myName
myBook


5 Stop

Excel

Stop 138 ForNext Stop VB Stop StopExample
Stop ——
Stop Stop

138 VBA Stop Stop

133

VB Esc Ctrl+Break

VBA

F5 VBA


6


VB
wwwplcworldcn
Excel 2002 VBA
272

1
2
139






VB


139 VBA







1 1310
wwwplcworldcn
Excel 2002 VBA
273

1310

WhatDate ForNext x

MsgBox In & x & days it will be & NewDate
x 160 160
211 160
If x 160 Then MsgBox In & x & days it will be & NewDate
VB
ForNext
1
2 x160
3 WhatDate Breaks
4
5
6 curDate
7
8 newDate
9
WhatDate
x 160
curDate
newDate
10 WhatDate F5 VB x160 1310
wwwplcworldcn
Excel 2002 VBA
274
x curDate newDate
F5 277
11 x227
12 xFalse
13 F5 x 227 curDate newDate —— 277

14 F5
< >


7

Delete

8

1311

1311 VBA



| Shift+F9

WhatDate

1 WhatDate x
2 |
3
x 50
4
5 WhatDate
x 50 VB newDate curDate

6 newDate Shift+F9
7
8 curDate Shift+F9 curDate
9
10 F5

wwwplcworldcn
Excel 2002 VBA
275
9

VBA |
VB 1312

1312 VBA


Me


Tab Shift+Tab


1 |
2 WhatDate F8

3 F8
4 F5
1313
|
wwwplcworldcn
Excel 2002 VBA
276

1313


VB


10 VBA

| F8
1314
wwwplcworldcn
Excel 2002 VBA
277

1314 VBA

VB End Sub VB
F5

11

1
2 F8 |VB


3 F8 VB
4 F8 F5 |

Shift+F8 VB



12

MyProcedure SpecialMsg |Shift+F8 |F8
VB SpecialMsg MyProcedure SpecialMsg
wwwplcworldcn
Excel 2002 VBA
278
VB
1
Sub MyProcedure()
Dim myName As String

WorkbooksAdd
myName ActiveWorkbookName
choose Step Over to avoid stepping through the
lines of code in the called procedure SpecialMsg
SpecialMsg myName
Workbooks(myName)Close
End Sub

Sub SpecialMsg(n As String)
If n Book2 Then
MsgBox You must change the name
End If
End Sub
2
SpecialMsg myName
3 MyProcedure F5 VB
4 Shift+F8 |VB SpecialMsg SpecialMsg

5 F5

Ctrl+Shift+F8
VB

Ctrl+F8

MyProcedure SpecialMsg
1 SpecialMsg myName
2 |VB
3 Shift+F8 SpecialMsg
4 F5

13


VB
MyProcedure SpecialMsg
SpecialMsg Workbooks(myName) Ctrl+F9 |


134
VB



wwwplcworldcn
Excel 2002 VBA
279
14

| VB


15 VBA


• F5
• |
0 0
ASCII 0 Chr(0) Variant Empty
Nothing

16

VB VBA
| VBA VBA
VB
Windows Macintosh Win16 Win32


#Const True False
#If Then #Else
If Else #
10
#Const User True
User
verPolish True WhatDate DayOfWeek
False VB #Else

1 VBA Conditional
2
declare a conditional compiler constant
#Const verPolish True

Sub WhatDay()
Dim dayNr As Integer

#If verPolish True Then
dayNr WeekDay(InputBox(Wpisz date np 01012000))
MsgBox To bedzie & DayOfWeek(dayNr) &
#Else
WeekdayName
#End If
End Sub

Function DayOfWeek(dayNr As Integer) As String
DayOfWeek Choose(dayNr niedziela poniedzialek wtorek _
sroda czwartek piatek sobota)
wwwplcworldcn
Excel 2002 VBA
280
End Function

Function WeekdayName() As String
Select Case WeekDay(InputBox(Enter date eg 01012000))
Case 1
WeekdayName Sunday
Case 2
WeekdayName Monday
Case 3
WeekdayName Tuesday
Case 4
WeekdayName Wednesday
Case 5
WeekdayName Thursday
Case 6
WeekdayName Friday
Case 7
WeekdayName Saturday
End Select

MsgBox It will be & WeekdayName &
End Function
3 WhatDay verPolish True VB WhatDay
verPolish False

|VBAProject 1315
WhatDay
verPolish 0

4 #Const verPolish 1315
WhatDay Else


1315

wwwplcworldcn
Excel 2002 VBA
281
17

VBA

1
2 | |—— 1316 VB


1316

|


| |
| |

18

VBA

VB
VB VBA
VB

VBA On Error VBA
VBA On Error
Exit Sub Exit Function Exit Property End Sub End Function End Property

On Error
wwwplcworldcn
Excel 2002 VBA
282
On Error GoTo
On Error


On Error Resume Next VB


On Error GoTo 0 VBA


135 (Error) (Mistake)


VBA


Archive SaveCopyAs

1 Traps
2 Archive
Sub Archive()
Dim folderName As String
Dim DriveA As String
Dim BackupName As String
Dim Response As Integer

ApplicationDisplayAlerts False

On Error GoTo DiskProblem

folderName ActiveWorkbookPath
If folderName Then
MsgBox You can't copy this file & Chr(13) _
& This file has not been saved _
vbInformation File Archive
Else
With ActiveWorkbook
If Not Saved Then Save

DriveA A

MsgBox Place a diskette in drive & DriveA & _
and click OK Copying to & DriveA

BackupName DriveA & Name
SaveCopyAs FilenameBackupName

MsgBox Name & was copied to a disk in drive & _
DriveA End of Archiving
End With
End If

GoTo ProcEnd

wwwplcworldcn
Excel 2002 VBA
283
DiskProblem

Response MsgBox(There is no disk in drive A & Chr(13) _
& or disk in drive & DriveA & is not formatted _
vbRetryCancel Check Disk Drive)
If Response 4 Then
Resume 0
Else
Exit Sub
End If
ProcEnd
ApplicationDisplayAlerts True
End Sub
Archive ApplicationDisplayAlerts False VB
On Error GoTo DiskProblem
folderName
VB VB End If
GoTo ProcEnd End Sub ProcEnd VB ApplicationDisplayAlerts
True
VB VBA If
Not Saved Then Save Saved VBA VB A
DriveA BackupName


VB DiskProblem
( 4) VB Resume 0 VB SaveCopyAs FileName
BackupName VB VBA Exit Sub
A VBA
3 Archive

136






OpenToRead Resume Next Error Err
Sub OpenToRead()
Dim myFile As String
Dim myChar As String
Dim myText As String
Dim FileExists As Boolean

FileExists True

On Error GoTo ErrorHandler

myFile InputBox(Enter the name of file you want to open)

Open myFile For Input As #1
If FileExists Then
Do While Not EOF(1) ' loop until the end of file
wwwplcworldcn
Excel 2002 VBA
284
myChar Input(1 #1) ' get one character
myText myText + myChar ' store in the variable myText myText
Loop

DebugPrint myText ' print to the Immediate window
' Close the file commenting out this instruction will cause
error 52 – Close #1 52
Close #1
End If

Exit Sub

ErrorHandler
FileExists False
Select Case ErrNumber
Case 71
MsgBox The diskette drive is empty
Case 53
MsgBox This file can’t be found on the specified drive
Case 75
Exit Sub
Case Else
MsgBox Error & ErrNumber & & Error(ErrNumber)
Exit Sub
End Select

Resume Next
End Sub
OpenToRead


OpenToRead Err Number ( Name )Err
ErrNumber
71 53 75 VB SelectCase Resume Next
VB VB ErrNumber
Error(ErrNumber)
FileExists If FileExists Then
VBA FileExists ErrorHandler
VB Close #1
VB
ErrorHandler Exit Sub Exit Sub

OpenToRead
1 C\Vacationtxt
2 OpenToRead
• C\Vacationtxt
• C
• A
• Close #1 C\Vacationtxt

137

Error error_number 0
wwwplcworldcn
Excel 2002 VBA
285

Error 11
VB
11

Error(error_number) 7

Error(7)
VB


17

VBA




VBA Excel
Excel 2002 VBA VBA
Excel 2002


Excel
Excel

ExcelExcel
Word



VBA 前
Excel前
• 前
• 前
• 前
• 前



1
VBA VBA

_()
Excel前
• 前
141
142 前
wwwplcworldcn
Excel 2002 VBA
286

With
Events 前

141 前
wwwplcworldcn
Excel 2002 VBA
287

142 前

2
EnableEventsVBA
EnableEventsFalseEnterDataWorkbook_BeforeClose
Workbook CloseEnableEventsFalseEnableEvents
True 前
1 DisableEventsxls
2 VB ThisWorkbook Workbook_BeforeSave

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean _
Cancel As Boolean)
If MsgBox(Would you like to copy & vbCrLf _
& this worksheet to & vbCrLf _
& a new workbook vbYesNo) vbYes Then
Sheets(ActiveSheetName)Copy
End If
End Sub
3 |VBA 前
Sub EnterData()
With ActiveSheetRange(A1B1)
FontColor vbRed
Value 15
End With

ApplicationEnableEvents False
ActiveWorkbookSave
wwwplcworldcn
Excel 2002 VBA
288
ApplicationEnableEvents True
End Sub
4 Excel|Workbook_BeforeSave Excel

wwwplcworldcn
Excel 2002 VBA
289
5 DisableEvents ||EnterData EnterData
Workbook_BeforeSave前

3



Workbook NewWorkbook WindowDeactivate
WorkbookDeactivate WorkbookActivate WindowActivate
Workbook WorkbookNewSheet SheetDeactivate SheetActivate
Workbook WorkbookBeforeClose WindowDeactivate
WorkbookDeactivate WorkbookActivate WindowActivate

4



1







Dim shtName As String declared at the top 前
of the module
Private Sub Worksheet_Activate()
shtName ActiveSheetName
Range(B2)Select
End Sub
B2
1 – VB Excel Sheet2(Sheet2) Sheet2
ExcelSheet2 Sheet2B2前


2






Private Sub Worksheet_Deactivate()
MsgBox You deactivated & _
shtName & & vbCrLf & _
You switched to & _
ActiveSheetName &
End Sub
Sheet2 前
2 – VB ExcelSheet2 (Sheet2)
Excel Sheet2 1Worksheet_Activate Excel
B2 Sheet2shtName
Excel前


3









Private Sub Worksheet_SelectionChange(ByVal Target As
ExcelRange) Excel前
On Error Resume Next
Set myRange Intersect(Range(A1A10) Target)
If Not myRange Is Nothing Then
MsgBox Data entry or edits are not permitted
End If
End Sub
wwwplcworldcn
Excel 2002 VBA
290

myRange前
3 – VB ExcelSheet3 (Sheet3) Sheet3
ExcelSheet3 A1A10 Excel 前
wwwplcworldcn
Excel 2002 VBA
291

4








Private Sub Worksheet_Change(ByVal Target _
As ExcelRange)
ApplicationEnableEvents False
Target UCase(Target)
Columns(TargetColumn)AutoFit
ApplicationEnableEvents True
End Sub


4 – VB ExcelSheet1 (Sheet1) Sheet1
ExcelSheet1Excel



5



Private Sub Worksheet_Calculate()
MsgBox The worksheet was recalculated
End Sub


5 – Excel Sheet4Sheet4A2 前
1B22C2 A2 + B2VBExcel
Sheet4 (Sheet4) Worksheet_Calculate Excel Sheet4B2
Worksheet_Calculate 前


6










Private Sub Worksheet_BeforeDoubleClick(ByVal _
Target As Range Cancel As Boolean)
If TargetAddress Range(C9) Then
MsgBox No doubleclicking please
Cancel True
Else
MsgBox You may edit this cell
End If
End Sub

C9
6 – VB ExcelSheet2 (Sheet2) Sheet2
ExcelSheet2C9Excel
F2



7













wwwplcworldcn
Excel 2002 VBA
292
Private Sub
Worksheet_BeforeRightClick(By
Val _
Target As Range Cancel As
Boolean)
With
ApplicationCommandBars(
Cell)
Reset
If TargetRowsCount > 1
Or _
TargetColumnsCount
> 1 Then
With ControlsAdd(Typ
emsoControlButton
_
before1
temporaryTrue)
Caption Print
OnAction
PrintMe
End With
End If
wwwplcworldcn
Excel 2002 VBA
293
End With
End Sub

Sub PrintMe()
ApplicationDialogs(xlDialogPrint)Show arg121
End Sub

Print 前
7 – VB ExcelSheet2 (Sheet2) Sheet2
PrintMe Print
Worksheet_BeforeRightClickShowarg121
Excel Sheet2

PrintPrint

103 Excel前


8
Excel



Private Sub Worksheet_FollowHyperlink(ByVal _
Target As Hyperlink)
TargetAddToFavorites
End Sub

IE 前
8 – VB ExcelSheet1 (Sheet1) Sheet1
Excelwwwwordwarecom
IE Wordware前


9

Excel
2002Target
pivTbl
WithEvents

Private Sub pivTbl_PivotTableUpdate( _
ByVal Target As PivotTable)
MsgBox TargetName & _
report has been updated & vbCrLf _
& The PivotReport is located in cells & _
TargetDataBodyRangeAddress
End Sub


9 – PivotReport_2xls
143144PivotTableUpdate前
wwwplcworldcn
Excel 2002 VBA
294






























143 PivotTableUpdatepivTbl




























144 PivotTableUpdate Worksheet
pivTbl 前

5
VBA
wwwplcworldcn
Excel 2002 VBA
295
VB ThisWorkbook
Workbook前
Private Sub Workbook_Open()

wwwplcworldcn
Excel 2002 VBA
296
End Sub




10


Excel 前
Private Sub Workbook_Activate()
MsgBox This workbook contains & _
ThisWorkbookSheetsCount & sheets
End Sub

Workbook_Activate 前
10 – VB ExcelThisWorkbook
ExcelWorkbook_ActivateExcel



11
Excel







Private Sub Workbook_Deactivate()
For Each cell In _
ActiveSheetUsedRange
If Not IsEmpty(cell) Then
DebugPrint cellAddress & _
& cellValue
End If
Next
End Sub


11 – VB ExcelThisWorkbook
Excel Workbook_Deactiate
VB 前


12
Private Sub Workbook_Open()
ActiveSheetRange(A1)Value Format _
(Now() mmddyyyy)
End Sub

A1 前
12 – VB Excel ThisWorkbook
A1 前


13

SaveAsUI
SaveAs
SaveAsUI
True False









wwwplcworldcn
Excel 2002 VBA
297
Private Sub
Workbook_BeforeSave(ByVal _
SaveAsUI As Boolean Cancel As
Boolean)
If SaveAsUI True And _
ThisWorkbookPath
vbNullString Then
MsgBox This document has
not yet _
& been saved & vbCrLf _
& The Save As dialog box
will be displayed
ElseIf SaveAsUI True
Then MsgBox You are not
allowed to use _
& the SaveAs option
Cancel True
End If
End Sub
wwwplcworldcn
Excel 2002 VBA
298

NULLvbNullString
Cancel True前
13 – VB ExcelThisWorkbook
If SaveASUI Excel
Workbook_BeforeSaveIf SaveAsUI
SaveEventxls |
ElseIf SaveAs前


8















Private Sub Workbook_BeforePrint(Cancel _
As Boolean)
Dim response As Integer
response MsgBox(Do you want to & vbCrLf & _
print the workbook's full name in the footer _
vbYesNo)
If response vbYes Then
ActiveSheetPageSetupLeftFooter _
ThisWorkbookFullName
Else
ActiveSheetPageSetupLeftFooter
End If
End Sub


14 – VB ExcelThisWorkbook
Excel
Excel前


8








Private Sub Workbook_BeforeClose(Cancel _
As Boolean)
If MsgBox(Do you want to change & vbCrLf _
& workbook properties before closing _
vbYesNo) vbYes Then
ApplicationDialogs(xlDialogProperties)Show
End If
End Sub


15 – VB ExcelThisWorkbook
Excel BeforeClose




8





Private Sub Workbook_AddinInstall()
MsgBox To create a calendar & vbCrLf _
& enter CalendarMaker in the & vbCrLf _
& Macros dialog box
End Sub

Workbook_AddinInstall 前
wwwplcworldcn
Excel 2002 VBA
299
16 – 前
1 前
2 VB Excel 前
wwwplcworldcn
Excel 2002 VBA
300
3 ThisWorkbook 1617 ThisWorkbook 前
4 VBA CalendarMaker17 前
5 Excel |Calendar Maker Create a monthly calendar in an
Excel spreadsheet 前
6 前
7 |Calendarxls
8 |Calendarxls Microsoft Excel
CalendarMakerxla 前
9 Calendarxls 前
10 前
11 |CalendarMakerCalendarMaker
Workbook_AddInInstall 前
12 ||CalendarMaker
Nov 2005145 前

145 CalendarMaker前

13 17 AddInUninstall|CalendarMaker




17




Private Sub Workbook_AddinUninstall()
MsgBox The CalendarMaker & vbCrLf _
& addin was unloaded
End Sub


wwwplcworldcn
Excel 2002 VBA
301
17 – 16

CalendarMakerCodeLibrarian
1617 前
wwwplcworldcn
Excel 2002 VBA
302
Sub CalendarMaker()
Dim MyInput As String
Dim StartDay As Date
Dim DayofWeek As Integer CurYear As Integer CurMonth As Integer
Dim FinalDay As Long
Dim cell As Range
Dim RowCell As Integer ColCell As Integer
Dim x As Integer


' protect sheet if had previous calendar to prevent error Unprotect 前
ActiveSheetProtect DrawingObjectsFalse ContentsFalse _
ScenariosFalse

' Prevent screen flashing while drawing calendar 前
ApplicationScreenUpdating False

' Set up error trapping 前
On Error GoTo MyErrorTrap

' Clear area a1g14 including any previous calendar a1g14 前
Range(a1g14)Clear

' Use InputBox to get desired month and year and set variable
' MyInput MyInput
MyInput InputBox(Type in Month and year for Calendar )

' Allow user to end macro with Cancel in InputBox 前
If MyInput Then Exit Sub

' Get the date value of the beginning of input month 前
StartDay DateValue(MyInput)

' Check if valid date but not the first of the month 前
' if so reset StartDay to first day of month StartDay 前
If Day(StartDay) <> 1 Then
StartDay DateValue(Month(StartDay) & 1 & _
Year(StartDay))
End If

' Prepare cell for Month and Year as fully spelled out 前
Range(a1)NumberFormat mmmm yyyy

' Center the Month and Year label across a1g1 with appropriate
' size height and bolding A1G1 前
With Range(a1g1)
HorizontalAlignment xlCenterAcrossSelection
VerticalAlignment xlCenter
FontSize 18
FontBold True
RowHeight 35
End With

' Prepare a2g2 for day of week labels with centering size
' height and bolding A2G2 前
With Range(a2g2)
ColumnWidth 11
VerticalAlignment xlCenter
wwwplcworldcn
Excel 2002 VBA
303
HorizontalAlignment xlCenter
VerticalAlignment xlCenter
Orientation xlHorizontal
wwwplcworldcn
Excel 2002 VBA
304
FontSize 12
FontBold True
RowHeight 20
End With

' Put days of week in a2g2 前
Range(a2) Sunday
Range(b2) Monday
Range(c2) Tuesday
Range(d2) Wednesday
Range(e2) Thursday
Range(f2) Friday
Range(g2) Saturday

' Prepare a3g7 for dates with lefttop alignment size height
' and bolding A3G7 前
With Range(a3g8)
HorizontalAlignment xlLeft
VerticalAlignment xlTop
FontSize 18
FontBold True
RowHeight 21
End With

' Put input month and year fully spelling out into a1 A1 前
Range(a1)Value ApplicationText(MyInput mmmm yyyy)

' Set variable and get which day of the week the month starts 前
DayofWeek Weekday(StartDay)

' Set variables to identify the year and month as separate
' variables 前
CurYear Year(StartDay)
CurMonth Month(StartDay)

' Set variable and calculate the first day of the next month 前
FinalDay DateSerial(CurYear CurMonth + 1 1)

' Place a 1 in cell position of the first day of the chosen
' month based on DayofWeek 1前
Select Case DayofWeek
Case 1

Case 2

Case 3

Case 4

Case 5

Case 6

Case 7

Range(a3)Value 1

Range(b3)Value 1

Range(c3)Value 1

Range(d3)Value 1

Range(e3)Value 1

Range(f3)Value 1

Range(g3)Value 1
End Select

' Loop through range a3g8 incrementing each cell after the 1
' cell A3G811
wwwplcworldcn
Excel 2002 VBA
305
For Each cell In Range(a3g8)
RowCell cellRow
ColCell cellColumn
wwwplcworldcn
Excel 2002 VBA
306
' Do if 1 is in first column 1 前
If cellColumn 1 And cellRow 3 Then

' Do if current cell is not in 1st column 前
ElseIf cellColumn <> 1 Then
If cellOffset(0 1)Value > 1 Then
cellValue cellOffset(0 1)Value + 1

' Stop when the last day of the month has been
' entered 前
If cellValue > (FinalDay StartDay) Then
cellValue

' Exit loop when calendar has correct number of
' days shown 前
Exit For
End If
End If

' Do only if current cell is not in Row 3 and is in Column 1 前
ElseIf cellRow > 3 And cellColumn 1 Then
cellValue cellOffset(1 6)Value + 1

' Stop when the last day of the month has been entered 前
If cellValue > (FinalDay StartDay) Then
cellValue







Next

' Exit loop when calendar has correct number of days
' shown 前
Exit For
End If
End If


' Create Entry cells format them centered wrap text and border
' around days 前
For x 0 To 5
Range(A4)Offset(x * 2 0)EntireRowInsert
With Range(A4G4)Offset(x * 2 0)
RowHeight 65
HorizontalAlignment xlCenter
VerticalAlignment xlTop
WrapText True
FontSize 10
FontBold False

' Unlock these cells to be able to enter text later after
' sheet is protected 前
Locked False
End With

' Put border around the block of dates 前
With Range(A3)Offset(x * 2 0)Resize(2 _
7)Borders(xlLeft)
Weight xlThick
ColorIndex xlAutomatic
End With
With Range(A3)Offset(x * 2 0)Resize(2 _
wwwplcworldcn
Excel 2002 VBA
307
7)Borders(xlRight)
Weight xlThick
ColorIndex xlAutomatic
wwwplcworldcn
Excel 2002 VBA
308
End With




Next

Range(A3)Offset(x * 2 0)Resize(2 7)BorderAround _
WeightxlThick ColorIndexxlAutomatic


If Range(A13)Value Then Range(A13)Offset(0 0) _
Resize(2 8)EntireRowDelete

' Turn off gridlines 前
ActiveWindowDisplayGridlines False

' Protect sheet to prevent overwriting the dates 前
ActiveSheetProtect DrawingObjectsTrue ContentsTrue _
ScenariosTrue

' Resize window to show all of calendar (may have to be adjusted
' for video configuration) 前
ActiveWindowWindowState xlMaximized
ActiveWindowScrollRow 1

' Allow screen to redraw with calendar showing 前
ApplicationScreenUpdating True

' Prevent going to error trap unless error found by exiting Sub
' here 前
Exit Sub

' Error causes msgbox to indicate the problem provides new input box 前
' and resumes at the line that caused the error 前
MyErrorTrap
MsgBox You may not have entered your Month and Year correctly _
& Chr(13) & Spell the Month correctly _
& (or use 3 letter abbreviation) _
& Chr(13) & and 4 digits for the Year
MyInput InputBox(Type in Month and year for Calendar)
If MyInput Then Exit Sub
Resume
End Sub


18





Private Sub Workbook_NewSheet(ByVal Sh As Object)
If MsgBox(Do you want to place & vbCrLf _
& the new sheet at the beginning & vbCrLf _
& of the workbook vbYesNo) vbYes Then
ShMove beforeThisWorkbookSheets(1)
Else






ShMove AfterThisWorkbookSheets( _
ThisWorkbookSheetsCount)
MsgBox ShName & _
is now the last sheet in the workbook
End If
End Sub



18 – VB ExcelThisWorkbook
wwwplcworldcn
Excel 2002 VBA
309
ThisWorkbook Excel
Excel前
wwwplcworldcn
Excel 2002 VBA
310
Excel前


SheetActivate SheetActivate


SheetDeactivate 前
SheetSelectionChange

SheetChange 前
SheetCalculate 前
SheetBeforeDoubleClick 前
SheetBeforeRightClick 前



19




Private Sub Workbook_WindowActivate(ByVal _
Wn As Window)
WnGridlineColor vbYellow
End Sub

Workbook_WindowActivate前
19 – VB ExcelThisWorkbook
ExcelExcel




20




Private Sub Workbook_WindowDeactivate(ByVal _
Wn As Window)
WnGridlineColor vbRed
End Sub

Workbook_WindowActivate

20 – VB ExcelThisWorkbookExcel
ExcelWorkbook_WindowDeactivate



21






Private Sub Workbook_WindowResize(ByVal Wn As Window)
If WnWindowState <> xlMaximized Then
WnLeft 0
WnTop 0
End If
End Sub


21 – VB ExcelThisWorkbook
ExcelExcel
Excel 前

Excel 2002前
wwwplcworldcn
Excel 2002 VBA
311


PivotTableOpenConnection
WithEventsApplication 前
wwwplcworldcn
Excel 2002 VBA
312
Workbook

PivotTableCloseConnection
WithEventsApplication
Workbook

SheetPivotTableUpdate

Sh – 前
Target –






WithEventsApplication Workbooktype
9WithEvents
CDPivotReportxls前
Private Sub App_SheetPivotTableUpdate( _
ByVal Sh As Object ByVal Target As PivotTable)
MsgBox Pivot Table has been updated
End Sub


6


1 ExcelChartEventsxls
2 146 前
3 A1D4 前
4 146前
5 147前
6 Sales Analysis Chart前


146 前
wwwplcworldcn
Excel 2002 VBA
313

147 前


147前

1 VB Excel前
2 Chart1 (Sales Analysis Chart)
3 前
4 Chart_MouseDownChart_Select



Activate 前
Private Sub Chart_Activate()
MsgBox You've activated the chart sheet
End Sub

Deactivate 前
Private Sub Chart_Deactivate()
MsgBox It looks like you want to leave the chart sheet
End Sub

Select 前
Private Sub Chart_Select(ByVal ElementID As Long _
ByVal Arg1 As Long ByVal Arg2 As Long)
If Arg1 <> 0 And Arg2 <> 0 Then
wwwplcworldcn
Excel 2002 VBA
314
MsgBox ElementID & & Arg1 & & Arg2
End If
If ElementID 4 Then
MsgBox You've selected the chart title
wwwplcworldcn
Excel 2002 VBA
315
ElseIf ElementID 24 Then
MsgBox You've selected the chart legend
ElseIf ElementID 12 Then
MsgBox You've selected the legend key
ElseIf ElementID 13 Then
MsgBox You've selected the legend entry
End If
End Sub

ElementIdArg1 Arg2
ElementId21 Arg10 Arg11
Arg2前
0 – 1 – 3 – 前
SeriesChange
WithEvents前
Calculate 前
Private Sub Chart_Calculate()
MsgBox The data in your spreadsheet has & vbCrLf _
& changed Your chart has been updated
End Sub

Resize
WithEvents 前
DragOver
WithEvents 前
DragPlot
WithEvents 前
BeforeDoubleClick 前
BeforeRightClick 前
Private Sub Chart_BeforeRightClick(Cancel As Boolean)
Cancel True
End Sub

Cancel True前
MouseDown 前
Private Sub Chart_MouseDown(ByVal Button As Long _
ByVal Shift As Long ByVal x As Long ByVal y As _
Long)
If Button 1 Then
MsgBox You pressed the left mouse button
ElseIf Button 2 Then
MsgBox You pressed the right mouse button
Else


MsgBox You pressed the middle mouse button
End If
End Sub

MouseDown MouseUp 前
1 – 2 – 4 – 前
Shift Shift Ctrl Alt 前
1 Shift 2 – Ctrl4 – Alt
x y 前
MouseMove 前
MouseUp 前

wwwplcworldcn
Excel 2002 VBA
316
7
WithEvents

wwwplcworldcn
Excel 2002 VBA
317
1 VB 前
2 VBAProject(ChartEventsxls)
3 |前
4 Class1 前
5 Class1 clsChart
6 前
Public WithEvents xlChart As ExcelChart Public xlChart VBA
WithEvents xlChart

7 xlChartxlChart_Activate前
Private Sub xlChart_Activate()

End Sub
8 VBA 前
Private Sub xlChart_Activate()
MsgBox You’ve activated a chart embedded in & _
ActiveSheetName
End Sub
VB前
9 ThisWorkbookclsChart前
Dim myChart As New clsChart myChart clsChart
xlChart NewVB 前
10 ThisWorkbook myChart
Sub InitializeChart()
' connect the class module and its objects with the Chart object
Set myChartxlChart _
Worksheets(1)ChartObjects(1)Chart
End Sub
11 InitializeChart 前
12 Excel xlChart_Activate 前
13 前

8
Excel
Excel Application
Application WithEvents
VB |
clsApplicationclsApplication Application 前
Public WithEvents App As Application App_NewWorkbook
App_WorkbookOpen App_WorkbookBeforeSave App_WorkbookBeforeCloseApp_Sheet SelectionChange
App_WindowActivate VBA |
clsApplication clsApplicationApplicationApp

Dim DoThis As New clsApplication

Public Sub InitializeAppEvents ()
Set DoThisApp Application
End Sub InitializeAppEventsF5InitializeAppEvents
App Excel
Application 前
Public Sub CancelAppEvents()
Set DoThisApp Nothing
End Sub
wwwplcworldcn
Excel 2002 VBA
318
Nothing
CancelAppEvents
WithEvents前


NewWorkbook 前
Private Sub App_NewWorkbook(ByVal _
Wb As Workbook)
ApplicationDisplayAlerts False
If WbSheetsCount 3 Then
Sheets(Array(2 3))Delete
End If
ApplicationDisplayAlerts True
End Sub

WorkbookOpen 前
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
If WbFileFormat xlCSV Then
If MsgBox(Do you want to save & vbCrLf _
& this file as an Excel workbook vbYesNo _
Original file format _
& Comma delimited file) vbYes Then
WbSaveAs FileFormatxlWorkbookNormal
End If
End If
End Sub

WorkbookActivate 前
WorkbookDeactivate 前
WorkbookNewSheet 前
WorkbookBeforeSave 前
Private Sub App_WorkbookBeforeSave(ByVal _
Wb As Workbook _
ByVal SaveAsUI As Boolean _
Cancel As Boolean)
If WbPath <> vbNullString Then
ActiveWindowCaption WbFullName & _
[Last Saved & Time & ]
End If
End Sub

WorkbookBeforePrint 前
Private Sub App_WorkbookBeforePrint(ByVal _
Wb As Workbook Cancel As Boolean)
WbPrintOut Copies2
End Sub

WorkbookBeforeClose 前
Private Sub App_WorkbookBeforeClose( ByVal _
Wb As Workbook Cancel As Boolean)
Dim r As Integer
SheetsAdd
r 1
For Each p In WbBuiltinDocumentProperties
On Error GoTo ErrorHandle
Cells(r 1)Value pName & & _
ActiveWorkbook _
BuiltinDocumentProperties _
wwwplcworldcn
Excel 2002 VBA
319
Item(pName)Value
r r + 1
Next
wwwplcworldcn
Excel 2002 VBA
320
Exit Sub
ErrorHandle
Cells(r 1)Value pName
Resume Next
End Sub

WorkbookAddInInstall 前
WorkbookAddInUninstall 前
SheetActivate 前
SheetDeactivate 前
SheetSelectionChange 前
Private Sub App_SheetSelectionChange( _
ByVal Sh As Object ByVal Target As Range)
If SelectionCount > 1 Or _
(SelectionCount < 2 And _
IsEmpty(TargetValue)) Then
ApplicationStatusBar TargetAddress
Else


End If
End Sub

ApplicationStatusBar TargetAddress & _
( & TargetValue & )



SheetChange 前
SheetCalculate 前
SheetBeforeDoubleClick 前
SheetBeforeRightClick 前
WindowActivate 前
Private Sub App_WindowActivate(ByVal _
Wb As Workbook ByVal Wn As Window)
WnDisplayFormulas True
End Sub

WindowDeactivate 前
WindowResize 前
WorkbookPivotTableClose
Connection
Excel 2002前
WorkbookPivotTableOpen
Connection
Excel 2002前








9
Excel SQLAccess
QueryTable ExcelQueryTableBeforeRefreshAfterRefresh
AccessNorthwind前
1 Excel | 前
2 前
3 SampleDb 前
4 Microsoft Access driver (*mdb)
5 前
6 ODBC Microsoft Access 前
7 NorthwindmdbC\Program Files\Microsoft Office\Office\Samples
Office 2003Nwindmdb 前
wwwplcworldcn
Excel 2002 VBA
321
8 前
9 ODBC Microsoft Access前
10 Categories
11 前
wwwplcworldcn
Excel 2002 VBA
322
12 SampleDb 前
13 – >Categories前
14 – 前
15 – Microsoft Excel 前
16 A1 Northwind
Catetory
WithEvents QueryTable前
1 VBA clsQryTbl
2 clsQryTbl前
Public WithEvents qrytbl As QueryTable
WithEventsqrytbl 前
3 clsQryTblQryTbl_BeforeRefresh QryTbl_AfterRefresh
QueryTable 前
4 前
Public Sub Auto_Open()
' connect the class module and its objects with the Query object
Set sampleQryqrytbl ActiveSheetQueryTables(1)
End Sub QueryTable(clsQryTbl)
Auto_Open

5 Auto_Open 前
6 AccessCategory
|qrytbl_BeforeRefresh



BeforeRefresh 前
Private Sub qryTbl_BeforeRefresh(Cancel As Boolean)
Response MsgBox(Are you sure you _
& want to refresh now vbYesNoCancel)
If Response vbNo Then Cancel True
End Sub

AfterRefresh Success
True前
Private Sub qryTbl_AfterRefresh(ByVal Success As Boolean)
If Success Then
MsgBox The data has been refreshed
Else


MsgBox The query failed
wwwplcworldcn
Excel 2002 VBA
323
End If
End Sub


10
Excel
Excel

VB

WithEventsEnableEvents 前
Excel VB VBA Access前
Excel Access
ExcelWord
Outlook Excel AccessAccessAutomationDAO (Data
Access Objects) ADO (ActiveX Data Objects)Excel VBA Access
AccessMicrosoft Access前

1
Access VBA

Access 100 Access 2002 MSACC10OLB 前
C\Program Files\Microsoft Office\Office
151 前

151 Access Office 2003 AccessMSACCOLB前

wwwplcworldcn
Excel 2002 VBA
324
Access DAO 36DAOVBA DAO360DLL
C\Program Files\Common Files\Microsoft Shared\DAO
152 前
wwwplcworldcn
Excel 2002 VBA
325

152 DAO前

Microsoft ActiveX Data Objects 25 (ADO) ADO OLE DBADO
AccessMSADO15DLL前
C\Program Files\Common Files\system\ado
153 前

153 ADODB 前
wwwplcworldcn
Excel 2002 VBA
326

Microsoft ADO Ext 25 for DDL and Security (ADOX)

wwwplcworldcn
Excel 2002 VBA
327
MSADOXDLL C\Program Files\Common Files\System\ado
154 前

154 ADOX前

Microsoft Jet and Replication Objects 26 (JRO)MSJRODLL C\Program
Files\Common Files\System\ado
155 前

wwwplcworldcn
Excel 2002 VBA
328
155 JRO前
wwwplcworldcn
Excel 2002 VBA
329
VBA VBA前
VBE6DLL C\Program Files\Common Files\Microsoft Shared\VBA\VBA6
Microsoft Excel 2002 Office 2002 156 前

156 VBA前

2

Access 2002Microsoft Access 100前
1 VB | 前
2 Microsoft Access 100 Object Library前
3 Access
151
Microsoft Jet and Replication Objects 26 Library (JRO)
Access Learn Microsoft Access
2000 Programming by Example Wordware Publishing (ISBN 1556227701) 前
151 Access 前
Access前
Access 前
VBAAccess 前
ObjectDim objAccess As AccessApplication
Dim objAccess As Object 前
VBA Access 前
VBA 前

3 Access
Access Access

wwwplcworldcn
Excel 2002 VBA
330
Automation
Data Access Objects (DAO)
ActiveX Data Objects (ADO)

wwwplcworldcn
Excel 2002 VBA
331
4 Automation Access

Automation Excel Access 前
1 Microsoft Access 100 Object Library前
2 Access前
Dim objAccess As AccessApplication
objAccessAccessApplication VB前
3 CreateObject GetObject New
Set 前
Dim objAccess As Object
Set objAccess CreateObject(AccessApplication10) CreateObject
Access 前
Dim objAccess As Object
Set objAccess GetObject( AccessApplication10)

Set objAccess GetObject(C\Program Files\ _
& Microsoft Office\Office\Samples\Northwindmdb) GenObjectAccess
Access 152前
Dim objAccess As New AccessApplication New

Dim objAccess As AccessApplication
Set objAccess New AccessApplication
NewAccessVBA 前
NewAccess CreateObject 前
NewCreateObject Access
GetObjectCreateObject Access前
Microsoft Access 2003 AccessApplication11 前
Microsoft Access 2002 AccessApplication10
Microsoft Access 2000 AccessApplication9
Microsoft Access 97 AccessApplication8
Microsoft Access 95 AccessApplication7
OpenCurrentDatabaseNewCurrentDatabase
CloseCurrentDatabaseAccess 前


152 GetObject 前
GetObject – Pathname – – Class –


Dim objAccess As Object
Set objAccess GetObject( AccessApplication10)
GetObjectPathname Access前
Dim objAccess As Object
Set objAccess GetObject(C\Program Files\ & Microsoft Office\Office\Samples\Northwindmdb)
GetObject Access 前




Excel VBA Access
AccessViaAutomationAccessNorthwind Access
Access Nothing
On Error Resume Next AccessAccess
NewAccessCreateObject() 前
wwwplcworldcn
Excel 2002 VBA
332

Set objAccess GetObject( AccessApplication10)
If objAccess Is Nothing Then
Set objAccess CreateObject(AccessApplication10)
End If AccessAccessAccess VisibleFalse
VisibleTrie
CloseCurrentDatabaseNorthwind
Quit Access Nothing
Access
ExcelVBA Quit前
Sub AccessViaAutomation()
Dim objAccess As AccessApplication
Dim strPath As String

On Error Resume Next
Set objAccess GetObject( AccessApplication9)

If objAccess Is Nothing Then
' Get a reference to the Access Application object
Set objAccess New AccessApplication
End If

strPath C\Program Files\Microsoft Office\ _
& Office\Samples\northwindmdb

' Open the Northwind database
With objAccess
OpenCurrentDatabase strPath
If MsgBox(Do you want to make the Access & vbCrLf _
& Application visible vbYesNo _
Display Access) vbYes Then
Visible True
MsgBox Notice the Access Application icon _
& now appears on the Windows taskbar
End If

' Close the database and quit Access
CloseCurrentDatabase
Quit
End With
Set objAccess Nothing
End Sub
F8前


153 Access 前
AccessData Access Objects (DAO) ActiveX Data
Access (ADO)AccessAccessDBEngine前
Microsoft DAO 36前
Sub OpenSecuredDB()
Static objAccess As AccessApplication
Dim db As DAODatabase
Dim strDb As String

strDb C\Program Files\Microsoft Office\ & Office\Samples\ _
Northwindmdb

Set objAccess New AccessApplication
Set db objAccessDBEngineOpenDatabase(NamestrDb OptionsFalse _
wwwplcworldcn
Excel 2002 VBA
333
ReadOnlyFalse ConnectPWDtest)
wwwplcworldcn
Excel 2002 VBA
334
With objAccess
Visible True
OpenCurrentDatabase strDb
End With
dbClose
Set db Nothing
End Sub


5 DAO Access

DAO AccessMicrosoft Data Access Objects 36
LibraryDAOOpenJetDatabaseDBEngineOpenDatabaseNorthwind
DBEngineMicrosoft Jet Engine 前
mdb Close前
Sub DAOOpenJetDatabase()
Dim db As DAODatabase
Set db DBEngineOpenDatabase _
(C\Program Files\Microsoft Office\Office\Samples\Northwindmdb)
MsgBox Northwind database has been opened
dbClose
MsgBox Northwind database has been closed
End Sub

6 ADO Access

Access ActiveX (ADO) ActiveX25
ADOOpenJetDatabaseConnection Northwind Open
Open MicrosoftJetOLEDB40

conOpen _
ProviderMicrosoftJetOLEDB40 _
& Data SourceC\Program Files\Microsoft Office\ _
& Office\Samples\NorthWindmdb NorthwindRecordset
Recordset Recordset Open
Recordset Recordset前
rstOpen SELECT * FROM Customers & _
WHERE City 'London' con _
adOpenForwardOnly adLockReadOnly SQL
con adOpenForwardOnlyadLockReadOnly
adOpenForwardOnly VBA Recordset adLockReadOnly
ForEachNextRecordset

For Each fld In rstFields
DebugPrint fldName & & fldValue & vbCr
Next
Close Recordset Access 前
rstClose
conClose
ADOOpenJetDatabase 前
Sub ADOOpenJetDatabase()
Dim con As New ADODBConnection
Dim rst As New ADODBRecordset
Dim fld As ADODBField
wwwplcworldcn
Excel 2002 VBA
335

' Connect with the database
conOpen _
ProviderMicrosoftJetOLEDB40 _
& Data SourceC\Program Files\Microsoft Office\ _
& Office\Samples\NorthWindmdb
wwwplcworldcn
Excel 2002 VBA
336
' Open Recordset based on the SQL statement
rstOpen SELECT * FROM Customers & _
WHERE City 'London' con _
adOpenForwardOnly adLockReadOnly

' Print the values for the fields in
' the first record in the debug window
For Each fld In rstFields
DebugPrint fldName & & fldValue & vbCr
Next

' Close the Recordset and connection with Access
rstClose
conClose

' Destroy object variables to reclaim the resources
Set rst Nothing
Set con Nothing
End Sub

7 Excel Access

ExcelAccessAccessVBA 前
Access前



Access 前

8 Access
Excel Access VBA
DAO Access WorkspaceCreateDatabase ExcelDumpmdb
CDatabase CreateTableDeftblStates
dbText 225 25
AppendTableDefFieldsAppend
C\ExcelDumpmdb
Else前
Sub NewDB_DAO()
Dim db As DAODatabase
Dim tbl As DAOTableDef
Dim strDb As String
Dim strTbl As String

On Error GoTo Error_CreateDb_DAO

strDb C\ExcelDumpmdb
strTbl tblStates

' Create a new database named ExcelDump
Set db CreateDatabase(strDb dbLangGeneral)

' Create a new table named tblStates
Set tbl dbCreateTableDef(strTbl)

' Create fields and append them to the Fields collection
wwwplcworldcn
Excel 2002 VBA
337
With tbl
FieldsAppend CreateField(StateId dbText 2)
FieldsAppend CreateField(StateName dbText 25)
FieldsAppend CreateField(StateCapital dbText 25)
wwwplcworldcn
Excel 2002 VBA
338
End With

' Append the table object to the TableDefs
dbTableDefsAppend tbl

' Close the database
dbClose
Set db Nothing
MsgBox There is a new database on your hard disk & vbCrLf _
& This database file contains a table & strDb & vbCrLf _
& named & strTbl & & vbCrLf _
& Before you activate this database close the Excel application

Exit_CreateDb_DAO
Exit Sub

Error_CreateDb_DAO
If ErrNumber 3204 Then

' Delete the database file if it already exists
Kill C\Exceldumpmdb
Resume
Else
MsgBox ErrNumber & & ErrDescription
Resume Exit_CreateDb_DAO
End If
End Sub


157 Excel VBA Access 前

9 Access
Excel Access Access
wwwplcworldcn
Excel 2002 VBA
339
OpenCurrentDatabase Northwind DoCmd OpenFormCustomers
acNormalacDesignDoCmd Restore
AccessobjAccessVisible True
AccessobjAccessAccess
wwwplcworldcn
Excel 2002 VBA
340
158Customers前
declare at the top of the module
Dim objAccess As AccessApplication

Sub DisplayAccessForm()
Dim strDb As String
Dim strFrm As String
strDb C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb
strFrm Customers
Set objAccess New AccessApplication

With objAccess
OpenCurrentDatabase(strDb)
DoCmdOpenForm strFrm acNormal
DoCmdRestore
Visible True
End With
End Sub


158 Excel VBA Access 前

Excel VBA Access前
declare at the top of the module
Dim obAccess As AccessApplication myAccess 前
Sub CreateAccessForm()
Dim myForm As Form
wwwplcworldcn
Excel 2002 VBA
341
Dim myDb As String
Dim myCtrl As Control
Dim strFrmName As String
wwwplcworldcn
Excel 2002 VBA
342
On Error GoTo Error_CreateForm
myDb C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb
strFrmName frmCustomForm
Set obAccess New AccessApplication
obAccessOpenCurrentDatabase myDb

Set myForm obAccessCreateForm
myFormCaption Form created by Excel
myFormRecordSource Employees
obAccessDoCmdSave strFrmName

' Create a label and text box on the form
Set myCtrl CreateControl(FormNamestrFrmName _
ControlTypeacLabel _
Left1000 Top1000)
myCtrlCaption Last Name
myCtrlSizeToFit
Set myCtrl CreateControl(FormNamestrFrmName _
ControlTypeacTextBox _
Parent _
ColumnNameLastName _
Left2200 Top1000)
With obAccess
With DoCmd
Save strFrmName
Close acForm strFrmName
End With
CloseCurrentDatabase
Quit
End With
Set obAccess Nothing
MsgBox In the Northwind database there is now & vbCrLf _
& a new form named & strFrmName & & vbCrLf _
& Close Excel prior to opening the Northwind & vbCrLf _
& database to view this form

ErrorHandler
Exit Sub
Error_CreateForm
MsgBox Err & & ErrDescription
Resume ErrorHandler
End Sub
wwwplcworldcn
Excel 2002 VBA
343




























159 AccessExcel VBA CreateAccessForm
10 Access
Excel Access ExcelAccess前
declare at the top of the module
Dim objAccess As AccessApplication
Sub DisplayAccessReport()
Dim strDb As String
Dim strRpt As String
strDb C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb
strRpt Products by Category
Set objAccess New AccessApplication
With objAccess
OpenCurrentDatabase (strDb)
DoCmdOpenReport strRpt acViewPreview
DoCmdMaximize
Visible True
End With
End Sub AccessAccess
Access 前
Sub DisplayAccessReport2(strDb As String strRpt As String)
Set objAccess New AccessApplication
With objAccess
OpenCurrentDatabase (strDb)
DoCmdOpenReport strRpt acViewPreview
DoCmdMaximize
Visible True
End With
End Sub
DisplayAccessReport2前
DisplayAccessReport2
wwwplcworldcn
Excel 2002 VBA
344

Call DisplayAccessReport2(C\Program Files\Microsoft Office\Office\Samples\Northwindmdb Sales Totals by
Amount)
wwwplcworldcn
Excel 2002 VBA
345
DisplayAccessReport2 前
' Enter the following procedure in the Code window
Sub ShowReport()
Dim strDb As String
Dim strRpt As String
strDb InputBox(Enter the name of the database (full path) )
strRpt InputBox(Enter the name of the report)
Call DisplayAccessReport2(strDb strRpt)
End Sub


1510 AccessExcel VBA 前

11 Access

Excel VBA Access Access
RangeCopyFromRecordsetExcel
ADO前
ADOX 154Catalog
CatalogCreate

Dim cat As ADOXCatalog
Set cat New ADOXCatalog
catCreate ProviderMicrosoftJetOLEDB40 & _
Data SourceC\ExcelDump2mdb ActiveX
DAONewDB_DA RunAccessQueryCatalog
wwwplcworldcn
Excel 2002 VBA
346
catCatalog ActiveConnection前
Set cat New ADOXCatalog
catActiveConnection ProviderMicrosoftJetOLEDB40 & _
Data Source & dbPath
wwwplcworldcn
Excel 2002 VBA
347
ADODB Command 153

Set cmd catViews(strQryName)Command ViewsADOX View

Set rst cmdExecute CommandExecute SQL
Set Recordset CopyFromRecordset
Excel 前

12

Sub RunAccessQuery(strQryName As String)
' prior to running this procedure you must set up
' references to the required object libraries
Dim cat As ADOXCatalog
Dim cmd As ADODBCommand
Dim rst As ADODBRecordset
Dim i As Integer
Dim dbPath As String

dbPath C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb

Set cat New ADOXCatalog
catActiveConnection _
ProviderMicrosoftJetOLEDB40 & _
Data Source & dbPath
Set cmd catViews(strQryName)Command
Set rst cmdExecute
Sheets(2)Select
For i 0 To rstFieldsCount 1
Cells(1 i + 1)Value rstFields(i)Name
Next

With ActiveSheet
Range(A2)CopyFromRecordset rst
Range(Cells(1 1) _
Cells(1 rstFieldsCount))FontBold True
Range(A1)Select
End With

SelectionCurrentRegionColumnsAutoFit
rstClose
Set cmd Nothing
Set cat Nothing
End Sub

RunAccessQuery(Current Product List)
wwwplcworldcn
Excel 2002 VBA
348

1511 Excel VBA Access 前


13

Access Excel RunAccessParamQueryAccess
Employee Sales by Country7196 73096Employee Sales by Country

CommandParamenters 前
cmdParameters([Beginning Date]) StartDate
cmdParameters([Ending Date]) EndDate

Set rst cmdExecute RecordsetCopyFromRecordset

Sub RunAccessParamQuery()
' prior to running this procedure you must set up
' references to the required object libraries
Dim cat As ADOXCatalog
Dim cmd As ADODBCommand
Dim rst As ADODBRecordset
Dim i As Integer
Dim dbPath As String
Dim StartDate As String
Dim EndDate As String

dbPath C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb
StartDate 7196
EndDate 73196

Set cat New ADOXCatalog
catActiveConnection ProviderMicrosoftJetOLEDB40 & _
Data Source & dbPath

Set cmd catProcedures(Employee Sales by Country)Command
cmdParameters([Beginning Date]) StartDate
cmdParameters([Ending Date]) EndDate

Set rst cmdExecute
wwwplcworldcn
Excel 2002 VBA
349
Sheets(1)Select
For i 0 To rstFieldsCount 1
Cells(1 i + 1)Value rstFields(i)Name
Next
wwwplcworldcn
Excel 2002 VBA
350
With ActiveSheet
Range(A2)CopyFromRecordset rst
Range(Cells(1 1) Cells(1 rstFieldsCount))Font _
Bold True
Range(A1)Select
End With

SelectionCurrentRegionColumnsAutoFit
rstClose
Set cmd Nothing
Set cat Nothing
End Sub
ParameterscmdParameters(0) StartDatecmdParameters(1) EndDate
Nwindmdb
Excel 2003Access 2002 前

14 Access
ExcelAccessEuroConvert1000
EuroConvery前
Sub RunAccessFunction()
Dim objAccess As Object

On Error Resume Next
Set objAccess GetObject( AccessApplication)

'if no instance of Access is open create a new one
If objAccess Is Nothing Then
Set objAccess CreateObject(AccessApplication)
End If

MsgBox You will get & _
objAccessEuroConvert(1000 ESP EUR) & _
euro dollars

Set objAccess Nothing
End Sub

15 Access Excel

ExcelAccess Excel前
• GetRows 前
• CopyFromRecordset 前
• TransferSpreadsheet 前
• OpenDatabase 前
• 前
• 前

16 GetRows
GetRowsAccess Excel
0 VBADAOExcel
NorthwindInvoices ExcelMicrosoft
Access 36 Object Library 前
wwwplcworldcn
Excel 2002 VBA
351
Access GetData_withDAO2Invoices 前
Set qdf dbQueryDefs(Invoices)
Microsoft Access 36 QueryDefs

wwwplcworldcn
Excel 2002 VBA
352
OpenRecordsetRecordset前
Set rst qdfOpenRecordset RecordCountcountR
MoveLast Recordset前
rstMoveLast
countR rstRecordCount

MoveFirst
Get RecordsRecordsetGetRows
Variant A2

Sub GetData_withDAO2()
Dim db As DAODatabase
Dim qdf As DAOQueryDef
Dim rst As DAORecordset
Dim recArray As Variant
Dim i As Integer
Dim j As Integer
Dim strPath As String
Dim a As Variant
Dim countR As Long
Dim strShtName As String

strPath C\Program Files\Microsoft Office\ _
& Office\Samples\northwindmdb
strShtName Returned records
Set db OpenDatabase(strPath)
Set qdf dbQueryDefs(Invoices)
Set rst qdfOpenRecordset
rstMoveLast
countR rstRecordCount

a InputBox(This recordset contains & _
countR & records & vbCrLf _
& Enter number of records to return _
Get Number of Records)

If a Or a 0 Then Exit Sub

If a > countR Then
a countR
MsgBox The number you entered is too large & vbCrLf _
& All records will be returned
End If

WorkbooksAdd
ActiveWorkbookWorksheets(1)Name strShtName
rstMoveFirst

With Worksheets(strShtName)Range(A1)
CurrentRegionClear
recArray rstGetRows(a)
For i 0 To UBound(recArray 2)
For j 0 To UBound(recArray 1)
Offset(i + 1 j) recArray(j i)
Next j
Next i

For j 0 To rstFieldsCount 1
wwwplcworldcn
Excel 2002 VBA
353
Offset(0 j) rstFields(j)Name
Offset(0 j)EntireColumnAutoFit
wwwplcworldcn
Excel 2002 VBA
354
Next j
End With
dbClose
End Sub

17 CopyFromRecordset
RecordsetRangeCopyFromRecordsetData
MaxRowsMaxColumns DataRecordset MaxRowsMaxColumns
MaxRowsMaxColumnsMaxRows
MaxColumnsGetProducts ADO前
Northwind Microsoft ActiveX Data Objects 26 Library

Sub GetProducts()
Dim conn As New ADODBConnection
Dim rst As ADODBRecordset
Dim strPath As String

strPath C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb

connOpen ProviderMicrosoftJetOLEDB40 _
& Data Source & strPath &

connCursorLocation adUseClient

' Create a Recordset from all the records
' in the Products table
Set rst connExecute(CommandTextProducts _
OptionsadCmdTable)

' begin with the first record rstMoveFirst
' transfer the data to Excel
' get the names of fields first

With Worksheets(Sheet3)Range(A1)
CurrentRegionClear
For j 0 To rstFieldsCount 1
Offset(0 j) rstFields(j)Name
Next j

Offset(1 0)CopyFromRecordset rst
CurrentRegionColumnsAutoFit
End With
rstClose
connClose
End Sub Northwind Products Excel
MaxRows前
Offset(1 0)CopyFromRecordset rst 5 VB 5Offset

Offset(1 0)CopyFromRecordset rst 2
VBrst 2MaxRows
18 TransferSpreadsheet
TransferSpreadsheetAccessmdb Accessadp
Excel AccessAccessExcel
wwwplcworldcn
Excel 2002 VBA
355
Access VB TransferSpreadsheet TransferSpreadsheet 前
wwwplcworldcn
Excel 2002 VBA
356
DoCmdTransferSpreadsheet [transfertype][ spreadsheettype] _
tablename filename [ hasfieldnames][ range] transfertype acImport acExport
acLink 前
spreadsheettype 前
0 acSpreadsheetTypeExcel3 (default setting)
6 acSpreadsheetTypeExcel4
5 acSpreadsheetTypeExcel5
5 acSpreadsheetTypeExcel7
8 acSpreadsheetTypeExcel8
8 acSpreadsheetTypeExcel9
2 acSpreadsheetTypeLotusWK1
3 acSpreadsheetTypeLotusWK3
7 acSpreadsheetTypeLotusWK4
spreadsheettype tablename
Access
hasfieldnames True(1) False(0)True
False False range
range
ExportDataTransferSpreadsheet
Northwind Shippers Shippersxls Access
OpenCurrentDatabaseNorthwind ExportDataC\Shippersxls

declare at the top of the module
Dim objAccess As AccessApplication
Sub ExportData()
Set objAccess CreateObject(AccessApplication)
objAccessOpenCurrentDatabase filepath _
C\Program Files\Microsoft Office\Office\ _
& Samples\Northwindmdb

objAccessDoCmdTransferSpreadsheet _
TransferTypeacExport _
SpreadsheetTypeacSpreadsheetTypeExcel9 _
TableNameShippers _
FilenameC\Shippersxls _
HasFieldNamesTrue _
RangeSheet1
objAccessQuit
Set objAccess Nothing
End Sub
acSpreadsheetTypeExcel10 前

1512 TransferSpreadsheet AccessExcel前

19 OpenDatabase

Excel 2002OpenDatabase Workbooks Excel前
wwwplcworldcn
Excel 2002 VBA
357
C\Program Files\Microsoft
Office\Office10\SamplesNorthwindExcel
1513前
wwwplcworldcn
Excel 2002 VBA
358
Sub OpenAccessDatabase()
WorkbooksOpenDatabase _
FilenameC\Program Files\Microsoft Office\ _
& Office10\Samples\Northwindmdb
End Sub

















1513 OpenDatabase前


1514 Excel 2002 OpenDatabaseExcel前

OpenDatabase 前
OpenDatabase 前
CommandText Variant SQL 前
CommandType Variant Deault SQL
BackgroundQuery Variant PivotCache
QueryTable ImportDataAs Variant
xlQueryTable 前
xlPivotTableReport 前

OpenDatabase
Excel
1515CustomerId 前
Sub CountCustomersByCountry()
WorkbooksOpenDatabase _
FilenameC\Program Files\Microsoft Office\ _
& Office10\Samples\Northwindmdb _
CommandTextSelect * from Customers _
BackgroundQueryPivotTable _
wwwplcworldcn
Excel 2002 VBA
359
ImportDataAsxlPivotTableReport
End Sub
Excel 2003+Access 2002BackgroundQuery PivotTable
PivotCache QueryTable PivotTable
11210 TrueFalse 前
wwwplcworldcn
Excel 2002 VBA
360





























1515 OpenDatabase


20 Access
ExcelVBA Access tab
ADO recordsettab 前
Microsoft ActiveX Data Objects 26 Library Excel 前
C\ProductsOver50txt
Sub CreateTextFile()
Dim strPath As String
Dim conn As New ADODBConnection
Dim rst As ADODBRecordset
Dim strData As String
Dim strHeader As String
Dim strSQL As String

strPath C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb
connOpen ProviderMicrosoftJetOLEDB40 _
& Data Source & strPath &
connCursorLocation adUseClient
strSQL SELECT * FROM Products WHERE UnitPrice > 50

Set rst connExecute(CommandTextstrSQL OptionsadCmdText)
'save the recordset as a tabdelimited file
strData rstGetString(StringFormatadClipString _
ColumnDelimetervbTab _
RowDelimetervbCr _
nullExprvbNullString)

Open C\ProductsOver50txt For Output As #1
For Each f In rstFields
wwwplcworldcn
Excel 2002 VBA
361
strHeader strHeader + fName & vbTab
Next
Print #1 strHeader
Print #1 strData
wwwplcworldcn
Excel 2002 VBA
362
Close #1
End Sub
f FileSystemObject
ProductsOver100txt 前
Sub CreateTextFile2()
Dim strPath As String
Dim conn As New ADODBConnection
Dim rst As ADODBRecordset
Dim strData As String
Dim strHeader As String
Dim strSQL As String
Dim fso As Object
Dim myFile As Object

Set fso CreateObject(ScriptingFileSystemObject)
Set myFile fsoCreateTextFile(C\ProductsOver100txt True)

strPath C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb

connOpen ProviderMicrosoftJetOLEDB40 _
& Data Source & strPath &

connCursorLocation adUseClient
strSQL SELECT * FROM Products WHERE UnitPrice > 100

Set rst connExecute(CommandTextstrSQL OptionsadCmdText)

'save the recordset as a tabdelimited file
strData rstGetString(StringFormatadClipString _
ColumnDelimetervbTab _
RowDelimetervbCr _
nullExprvbNullString)

For Each f In rstFields
strHeader strHeader + fName & vbTab
Next

With myFile
WriteLine strHeader
WriteLine strData
Close
End With
End Sub
f前
wwwplcworldcn
Excel 2002 VBA
363

1516 ExcelAccessExcel 前

21 Access
ExcelExcel
AccessSQL
Excel |

20Access
VBA QueryTable QueryTableSQLAccess
QueryTabesAdd

Set myQryTable ActiveSheetQueryTablesAdd(strConn Dest strSQL) strConnConnection
Variant DestDestination
Range strSQLSQL
AddRefresh
BackgroundQuery Variant
True False
CreateQueryTableNorthwind 20 Products
RefreshStyle前
• xlOverwriteCells – 前
• xlInsertDeleteCells – 前
• xlInsertEntireRows – 前
Sub CreateQueryTable()
Dim myQryTable As Object
Dim myDb As String
Dim strConn As String
Dim Dest As Range
Dim strSQL As String

myDb C\Program Files\Microsoft Office\Office\ _
& Samples\Northwindmdb
strConn OLEDBProviderMicrosoftJetOLEDB40 _
wwwplcworldcn
Excel 2002 VBA
364
& Data Source & myDb &
wwwplcworldcn
Excel 2002 VBA
365
Set Dest Worksheets(1)Range(A1)
strSQL SELECT * FROM Products WHERE UnitPrice>20
Set myQryTable ActiveSheetQueryTablesAdd(strConn _
Dest strSQL)
With myQryTable
RefreshStyle xlInsertEntireRows
Refresh False
End With
End Sub





















1517 QueryTable Excel Access 前

22 Excel Access
Access Excel


23 Access
VBA Access ChartData Access Northwind
ChartsAddRangeCurrentRegion
A1
VBA 前
Sub ChartData()
Dim db As DAOdatabase
Dim qd As DAOQueryDef
Dim rs As DAORecordset
Dim mySheet As Worksheet
Dim recArray As Variant
Dim i As Integer
Dim j As Integer
Dim pathDb As String
Dim qdName As String

pathDb C\Program Files\Microsoft Office\ _
& Office\Samples\northwindmdb
qdName Category Sales for 1997
Set db OpenDatabase(pathDb)

Set qd dbQueryDefs(qdName)
wwwplcworldcn
Excel 2002 VBA
366
Set rs qdOpenRecordset
Set mySheet Worksheets(Sheet2)

With mySheetRange(A1)
CurrentRegionClear
wwwplcworldcn
Excel 2002 VBA
367
recArray rsGetRows(rsRecordCount)
For i 0 To UBound(recArray 2)
For j 0 To UBound(recArray 1)
Offset(i + 1 j) recArray(j i)
Next j
Next i

For j 0 To rsFieldsCount 1
Offset(0 j) rsFields(j)Name
Offset(0 j)EntireColumnAutoFit
Next j
End With
mySheetActivate
ChartsAdd
ActiveChartChartType xl3DColumnClustered
ActiveChartSetSourceData _
SourcemySheetCells(1 1)CurrentRegion PlotByxlRows
ActiveChartLocation WherexlLocationAsObject NamemySheetName

With ActiveChart
HasTitle True
ChartTitleCharactersText qdName
Axes(xlCategory)HasTitle True
Axes(xlCategory)AxisTitleCharactersText
Axes(xlSeries)HasTitle False
Axes(xlValue)HasTitle True
Axes(xlValue)AxisTitleCharactersText mySheetRange(B1) _
& ()
Axes(xlValue)AxisTitleOrientation xlUpward
End With
dbClose
End Sub
ChartData1518前





















1518 VBA AccessSQL
24 Excel Access

VBAExcel

ExcelAccess Excel Access
wwwplcworldcn
Excel 2002 VBA
368

Access

wwwplcworldcn
Excel 2002 VBA
369
Transpose


25 Excel Access
TransferSpreadsheet Excel AccessTransferSpreadsheet
1519Northwind
OpenCurrentDatabase AccessChap15xlsmySheet(A1D7)
Access DoCmdTransferSpreadsheet ExcelSheetDoCmd
1
ExcelAccess Excel前

1519 VBA LinkExcel_ToAccess Access Northwind 前

Sub LinkExcel_ToAccess()
Dim objAccess As AccessApplication
Dim strName As String

strName Linked_ExcelSheet
Set objAccess New AccessApplication
With objAccess
OpenCurrentDatabase C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb
DoCmdTransferSpreadsheet acLink acSpreadsheetTypeExcel9 _
strName _
C\Chap15xls _
1 mySheetA1D7
DoCmdOpenTable strName acViewNormal acEdit
End With
End Sub
wwwplcworldcn
Visual BASIC
370
1520 ExcelAccess前

26 Excel Access
ExcelAccess
VBA acLinkacImport
1519 Northwind 前
Sub ImportExcel_ToAccess()
Dim objAccess As AccessApplication
Dim strName As String

strName Imported_ExcelSheet
Set objAccess New AccessApplication
With objAccess
OpenCurrentDatabase C\Program Files\Microsoft Office\ _
& Office\Samples\Northwindmdb
DoCmdTransferSpreadsheet acImport acSpreadsheetTypeExcel9 _
strName _
C\Chap15xls _
1 mySheetA1D7
DoCmdOpenTable strName acViewNormal acEdit
End With
End Sub

27 Excel Access
ExcelAccess
VBA
1519 Excel AccessADO
MicrosoftJetOLEDB40Access ADOXCatalog
TableAccess

Access
AccessRecordset adOpenKeyset
ForNext Excel
Recordset AddNewAccess
wwwplcworldcn
Visual BASIC
371
RecordsetUpdate前
Sub AccessTbl_From_ExcelData()
Dim conn As ADODBConnection
Dim cat As ADOXCatalog
Dim myTbl As ADOXTable
Dim rstAccess As ADODBRecordset
Dim rowCount As Integer
Dim i As Integer

On Error GoTo ErrorHandler

' connect to Access using ADO
Set conn New ADODBConnection
connOpen Provider MicrosoftJetOLEDB40 & _
Data Source C\Program Files\Microsoft Office\Office\Samples\Northwindmdb

' create an empty Access table
Set cat New Catalog
catActiveConnection conn
Set myTbl New ADOXTable
myTblName TableFromExcel
catTablesAppend myTbl

' add fields (columns) to the table
With myTblColumns
Append School No adVarWChar 7
Append Equipment Type adVarWChar 15
Append Serial Number adVarWChar 15
Append Manufacturer adVarWChar 20
End With

Set cat Nothing
MsgBox The table structure was created

' open a recordset based on the newly created
' Access table
Set rstAccess New ADODBRecordset
With rstAccess
ActiveConnection conn
CursorType adOpenKeyset
LockType adLockOptimistic
Open myTblName
End With

' now transfer data from Excel spreadsheet range
With Worksheets(mySheet)
rowCount Range(A2D7)RowsCount
For i 2 To rowCount + 1
With rstAccess AddNew ' add a new record to an Access table
Fields(School No) Cells(i 1)Text
Fields(Equipment Type) Cells(i 2)Value
Fields(Serial Number) Cells(i 3)Value
Fields(Manufacturer) Cells(i 4)Value
Update ' update the table record
End With
Next i
End With
' close the Recordset and Connection object and remove them
' from memory
rstAccessClose
connClose
Set rstAccess Nothing
Set conn Nothing
wwwplcworldcn
Visual BASIC
372

AccessTbl_From_ExcelDataExit
Exit Sub
ErrorHandler
MsgBox ErrNumber & & ErrDescription
Resume AccessTbl_From_ExcelDataExit
End Sub

28
Excel AccessAccess Excel VBA
Access Access
Access
AccessExcel Access
Excel前

wwwplcworldcn


《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 香币 [ 分享文档获得香币 ]

下载文档

相关文档

易语言中文编程——从入门到精通「菜鸟基础教程」

汉语编程工具易语言 目 录目 录 2第一部分 易语言入门 3第一课 走进“易”世界 3一、打开“易语言”设计窗口 3二、认识“易语言” 3三、第一个易程序 5四、小结 6第二课 简单的人机交互 7一、第一个交互程序 7二、小结 9第三课 按钮与标签的综合运用 10第四课 图文并茂 12第五课 看看计算机的计算能力 14第

雅***韵 2年前 上传677   0

创业培训 餐厅经营从入门到精通 3

第二篇 开业冲刺阶段 餐馆选址终于确定,这对李明来说是个阶段性的胜利,接下来的工作就转入了开业前的准备时期。总结起来,开业前的准备工作可以分为三个步骤:办理餐馆注册手续——招录工作人员——对员工进行岗前培训。总结这一阶段的工作,李明最大的体会就是要学会和人打交道。尤其是刚毕业的大学生,更是如此。在开业前的这段时间里,李明学会了跑工商、跑税务,并积极和这些部门的人打交道;还算顺利地办好了相

小***库 3年前 上传461   0

创业培训 餐厅经营从入门到精通 4

第6章 人员招用和设备购置最考验人的选址问题解决了,比较繁琐的开店手续也快要接近尾声了,接下来,李明开始着手购置餐馆设备和人员招用的事情。没有接触餐饮之前,李明一直以为餐饮店的设备和家庭厨房用具是一样的,自从考察了几家转租店面后,李明发现餐馆厨房设备是有它的专业性的,比如,大型的设备有烤炉、烤箱、洗碗机、消毒柜、西点设备,更大的餐馆还要准备中式火锅边炉,或西式刀、叉、平盘。所以有些设备还有

小***库 3年前 上传614   0

创业培训 餐厅经营从入门到精通 封面宣传文字

本书内容简介(可附页或文件) :本书的作者是一位勇敢的创业者。这本书也正是根据李明自身的创业经历,累积总点滴的经验和教训而写成的。本书李明现身说法,从快餐店的筹划、选址写起,一直到如何配合财务作账、如何扩大经营等,关于创业开办小餐馆所能遇到的方方面面的问题都进行了全面详细的记录和介绍。而且是以情景再现和分享故事的形式提出创业中的问题,并以作者的经验来为读者进行解答和解决,给出简单易行的方法

小***库 3年前 上传446   0

智慧树知到《韩国语入门》2021章节测试答案

智慧树知到《韩国语入门》2021章节测试答案第一章测试1、“训民正音”是什么时候谁来颁布的?A、世宗大王 1443年B、世宗大王1445年C、世宗大王1446年正确答案:C2、在颁布“训民正音”之前朝鲜半岛使用的文字是( )。A、日文B、英文C、汉文字正确答案:C3、韩国语发展到今天共有40个字母,其中元音( )个, 辅音( )个。A、21个, 19个B、20个,

h***5 3年前 上传5266   0

AutoCAD入门与深入

从这里,我将开始我自己的讲座,我之所以采用讲座的形式,来发表意见,就是因为,我只打算按照我自己的意思,自己的编排和顺序,随意讲来.这里所讲的内容既不是“奉命之作”,也不是“应邀而作”,完全出自我自己的愿望,未必遵守某个规矩,也不是教科书的样式,循序渐进,娓娓道来,我这里可能没有一定之规,问题的提出,往往是AutoCAD应用者,所常见的问题或者困惑,论据的求证,也可能没有充分的周全的考虑,都是我的个人体验,或仅限于自己的知识,即使或有所依据,也只能以所能查阅到的资料,或AutoCAD的"帮助"的范围所限,因此如能给一部分朋友作一点参考,也就心满意足了,决不敢奢望有多大的"人气"。

l***8 4年前 上传925   0

英语语法入门

第一讲 语序和五种基本句式He learns English every day.他每天学习英语。(中英语序不同)

L***4 4年前 上传1353   0

会计快速入门必看

会计是在各种社会力量进行博弈下形成的,是为经济或者政治服务的一个信息系统。企业在发展中出现了委托-代理关系,才产生出现会计的必要,有了会计,随着社会的发展,会计逐渐发展成为一个社会性的而且具有统一性的理论。

天***猩 2年前 上传498   0

创业入门

第一章 餐巾纸背面的分析——立即进入状况与成功为伍的人知道自己要什么,锁定目标,全力以赴。制胜法宝就在心无杂念、一心一意……——尤金.克莱纳(Eugene Kleiner),创股公司主管 硅谷创业者们成功的关键,在于只要碰到任何新点子时,就会不管时间、地点马上做起评估,在随便一个午餐的餐会上,那些精英们也会信手在餐巾纸背面勾勒出产品雏形,或掏出名片,在上面做起现

j***n 10年前 上传766   0

PowerPoint 入门教案

1. 基本知识(1) 了解PowerPoint演示文稿软件的功能、窗口界面,以及演示文稿的组成。(2) 通过参与活动,了解并掌握多种方法创建演示文稿。(3) 掌握如何编辑、保存演示文稿。(4) 了解多种显示演示文稿的方式。2. 操作技能目标(1) 通过参与活动熟悉使用PowerPoint软件。(2) 具有根据实际需求选择恰当方法创建演示文稿能力。(3) 具有一定的编辑幻灯片操作能力。(4) 具有根据编辑需求选择合适显示视图进行演示文稿修改能力。教学分析与准备:1.教学重点(1) 演示文稿编辑区的组成(幻灯片窗格、备注窗格和大纲窗格),各窗格的功能。(2) 编辑、保存演示文稿2.教学难点(1) 创建演示文稿四种方法以及各自的特点。(2) PowerPoint软件的四种视图,以及各视图下的幻灯片编辑操作。3.教学策略因为word、Excel和PowerPoint都是Microsoft office系列的软件,所以他们的窗口界面、操作方式等都有着很多相同之处。地教学中要充分调动学生已有的关于word和Excel的知识,培养学生知识迁移的能力,使学生能触类旁通,掌握学习不同软件使用的能力。训练他们对PowerPoint基本操作的迁移能力。这样使学生已有的旧知识和新知识相互联系,同时也能调动学生的积极性。4.课时安排2课时(45分钟×2)5.教学环境多媒体教室

启***睿 5年前 上传1674   0

政务信息写作入门

一、政务信息的定位什么是信息?按教科书上的说法,信息与物质、能量,是构成世界的三大资源。信息是人类社会进行沟通和交流的纽带,是文明进步的基石。

王***朝 3年前 上传761   0

Excel VBA入门教程

VBA入门系列讲座1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA

雅***韵 2年前 上传851   0

会计职业入门课时安排

会计职业入门课时安排表

n***e 6年前 上传1489   0

《PS快速入门教程》

PS抠图方法.  一、魔术棒法——最直观的方法  适用范围:图像和背景色色差明显,背景色单一,图像边界清晰。  方法意图:通过删除背景色来获取图像。  方法缺陷:对散乱的毛发没有用。  使用方法:1、点击“魔术棒”工具;  2、在“魔术棒”工具条中,在“连续”项前打勾;  3、“容差”值填入“20”。(值可以看之后的效果好坏进行调节);  4、用魔术棒点背景色,会

雅***韵 3年前 上传682   0

Photoshop-6.0入门教程4

第4单元 使用图层样式图层样式用于在图层上添加特殊效果,在本单元中我们将学习如何使用图层样式以及它的设置方法。第一课 图层样式的基本用法一、 任务对于图层对象可以直接使用样式,本课的主要任务是学习使用样式面板和对图层应用样式的方法。二、 知识点Photoshop为用户提供了近百种已设置的样式,同时还提供了设置样式的图层样式对话框。1. 样式控制面板通过窗口菜单可以打开样式

l***q 4年前 上传800   0

做好园林预算-详解入门

绿化结算主要有:  绿化物料费用:包括植被、景观石、欣赏用植物等,这是一块费用;   人工费用: 种植、养护都要人工的;   园林维护: 除草、防虫、杀菌的也需要费用的;   绿化工程造价计算知识介绍   〔一〕绿化工程造价计算有何规定    随着我国改革开放的不断深入,为了将上海建设

静***雅 2年前 上传457   0

Photoshop-6.0入门教程5

路径是Photoshop软件中引入的矢量技术,它不仅可以绘出各种线条、图形,也可以制作选区、填充色彩或描边。在本单元中,我们将学习路径的基本用法以及绘制路径的方法。

l***q 4年前 上传922   0

钢笔行书入门教程

钢笔行书入门教程 一,钢笔行书的特征 行书之称始于西晋卫恒《四体绝书》.张怀在《书断》中是这样阐述行书产生原因的:行书者.后汉刘德升所造也.既正书之小伪.务从简易,相间流行.帮谓之行书.在汉晚期已有行书了.从行书的产生.形成和历代演变的发展过程来看行书并没有开成独立的“行法“.这是与篆,隶,草,楷的最大区别.行书无法却有体.最大特点是用连笔和省笔.却不用或少用草化符号.较多地保留正体的可识性

t***d 5年前 上传1899   0

Photoshop-6.0入门教程1

Photoshop 6.0是美国Adobe公司推出的功能强大的图像处理软件,它相对于前面的版本发生了较大的变化,不仅新增了许多功能,同时在界面上也有许多不同。Photoshop 是一个图像处理软件,它适合于制作各种图像,如照片效果、特效文字、各种底纹等,这些图像可被广泛地应用于Web页面、广告、杂志等等。本单元讲述Photoshop 6.0的基础知识,主要包括Photoshop的窗口结构、文件操作等。下面将分三课学习这些内容。

l***q 4年前 上传922   0

Photoshop-6.0入门教程6

通道是Photoshop中非常重要的工具,它与各种特效配合可以制作出非常精美的图像,但是通道比较难以理解、使用起来不易把握。本单元中我们将学习通道的用法。

l***q 4年前 上传840   0

电磁仿真CST入门教程

电磁仿真CST入门教程1.1 软件介绍CST公司总部位于德国达姆施塔特市,成立于1992年。它是一家专业电磁场仿真软件的提供商。CST软件采用有限积分法(Finite Integration)。其主要软件产品有:CST微波工作室——三维无源高频电磁场仿真软件包(S参量和天线)CST设计工作室——微波网络(有源及无源)仿真软件平台(微波放大器、混频器、谐波分析等)CST电磁工作室——

z***u 2年前 上传757   0

金蝶EAS快速入门-资产管理

导读金蝶EAS资产管理系统以资产、设备前期管理、运行历史及台帐为根底,以单据的提交、审批、执行为主线,以资产卡片信息为载体,以资产台帐管理为核心,围绕日常资产管理业务,运用流程化、工程化的管理手段,将采购管理、库存管理、设备管理、固定资产管理、工程管理集成一个数据充分共享的信息系统中,实现资产设备的实物管理与价值管理的统一,到达资产的业务处理、业务监控和财务核算、财务监控的一体化,从而将传统的

静***雅 2年前 上传957   0

Photoshop-6.0入门教程3

第3单元 图层的使用图层是Photoshop为用户提供的非常重要的处理图像工具,用户大多数的操作都离不开它。简单地说,图层可以将一个图像中的各个部分独立开,用户在对其中的任一部分处理时,不会影响其他部分。在第1单元中我们已经学习了图层的概念和简单的操作。在本单元中我们将更进一步地领略图层在图像处理中的巨大魅力。第一课 再看图层控制面板一、 任务在第1单元我们已经初步接触了图层控制面

l***q 4年前 上传756   0

管理咨询快速入门

第一章 成长与变革中的中国企业呼唤管理咨询 第一节管理咨询概述 第二节管理咨询的价值 第三节中国企业呼唤管理咨询 案例一:协助某IT公司进行人力资源管理模式创新 案例二:某大型国企ERP实施管理咨询 第二章 管理咨询的过程 第一节营销 第二节正式启动 第三节诊断 第四节咨询方案

文***卓 10年前 上传17571   0

秘书新手入门

秘书新手入门  前不久,公布了本站要整理发布一套秘书新手入门教程,由于工作时间的原因。今天暂时整理发布第一篇  一、秘书助理的感觉  事情太多做不完  突发事件突发    枪林弹雨压力大   关系错综复杂   又要能说又要会写   好像我是万能的  没有角色的角色   多头无法分身  多、烦、杂、乱  夹心饼干   二、职能角色定位   初级秘

冰***5 11年前 上传571   0