...

本書について

by user

on
Category: Documents
15

views

Report

Comments

Transcript

本書について
cp00 :
2000/1/31 (15:12)
5
本書について
本書で作成しているモジュールとブック
第 1 章からの本文においては、表 1 に示すモジュールを作成して、これらのコード( プ
ログラム)リストと実行結果をベースにして、その内容を解説しています。
表 1 モジュール一覧表
モジュール番号
モジュール名
ブック番号
リスト番号
1
md シートクリア
B-1-1
1-1
2
md シート枠線操作
B-1-1
1-2
3
md シート行列番号操作
B-1-1
1-3
4
md シート指定_枠線操作
B-1-1
1-4
5
md シート指定_枠線 OptSub
B-1-1
1-5
6
mdTest シートクリアなど
B-1-1
1-6
7
sh1 シートクリア
B-1-1
1-7
8
cs シートクリア
B-1-2
1-1
9
cs シート指定_枠線操作
B-1-2
1-4
10
cs シート指定_枠線 OptSub
B-1-2
1-5
11
mdTest シートクリアなど Class
B-1-2
2-1
12
sh1 シートクリア Class
B-1-2
2-2
13
md シート分割
B-1-2
2-3
14
md 行列操作
B-1-2
2-4
15
mdTest 行列幅
B-1-2
2-5
16
cs 行列操作
B-1-2
2-6
17
mdTest 行列幅 Class
B-1-2
2-7
18
ThisWorkbook-ブックを開く.xls
B-2-1
3-1
19
md ブック可視不可視
B-2-1
3-2
20
cs ブック可視不可視
B-2-2
( 3-2 )
21
ThisWorkbook-ブック開 Class.xls
B-2-2
3-3
22
mdFileOpenSave
B-2-2
3-4
23
md ブック有無
B-2-2
3-5
24
cs ブック状態
B-2-2
3-6
25
md ブック操作
B-2-2
3-7
26
mdAutoOpenClose
B-2-3
3-8
cp00 :
6
2000/1/31 (15:12)
本書について
モジュール番号
モジュール名
ブック番号
リスト番号
27
ThisWorkbook-Launcher.xls
B-2-4
4-1
28
Sheet4-Launcher.xls
B-2-4
4-2
29
Sheet5-Launcher.xls
B-2-4
4-3
30
ThisWorkbook-SheetEvent.xls
B-2-5
4-4
31
Sheet1-SheetEvent.xls
B-2-5
4-5
32
md シート作成と移動
B-2-5
4-6
33
shLauncher-SheetEvent.xls
B-2-5
4-7
34
md 乱数表の作成
B-2-5
4-8
35
md 範囲乱数ジェネレータ
B-2-5
4-9
36
ThisWorkbook-ワークシート操作.xls
B-3-1
4-10
37
ThisWorkbook-ReadOnly.xls
B-3-2
4-11
38
md ブック間シート内容コピー
B-3-1
5-1
39
mdTest ブック間内容コピー
B-3-1
5-2
40
md シートを作成してコピー
B-3-1
5-3
41
mdTest シート作成コピー
B-3-1
5-4
42
md シート間内容コピー
B-3-1
5-5
43
mdTest シート全内容コピー
B-3-1
5-6
44
md エラーコード調査
B-3-1
5-7
45
md コード別エラー表示
B-3-1
5-8
46
md シートを作成してコピー Err 対応
B-3-1
5-9
47
mdTestErr 対応シート作成コピー
B-3-1
5-10
48
md シート作成コピー Err 分岐
B-3-1
5-11
49
mdTest シート作成コピー Err 分岐
B-3-1
5-12
50
mdBook シート内容コピー Err 対応
B-3-1
5-13
51
mdTestBook 内容コピー Err 対応
B-3-1
5-14
52
cs シートを作成してコピー
B-3-1
5-15
53
mdTestClass 対応 Sheet 作成 Copy
B-3-1
5-16
54
ThisWorkbook-パスワード付.xls
B-3-5
6-1
55
md 全シート保護_基本
B-3-5
6-2
56
md 全シート解除 Message
B-3-5
6-3
57
md 全シート保護_PassWord
B-3-5
6-4
58
md 全シート保護_秘密の記録
B-3-5
6-5
59
shPassWordPk-パスワード付.xls
B-3-5
6-6
60
usfPassWordGet
B-3-5
6-7
61
md 全シート保護_UserFmPass
B-3-5
6-8
62
md 全シート保護_記録 PassWord
B-3-5
6-9
cp00 :
2000/1/31 (15:12)
本書で作成しているモジュールとブック
モジュール番号
モジュール名
ブック番号
リスト番号
63
ThisWorkbook-SheetProtect.xls
B-3-3
6-10
64
md セル参照と入力
B-4-1
7-1
65
md 全セル参照
B-4-1
7-2
66
md 相対参照
B-4-1
7-3
67
md 正しい With 文の例
B-4-1
7-4
68
md 誤った With 文の例
B-4-1
7-5
69
md オブジェクト変数
B-4-1
7-6
70
md セル取得無対応
B-4-2
7-7
71
mdCancel 対応 Input
B-4-2
7-8
72
md セル番号取得関数
B-4-2
7-9
73
mdTest セル番号取得
B-4-2
7-10
74
cs セル番号取得
B-4-2
7-11
75
mdTest クラス選択
B-4-2
7-12
76
md セルポインタ移動
B-4-3
8-1
77
md セルポインタ移動_特殊
B-4-3
8-2
78
md 交通費テンプレート
B-4-3
8-3
79
md 行見出し
B-4-3
8-4
80
md 列見出し
B-4-3
8-5
81
mdTest 行列見出し
B-4-3
8-6
82
sh 営業所経費
B-4-3
8-7
83
md セルポインタ移動プロシージャ
B-4-3
8-8
84
md セルポインタ n 個移動
B-4-3
8-9
85
md 簡易外枠
B-4-4
8-10
86
md セル範囲参照
B-4-4
8-11
87
mdTestUnion
B-4-4
8-12
88
md セル範囲スキャン
B-4-4
8-13
89
mdTestUnion スキャン
B-4-4
8-14
90
sh 営業所経費_停止可能
B-4-4
8-15
91
md イベントプロシージャ制御
B-4-4
9-1
92
mdEventProcedure チェック
B-4-4
9-2
93
md セル文字列入力
B-4-3
9-3
94
mdTest セル文字列入力
B-4-3
9-4
95
mdToolBar 書式設定
B-4-3
9-5
96
mdDate 型変数
B-4-5
9-6
97
md 日付と時刻
B-4-5
9-7
98
md 曜日変換
B-4-5
9-8
7
cp00 :
8
2000/1/31 (15:12)
本書について
モジュール番号
モジュール名
ブック番号
リスト番号
99
mdTest 曜日変換
B-4-5
9-9
100
cs 曜日変換
B-4-5
9-10
101
mdTestClass 曜日変換
B-4-5
9-11
102
Sheet2-日付曜日時刻.xls
B-4-5
9-12
103
mdCell 数式入力
B-4-6
10-1
104
md クリップボード Copy
B-4-6
10-2
105
md メソッド Copy
B-4-6
10-3
106
md 自動範囲選択 Copy
B-4-6
10-4
107
mdUsedRange
B-4-6
10-5
108
mdEnd プロパティ
B-4-6
10-6
109
mdValueCopy
B-4-7
10-7
110
mdTextCopy
B-4-7
10-8
111
mdFormulaCopy
B-4-7
10-9
112
md 数値判断 Value
B-4-7
10-10
113
md 数値判断 Formula
B-4-7
10-11
114
md 先頭 0 文字列 Copy
B-4-7
10-12
115
md 数式表示
B-4-7
10-13
116
md 数値表示
B-4-7
10-14
117
md 数値演算 Copy
B-4-7
10-15
118
Sheet3-TextValue.xls
B-4-7
10-16
119
md データ_数式判定
B-4-8
10-17
120
md シート名選択
B-4-8
10-18
121
mdTest シート名選択
B-4-8
10-19
122
md 任意シート数式表示
B-4-8
10-20
123
cs シート名選択
B-4-8
10-21
124
mdClassTest シート名選択
B-4-8
10-22
125
mdClass 任意シート数式表示
B-4-8
10-23
126
Sheet3-セルさまざま.xls
B-4-8
10-24
127
md 日付計算
B-4-8
11-1
128
md 列文字列変換
B-4-8
11-2
129
mdTest 列文字列変換
B-4-8
11-3
130
mdAddress 列番号変換
B-4-9
11-4
131
mdTestAddress 列番号変換
B-4-9
11-5
132
sh 営業所経費 2-セルさまざま.xls
B-4-8
11-6
133
sh 営業所経費 3- セル保護とカナ.xls
B-4-9
11-7
134
md 選択入力_行可変
B-4-9
11-8
cp00 :
2000/1/31 (15:12)
本書で作成しているモジュールとブック
モジュール番号
モジュール名
ブック番号
リスト番号
135
md 選択入力
B-4-9
11-9
136
Sheet2- セル保護とカナ.xls
B-4-9
11-10
137
md テンプレート作成
B-4-9
11-11
138
md テンプレート作成_再設定
B-4-9
11-12
139
md テンプレート再設定_行可変
B-4-9
11-13
140
md ふりがな表示非表示
B-4-9
11-14
141
md プログラムかな入力
B-4-9
11-15
142
md かな列削除
B-4-9
11-16
143
md ふりがな関数入力
B-4-9
11-17
144
mdActive 罫線
B-4-10
12-1
145
mdTestActive 罫線
B-4-10
12-2
146
mdActive 外枠
B-4-10
12-3
147
mdTestActive 外枠
B-4-10
12-4
148
mdRange 指定罫線
B-4-10
12-5
149
mdTestRange 指定罫線
B-4-10
12-6
150
mdRange 指定外枠
B-4-10
12-7
151
mdTestRange 指定外枠
B-4-10
12-8
152
md 線種 Active 罫線
B-4-10
12-9
153
mdTest_線種罫線
B-4-10
12-10
154
mdArrayForEach
B-4-10
12-11
155
md データシート作成
B-4-10
12-12
156
mdTestWorksheetScan
B-4-10
12-13
157
mdTest 行スキャン
B-4-10
12-14
158
md 線種 Active_外枠
B-4-10
12-15
159
mdTest_線種 Active 外枠
B-4-10
12-16
160
mdRGB カラー基本
B-4-10
12-17
161
md16 進カラー基本
B-4-10
12-18
162
md パレット番号カラー基本
B-4-10
12-19
163
md 文字カラー基本
B-5-1
13-1
164
md セル枠線カラー
B-5-1
13-2
165
md 色_線種 Active 罫線
B-5-1
13-3
166
mdTest_色_線種罫線
B-5-1
13-4
167
md ふりがな列作成
B-5-1
13-5
168
md ひらがなふりがな列作成
B-5-1
13-6
169
md 半角カタカナふりがな列作成
B-5-1
13-7
170
md 中間色コードテスト
B-5-1
13-8
9
cp00 :
10
2000/1/31 (15:12)
本書について
モジュール番号
モジュール名
ブック番号
リスト番号
171
mdRGB カラー定義
B-5-1
13-9
172
mdEnumRGB テスト
B-5-1
13-10
173
cs クリアと枠線
B-5-2
13-11
174
csColor 定数_メソッド
B-5-2
13-12
175
mdTest_Color 線種罫線
B-5-2
13-13
176
csColor 罫線
B-5-2
13-14
177
md 線幅_線種_色罫線
B-5-2
13-15
178
csColor 外枠
B-5-2
13-16
179
mdTest_線幅_線種_色外枠
B-5-2
13-17
180
md 色定数文字カラー
B-5-2
13-18
181
md 入力セル色区分
B-5-2
13-19
182
md 行列変換
B-5-2
14-1
183
mdFill ステートメント
B-6-1
14-2
184
md 数値数式区分
B-6-1
14-3
185
md 営業所抽出
B-6-1
14-4
186
md2 つの営業所抽出
B-6-1
14-5
187
md 抽出結果コピー
B-6-1
14-6
188
mdTest 領域 Areas
B-6-1
14-7
189
mdTest 可視_領域 Areas
B-6-1
14-8
190
md 表示行数カウント関数
B-6-1
14-9
191
md 抽出件数カウント
B-6-1
14-10
192
md 任意項目_抽出
B-6-1
14-11
193
md 昇順ソートプロシージャ
B-6-2
15-1
194
mdTest 昇順ソート
B-6-2
15-2
195
md 昇順ソート Title なし
B-6-2
15-3
196
mdTest_NoTitle 昇順ソート
B-6-2
15-4
197
md_降順ソートプロシージャ
B-6-2
15-5
198
mdTest_降順ソート
B-6-2
15-6
199
md_降順ソート Title なし
B-6-2
15-7
200
md_TestNoTitle 降順ソート
B-6-2
15-8
201
cs ソート
B-6-2
15-9
202
mdClassSort
B-6-2
15-10
203
md 重複レコード削除
B-6-2
15-11
204
shFunction-Worksheet 関数.xls
B-6-2
15-12
205
mdTestTextBox_使用注意
B-7-1
16-1
206
mdTest 縦書 TextBox_注意
B-7-1
16-2
cp00 :
2000/1/31 (15:12)
本書で作成しているモジュールとブック
モジュール番号
モジュール名
ブック番号
リスト番号
207
mdModelTextBox 関数
B-7-1
16-3
208
mdTestModelTextBox
B-7-1
16-4
209
mdModel 縦書 TextBox 関数
B-7-1
16-5
210
mdTest 縦書 TextBox
B-7-1
16-6
211
mdShapeCountIndex
B-7-1
16-7
212
md 変形 TextBox
B-7-1
16-8
213
mdTest 変形 TextBox
B-7-1
16-9
214
mdTest 変形_縦書 TextBox
B-7-1
16-10
215
md 使い方説明
B-7-1
16-11
216
md 帳票送付_営業所
B-7-1
16-12
217
Sheet4-' Sheet 上配置.xls
B-7-1
16-13
218
md 帳票送付_帳票名
B-7-1
16-14
219
md 抽出解除
B-7-2
17-1
220
md 回収率抽出
B-7-2
17-2
221
md 回収率抽出_後処理
B-7-2
17-3
222
md 回収率抽出_Spin
B-7-3
17-4
223
md 都道府県検索
B-7-3
17-5
224
md 庁舎所在地検索
B-7-3
17-6
225
md 地域数カウント
B-7-3
17-7
226
md 地域_マーキング
B-7-3
17-8
227
md マクロランチャ
B-7-3
17-9
228
md 比較 InputBox
B-8-1
18-1
229
usf 半角全角入力 Box
B-8-1
18-2
230
mdTest 半角全角入力 Box
B-8-1
18-3
231
mdTestFilter 関数
B-8-1
18-4
232
usfImeSwitch 入力 Box
B-8-1
18-5
233
mdTestSwitch 入力 Box
B-8-1
18-6
234
usfModelessText
B-8-2
18-7
235
mdTest モードレス入力
B-8-2
18-8
236
usf リスト入力
B-8-2
18-9
237
mdTest リスト入力
B-8-2
18-10
238
md 面積換算
B-9-1
19-1
239
md 手操作設定印刷
B-9-1
19-2
240
md 手操作設定印刷 PreView
B-9-1
19-3
241
md 範囲既設定印刷
B-9-1
19-4
242
md 範囲印刷 Preview
B-9-1
19-5
11
cp00 :
12
2000/1/31 (15:12)
本書について
モジュール番号
モジュール名
ブック番号
リスト番号
243
usfWait 案内
B-9-1
19-6
244
md 面積換算_表印刷
B-9-1
19-7
245
md 面積換算_表印刷_Preview
B-9-1
19-8
246
usf 印刷ページ設定
B-9-1
19-9
247
md ページ指定印刷
B-9-1
19-10
248
md 列幅統一
B-9-2
19-11
249
md 横方向縮小印刷例
B-9-2
19-12
250
md グラフ確認削除
B-10-1
20-1
251
md グラフシート作成
B-10-1
20-2
252
md 埋め込みグラフ削除
B-10-1
20-3
253
md 埋め込みグラフ作成
B-10-1
20-4
254
md 位置サイズ指定グラフ
B-10-1
20-5
255
md 回転率グラフ作成
B-10-1
20-6
256
md 埋め込みグラフ印刷
B-10-1
20-7
表 2 ブックとフォルダ
フォルダ名
ワークシート基本集
v ブックとイベント
ブック番号
ファイル名
B-1-1
シート基本.xls
B-1-2
シート体裁.xls
B-2-1
ブックを開く.xls
B-2-2
ブック開 Class.xls
B-2-3
OpenClose.xls
B-2-4
Launcher.xls
B-2-5
SheetEvent.xls
B-3-1
ワークシート操作.xls
B-3-2
ReadOnly.xls
B-3-3
SheetProtect.xls
B-3-4
シート参照法.xls
B-3-5
パスワード付.xls
B-4-1
セル参照法.xls
B-4-2
セル番号取得.xls
B-4-3
セル書式数式.xls
B-4-4
セル範囲.xls
B-4-5
日付曜日時刻.xls
B-4-6
セル GetCopy.xls
B-4-7
TextValue.xls
u ワークシート操作
s セル操作
cp00 :
2000/1/31 (15:12)
本書で作成しているモジュールとブック
フォルダ名
ブック番号
ファイル名
B-4-8
セルさまざま.xls
B-4-9
セル保護とカナ.xls
B-4-10
罫線と Color.xls
B-5-1
Color 応用.xls
B-5-2
罫線 ColorCls.xls
B-6-1
簡易検索.xls
B-6-2
WorkSheet 関数.xls
B-7-1
Sheet 上配置.xls
B-7-2
Button シート.xls
B-7-3
リストボックス.xls
B-8-1
UserForm.xls
B-8-2
Modeless.xls
B-9-1
Printer.xls
B-9-2
プリンタ設定.xls
B-10-1
GraphBase.xls
q セル応用
p データ加工
n コントロール
j ユーザフォーム
h プリント
f グラフ
これらのモジュールは、表 2 のブックに収められています。表 1 のブック番号と、表 2
のブック番号が対応しています。表 2 のフォルダは、図 1 のように「 Ex2K_Module」フォ
ルダの下に作ります。このフォルダはドライブを問いません。
図 1 Ex2K_Module フォルダ
13
cp00 :
14
2000/1/31 (15:12)
本書について
モジュールとプロシージャのプリフィックス
本書には、表 3 に示す 5 種類のモジュールがあります。それぞれ独自のプリフィックス
を付け、名称を見れば種類がわかるようにしてあります。これには例外はありません。
表 3 本書のモジュールとプリフィックス
プリフィックス
モジュールの種類
md
標準モジュール
cs
クラスモジュール
usf
ユーザーフォームモジュール
sh
ワークシートモジュール
ThisWorkbook
ブックモジュール
各ブックにおけるこれらのモジュールは、VBE を開いて図 2 のようにプロジェクトエク
スプローラを開くことにより、その構成を見ることができます。これらのモジュールに各
プロシージャがあります。本書においては、モジュールを単位として解説します。モジュー
ルごとに、行番号を付けたプロシージャのコードリストを示します。
図 2 プロジェクトエクスプローラ
本書のプロシージャには、原則として表 4 に示すプリフィックスを付けています。一部
例外もあります。
表 4 本書のプロシージャのプリフィックス
プリフィックス
プロシージャの種類
gsb
Public Sub プロシージャ
gfc
Public Function プロシージャ
msb
Private Sub プロシージャ
mfc
Private Function プロシージャ
cp00 :
2000/1/31 (15:12)
本書のプロジェクトの学習法と利用法
プリフィックス
プロシージャの種類
mth
メソッド
pty
プロパティプロシージャ
本書のプロジェクトの学習法と利用法
本書のプロジェクトは、解説文のコードリストにしたがってプロジェクトを作成し、実行
して学習することができます。付属 CD-ROM のフォルダをのちに説明する方法でハード
ディスクにコピーし、Excel 2000 でブックを開くことにより、コード入力なしにプロジェ
クトを実行することができます。
本書の各モジュールのプロシージャは、VBE においてコードをほかのブックのモジュー
ルにコピーして利用することができます。プロシージャの一部をコピー&ペーストして利
用することもできます。
モジュール全体を利用するには、ドラッグ&ドロップとエクスポート/インポートによ
る方法があります。ドラッグ&ドロップは、コピー元モジュールのブックとコピー先ブッ
クを図 3 のように開きます。コピー元のモジュールをコピー先ブックの領域にドラッグし
てはなすと、対応するモジュールグループにコピーされます。対応するグループがないと
きには、自動的に作成されます。
図 3 ドラッグ&ドロップ
この方法では、Microsoft Excel Object のシートはコピーできません。これは、シート
を開きシートコピー操作によってコピーします。
15
cp00 :
16
2000/1/31 (15:12)
本書について
エクスポートは、標準モジュールとクラスモジュールが対応しています。フォームモジュー
ルは、コードのみ対応しています。この操作は、図 4 のようにエクスポートするモジュー
ル名上でショートカットメニューを開き、
[ファイルのエクスポート]コマンドをクリック
します。これで図 5 のように[ ファイルのエクスポート]ダイアログボックスが開き、モ
ジュール名のファイル名が付けられています。拡張子は、標準モジュールが「 bas 」でクラ
スモジュールが「 cls 」です。これで、フォルダを選択して保存します。
図 4 エクスポート
図 5 ファイルのエクスポート
このファイルを利用するブックでは、図 6 のようにインポートするブックにおいてショー
トカットメニューを開き、
[ファイルのインポート]をクリックします。これで図 7 のよう
に[ ファイルのインポート]ダイアログボックスが開くので、目的のファイルを開きます。
図 8 のようにインポートが完了します。
cp00 :
2000/1/31 (15:12)
リファレンスブックと本書のステートメントの比較
図 6 インポート
図 7 ファイルのインポート
図 8 インポート完了
リファレンスブックと本書のステートメントの比較
リスト 1 は、モジュール 197 のオリジナルコードリストです。本書においては、コード
リストはリスト 2 のようにツールにより行番号を付けて掲載しています。これはコードの
解説のためです。
本書の解説文においては、コード中のオブジェクト、プロパティ、メソッドの解説はや
や簡単になっています。この不足の部分については、Excel 2000 VBA の各種リファレン
スブックや、オンラインヘルプを参照してください。リファレンスブックやオンラインヘ
17
cp00 :
18
2000/1/31 (15:12)
本書について
ルプにも、それぞれのオブジェクト、プロパティ、メソッドの使用例があります。これら
は、そのステートメントの解説が主なので、実際のプロシージャにおけるコードの前後の
関係が明白であるとは限りません。
たとえば、リスト 2 の 12∼17 行目の選択セル範囲のソートである Sort メソッドについ
て見ると、リファレンスブックでは
WorkSheets("Sheet1").Range("A1:C20").Sort _
として、選択範囲の Range オブジェクトのメソッドとしてソートする構文になっています。
リスト 2 においては、12 行目で全セルを選択してから、13 行目で Selection プロパティの
メソッドとして Sort を実行しています。このほうがデバッグが容易です。さらに、リスト
2 のように独立したプロシージャとしてほかのプロシージャから呼んで使用するときには、
18 行目の選択解除が重要です。選択を解除していないと、次のステートメントでこの選択
範囲を対象にすることがあり、トラブルが発生する可能性があります。
このように、本書のモジュールにあるプロシージャは、実際に動作する構造になってい
るので、条件を変えたテストも容易です。
リスト 1 モジュール 197 のオリジナルコードリスト
' md_降順ソートプロシージャ
' Worksheet 関数.xls
Option Explicit
' 降順ソートのプロシージャ
' 呼ぶ前に対象ワークシートを選択する
' ソートキーとする列の 2 番目のセル番号を文字列で渡す
Public Sub gsb_ 降 順 ソ ー ト プ ロ シ ー ジ ャ (agstrRange As String)
Cells.Select
Selection.Sort Key1:=Range(agstrRange), _
Order1:=xlDescending, _
Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("A1").Select
End Sub
cp00 :
2000/1/31 (15:12)
動作環境の相異によるエラー発生
リスト 2 モジュール 197 の行番号付きコードリスト
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
' md_降順ソートプロシージャ
' Worksheet 関数.xls
Option Explicit
' 降順ソートのプロシージャ
' 呼ぶ前に対象ワークシートを選択する
' ソートキーとする列の 2 番目のセル番号を文字列で渡す
Public Sub gsb_ 降 順 ソ ー ト プ ロ シ ー ジ ャ (agstrRange As String)
Cells.Select
Selection.Sort Key1:=Range(agstrRange), _
Order1:=xlDescending, _
Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin
Range("A1").Select
End Sub
動作環境の相異によるエラー発生
本書のモジュールは、すべて Excel 97/2000 上で確実に動作することを確認していま
す。しかし、動作環境が変わると思わぬエラーが出ることがあります。モジュール 248 の
プロシージャを保護されているシートを開いて実行すると、図 9 のエラーが発生します。
ここで[デバッグ]ボタンをクリックすると、図 10 のように列幅を変えるステートメント
がエラーになっています。これは、シートが保護されていて列幅を変えることができない
ことによるエラーです。このエラーは、図 11 の[ツール]−[保護]−[シート保護の解除]
によりシートの保護を解除することにより解決できます。
図 9 保護されているシートによるエラー
19
cp00 :
20
2000/1/31 (15:12)
本書について
図 10 列幅を変えるステートメントのエラー
図 11 シート保護の解除
cp00 :
2000/1/31 (15:12)
21
付属CD-ROMについて
本書に付属の CD-ROM には、次に示すファイルとフォルダがあります。
●
YEx2K_Module
●
YEx2K_Module_CD-ROM
2 つとも中身は同じで、図 1( 13 ページ)のサブフォルダがあります。各フォルダにあ
るブックファイルは表 (
2 12 ページ)のとおりです。
本書のモジュールの演習時には、YEx2K_Module_CD-ROM*1をハードディスクにコピー
します。
●
YFolderTemplate
演習用のフォルダを簡単に作成するために用意しました。この下にあるYEx2K_Module
をハードディスクにコピーすれば、図 1 と名前が同じで中身が空のフォルダが作成さ
れます。
●
モジュール−リスト.xls
図 12
( 22 ページ)のようにモジュール一覧表( 5 ページの表 1 を収録)とブック台帳(表
2 を収録)のワークシートを持つブックです。モジュール名をソートするなど、加工し
て使うことができます。
インストール
1
YFolderTemplate の下のYEx2K_Module をハードディスクにコピー
YEx2K_Module 以下に、図 1 と同じ名前で中身が空のフォルダが作成されます。
2
YEx2K_Module_CD-ROM をハードディスクにコピー
3
ファイルの読み取り専用属性を解除
図 13
( 22 ページ)のようにエクスプローラにおいて[プロパティ]ダイアログボックス
を開き、
[ 読み取り専用]チェックボックスをチェック OFF にします。
あるいは Excel でYEx2K_Module_CD-ROM フォルダのブックファイルを開き、Ex2K_
Module フォルダに名前を変えて保存します*2 。このほうがオリジナルのファイルと変
更したファイルが明確に区別できます。
*1 間違って演習用フォルダにファイルをコピーしないようにするためです。
*2 本書のモジュールのプロシージャは、ブックファイルの保存ドライブを問いません。
cp00 :
22
2000/1/31 (15:12)
付属 CD-ROM について
図 12 モジュール−リスト.xls のシート
図 13 読み取り専用
contents :
2000/1/31 (15:12)
23
目次
はじめに ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 3
本書について ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5
付属 CD-ROM について ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・21
1章 ワークシート操作の基本と
プロシージャ構造/作成/呼び出し法
1 ワークシートの全セル参照とクリア ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・35
2 ワークシートの枠線表示/非表示 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 39
3 ワークシートの行列番号の表示/非表示 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・40
4 オブジェクト引数、シート参照、アクティブシートの演習 ・・・・・・・・・・・・・・・・・・・・・・42
5 共通コードのプロシージャ化、名前付き引数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 44
6 ほかのモジュールにあるプロシージャ呼び出しとモジュール 4 、5 の
プロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 47
7 シートモジュールにおけるほかのシートの参照、With 文、標準モジュールの
プロシージャ呼び出し ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 52
入力候補、
エラー処理、
2章 クラスモジュールの作成と使用、
シート行列操作
8 ワークシートクリアのクラスモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・55
9 枠線操作のクラスモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・56
10 プロシージャ使用の枠線操作のクラスモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・56
11 クラスモジュールの使い方、オブジェクト宣言、入力候補、パラメータヒント ・・・・・・ 57
12 ブック間のプロシージャ呼び出し、エラー処理、On Error 文 ・・・・・・・・・・・・・・・・・ 61
13 ワークシートの分割操作 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 65
14 行列標準幅設定と標準値関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 67
15 列幅自動調整と行列標準幅設定/標準値関数のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・68
16 行列標準幅設定と標準値関数のクラス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・71
17 行列標準幅設定と標準値関数のクラス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・72
contents :
24
2000/1/31 (15:12)
目次
イベントプロシージャ、
3章 ブック操作の基本、
複数エラーの対応構造、
ファイルオープン/クローズ
18 ブックのイベントプロシージャ、ブックの表示/非表示、
複数エラー対応プロシージャ構造 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・75
19 ブックの可視/不可視操作プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 79
20 ブックの可視/不可視操作のクラスモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 81
21 エラー処理付き汎用プロシージャを使った、自動ファイルオープン/
クローズプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・81
22 エラー処理付きファイルオープン/クローズ汎用プロシージャ ・・・・・・・・・・・・・・・ 83
23 ブックが開いているかどうかのチェック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・84
24 ブックが開いているかどうかと可視/不可視をチェックするクラス ・・・・・・・・・・・85
25 ブック B-1-1 を使ったブック操作のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・87
26 Auto_Open、Auto_Close によるブックの自動オープン/クローズ ・・・・・・・・・・・89
シートランチャ、
4章 シートのイベントプロシージャ、
シートなしエラー対応、
イベント停止、
乱数
27 ブックを開いたときに特定のシートを開く ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・93
28 シートのイベントプロシージャによるマクロランチャ1 ・・・・・・・・・・・・・・・・・・・・・・・・ 94
29 シートのイベントプロシージャによるマクロランチャ2 ・・・・・・・・・・・・・・・・・・・・・・・・ 95
30 シートモジュールの Public 変数参照、エラー処理と特定のイベント
プロシージャ停止機能を持ったシートオープンプロシージャ ・・・・・・・・・・・・・・・・・・96
31 イベント停止フラグのあるシートイベントプロシージャ、シート作成、
ワークシートの枚数、シート移動、Resume Next ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 98
32 ワークシート作成と移動の汎用プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・100
33 整数乱数表作成のマクロランチャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・101
34 シート中の条件使用の整数乱数表作成プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・102
35 下限と上限の間の乱数を発生する関数プロシージャ、Rnd 関数 ・・・・・・・・・・・・・・105
36 起動時に同じフォルダのブックを開く ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・105
37 使用中のブックは開かない自動オープンプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・ 107
contents :
2000/1/31 (15:12)
目次
エラーコード、
5章 ブック間/ブック内シート内容コピー、
エラー対応コピー
38 ブック間のシート内容コピー関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・109
39 ブック間のシート内容コピーのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・110
40 シートを作成して引数指定のシートの内容をコピーするプロシージャ ・・・・・・ 112
41 シートを作成して整数乱数表のシートの内容をコピーするテスト ・・・・・・・・・・・ 113
42 引数で指定したシート間で内容をコピーするプロシージャ ・・・・・・・・・・・・・・・・・・・ 115
43 引数で指定したシート間の内容コピーテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・116
44 ブック、シート関係のエラーコード調査、Err 関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 117
45 エラーコード別メッセージ表示プロシージャ、If∼Then∼ElseIf 文 ・・・・・・・・・ 120
46 エラー対応のシートを作成して引数指定のシートの内容をコピーする
プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 121
47 エラー対応のシート作成コピープロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・ 122
48 エラーコードで分岐するシート作成コピープロシージャ ・・・・・・・・・・・・・・・・・・・・・・123
49 エラーコードで分岐するシート作成コピープロシージャのテスト ・・・・・・・・・・・ 124
50 エラー対応ブック間シート内容コピー関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 125
51 エラー対応ブック間シート内容コピー関数のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・127
52 シートを作成して引数指定のシートの内容をコピーするクラスモジュール ・・・・・・・・・・128
53 シートを作成して引数指定のシートの内容をコピーするクラスモジュール
のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 129
6章 シートの保護、パスワード、InputBox、ユーザーフォーム、
汎用パスワード入力フォーム
54 ブックを開いたときに特定シートを左端に移動 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 133
55 ブック中の全シートの保護と保護解除の基本 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・134
56 パスワード付きでメッセージを表示する全シート保護解除プロシージャ ・・・・137
57 パスワード付きで全シートを保護するプロシージャと解除プロシージャ、
InputBox ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 138
58 パスワードを特定のシートに見えないように保存する、パスワード付きで
全シートを保護するプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・141
59 パスワード記録シートを自動的に不可視にするプロシージャ ・・・・・・・・・・・・・・・・・145
25
contents :
26
2000/1/31 (15:12)
目次
60 フォームキャプションの指定可能な汎用パスワード入力ユーザーフォーム
モジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・145
61 汎用パスワード入力ユーザーフォームモジュールを使った全シート
保護プロシージャと保護解除プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 148
62 汎用パスワード入力ユーザーフォームモジュールを使った、パスワードを
特定のシートに見えないように保存する、パスワード付きで全シートを
保護するプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・150
63 ブックを開くときに作業用シート以外を保護する ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・152
セルのプロパティ、相対参照、With文、
7章 セル参照と値の入力、
オブジェクト変数、
セル範囲入力
64 セル参照の基本ステートメント集 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・155
65 セル操作とプロパティのデモンストレーション、AutoFill 、パーセント表示 ・・・・・・・・ 158
66 相対参照のデモンストレーション ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・160
67 With 文による ActiveCell 省略の正しい例 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・163
68 With 文による ActiveCell 省略の誤った例 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・165
69 Range 型オブジェクト変数の使用例 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 167
70 [ キャンセル]ボタン無対応の InputBox メソッドによるセル範囲取得 ・・・・・・169
71 [ キャンセル]ボタン対応の InputBox メソッドによるセル範囲取得 ・・・・・・・・・172
72 [ キャンセル]ボタン対応の汎用セル番号取得関数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 173
73 [ キャンセル]ボタン対応の汎用セル番号取得関数のテスト ・・・・・・・・・・・・・・・・・・174
74 [ キャンセル]ボタン対応の汎用セル番号取得のクラスモジュール ・・・・・・・・・・ 176
75 [キャンセル]ボタン対応の汎用セル番号取得のクラスモジュールのテスト ・・・・ 178
テンプレート作成、
8章 セルポインタ移動、
Array関数、
配列スキャン、
行列見出し、
簡易外枠、
複数セル範囲
76
Enter
を押したときのセルポインタ移動方向選択プロシージャ ・・・・・・・・・・・・・・ 181
77 上方向、左方向セルポインタ移動方向選択プロシージャ ・・・・・・・・・・・・・・・・・・・・・・183
78 Array 関数による配列初期化と For∼Each∼Next によるスキャンを使った
テンプレート作成、相対参照と Select によるセル移動 ・・・・・・・・・・・・・・・・・・・・・・・ 184
79 行見出し作成プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・186
contents :
2000/1/31 (15:12)
目次
80 列見出し作成プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・187
81 行/列見出し作成プロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・188
82 入力範囲の右端で左端に折り返すプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 190
83 プロシージャ内で呼ぶセルポインタ移動プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・ 192
84 プロシージャ内で呼ぶセルポインタを n 個移動するプロシージャ ・・・・・・・・・・・ 193
85 アクティブセルに外枠を描く簡易外枠プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・194
86 複数セル参照と簡易外枠のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・195
87 Union による離れた複数セル参照のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 197
88 複数セル範囲のスキャンテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 198
89 Union による複数セル範囲のスキャンテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・200
90 機能停止可能な入力範囲の右端で左端に折り返すプロシージャ ・・・・・・・・・・・・・・201
9章 イベントプロシージャ制御、文字列入力、ツールバー対応、
日付と時刻の関数/演算
Format関数、
91 イベントプロシージャの有効/無効切り替え ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・205
92 イベントプロシージャの有効/無効チェック ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 207
93 セルへの文字列入力プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・208
94 文字列入力と Format 関数、日付/時刻のシリアル値のテスト ・・・・・・・・・・・・・・・209
95 [ 書式設定]ツールバーのボタン対応ステートメントのテスト ・・・・・・・・・・・・・・・ 211
96 Date 型変数のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 215
97 日付と時刻の関数/演算テスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 217
98 1∼7 の曜日数字を日本語の曜日に変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・219
99 日本語曜日変換のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 220
100 日本語曜日変換と曜日見出し作成クラス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・221
101 日本語曜日変換と曜日見出し作成クラスを使った曜日見出し作成テスト ・・・・・・ 223
102 ワークシートを開いたときのタイムスタンプ表示のイベントプロシージャ ・・・・ 225
27
contents :
28
2000/1/31 (15:12)
目次
セル範囲の内容コピー、
セル使用範囲、
10章 セルへの数式入力、
セル値読み出し、
数式表示、
シート選択
103 セルへの数式入力の基本 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・227
104 クリップボードを介したセル値コピー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 228
105 Copy メソッドによる直接コピー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 230
106 CurrentRegion による自動範囲選択コピー ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・231
107 CurrentRegion と UsedRange の比較 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 232
108 End プロパティと SpecialCells(xlCellTypeLastCell) のテスト ・・・・・・・・・・・・・・233
109 Value プロパティによるセル値読み出しと代入のテスト ・・・・・・・・・・・・・・・・・・・・・235
110 Text プロパティによるセル値読み出しと Value プロパティへの代入のテスト ・・・・・237
111 Formula プロパティによるセル値読み出しと Value プロパティへの代入の
テスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・238
112 IsNumeric 関数で判別しコピー方法を変えているプロシージャ ・・・・・・・・・・・・・239
113 Formula プロパティを引数とした IsNumeric 関数で判別しコピー方法を
変えているプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・241
114 先頭 0 の数値は直接コピーする IsNumeric 関数で判別しコピー方法を
変えているプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・242
115 ワークシート全体を数式表示にするプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 244
116 ワークシート全体を数値表示にするプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 245
117 数値のみをピックアップして演算し、ほかのシートにコピーするプロシージャ ・・・・246
118 “ 数式表示 ”ワークシートを開くと、Sheet1 をコピーして数式表示にする ・・・・247
119 シートの数値表示/数式表示判別プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・249
120 シート選択プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・251
121 シート選択プロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 253
122 選択したシートの内容を“ テスト用 ”シートにコピーして数式表示にする ・・・・・256
123 シート選択クラスモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・257
124 シート選択クラスモジュールのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 259
125 クラスモジュールを使った選択したシート内容の“ テスト用 ”シートコピー
と数式表示 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 260
126 シートを開くとシート選択 InputBox を開き、対象シートをコピーして
数式表示する ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・261
contents :
2000/1/31 (15:12)
目次
11章 日付計算、列番号変換、数式入力、セルポインタ移動制限、
セル保護、
ふりがな
127 DateAdd 関数による日付計算のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 263
128 数字の列番号を文字の列番号に変換する関数プロシージャ ・・・・・・・・・・・・・・・・・・265
129 数字の列番号を文字の列番号に変換する関数プロシージャのテスト ・・・・・・・ 266
130 Address メソッドによる数字の列番号を文字の列番号に変換する関数
プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・267
131 Address メソッドによる数字の列番号を文字の列番号に変換する関数
プロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 269
132 行列変更対応の入力範囲の右端で左端に折り返すプロシージャ ・・・・・・・・・・・・・270
133 CurrentRegion を使った行列変更対応の入力範囲の右端で左端に折り返す
プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・273
134 ワークシート“ 営業所予算計画書 ”のデータセルのみ保護を解除して
入力可能とし書式、数式を設定するモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・277
135 ワークシート“ 営業所予算計画書 ”のセル移動方向を設定するモジュール ・・・・・280
136 セル範囲可変のワークシート“ 営業所予算計画書 ”の書式、数式を
設定するモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 280
137 予算計画書のテンプレート作成モジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 283
138 セル移動範囲を限定した予算計画書のテンプレート作成モジュール ・・・・・・・ 284
139 行数を可変にしたセル移動範囲を限定した予算計画書のテンプレート
作成モジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 286
140 漢字が入力されている列のふりがな表示非表示セレクト ・・・・・・・・・・・・・・・・・・・・ 287
141 漢字が入力されている列の右側に、ふりがな列を加えるプロシージャ ・・・・・289
142 ふりがな列を削除するプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・291
143 漢字が入力されている列の右側に列を加え、ふりがな関数を入力する
プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・292
定数の型変換、
12章 各種罫線と外枠、
Array関数、
罫線カラー
For∼Eachによる配列/セル/行スキャン、
144 アクティブなセル範囲に実線の罫線を引く ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 295
145 罫線描画のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・297
146 アクティブなセル範囲に外枠を引く( 内部消去と内部保存)・・・・・・・・・・・・・・・・・299
29
contents :
30
2000/1/31 (15:12)
目次
147 外枠描画のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・300
148 引数のセル範囲に実線の罫線を引く ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・302
149 引数のセル範囲に実線の罫線を引くテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 303
150 引数のセル範囲に実線の外枠を引く ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・305
151 引数のセル範囲に実線の外枠を引くテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 306
152 線種指定の罫線描画プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 307
153 線種を変えた罫線描画テスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・308
154 Array 関数と For∼Each による配列スキャンを使った罫線テスト、
定数の型変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・311
155 罫線テスト用のデータシート作成と VBA の定数のセル入力テスト ・・・・・・・・・313
156 ワークシートの全データセルスキャンによる罫線テスト ・・・・・・・・・・・・・・・・・・・・ 315
157 ワークシートのデータ行スキャンによる罫線テスト ・・・・・・・・・・・・・・・・・・・・・・・・・・316
158 線種指定の外枠描画プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 317
159 線種指定の外枠描画プロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 318
160 セル内部の RGB カラーの基本 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・320
161 セル内部の 16 進カラーの基本 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・322
162 パレット番号カラーの基本 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 323
セル枠線/セル内部カラー、
カタカナふりがな、
13章 文字カラー、
中間色、
Enumカラー定数
163 文字カラーの基本 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・325
164 セル枠線カラーの基本 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 327
165 アクティブセルに色指定の罫線を引く ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 328
166 色指定罫線のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 329
167 ふりがな列と着色列の作成 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 332
168 カタカナふりがな列のひらがなへの変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・334
169 カタカナふりがな列の半角カタカナへの変換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 335
170 中間色コードテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 337
171 Enum 宣言による RGB 定数 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 338
172 Enum 宣言による RGB 定数のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・340
173 セルクリアと枠線、罫線消去のクラス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 342
contents :
2000/1/31 (15:12)
目次
174 カラー Enum 定数とセル枠/セル内部/外枠/文字の着色メソッドのクラス ・・・・・ 344
175 罫線消去、枠線、カラーのクラスのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 345
176 カラー罫線のクラス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 349
177 カラー罫線のクラスのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・349
178 カラー外枠のクラス ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 351
179 罫線とカラー外枠のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 352
180 Enum 定数を使った文字色テスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・354
181 データ入力セルの色区分 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・356
数値/数式区分、
データ抽出、
14章 行列変換、
Fillメソッド、
抽出行数カウント
領域とAreas、
182 行と列の交換 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・359
183 Fill ステートメントのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・360
184 数値セルと数式セルを区分して色を変える ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 362
185 “ 帳票送付控え”から“ テスト用”にコピーし“ 横浜”のレコードを抽出する ・・・・・・ 365
186 “ 帳票送付控え ”から“ テスト用 ”にコピーし“ 横浜 ”と“ 名古屋 ”の
レコードを抽出する ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 367
187 “ テスト用 ”シートに抽出した行を“ 抽出結果 ”シートにコピーする ・・・・・・ 368
188 領域と Areas のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・370
189 可視領域と Areas のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・373
190 引数で渡したセル範囲を含む使用領域に表示されている行数を返す関数 ・・・・・・ 377
191 引数で渡したセル範囲を含む使用領域に表示されている行数を返す関数
のテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 378
192 “ 帳票送付控え ”から“ テスト用 ”にコピーし、InputBox で選択した
セルの項目の行を抽出する ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 380
ソートのクラスモジュール、
15章 昇順/降順ソート、
重複レコードの削除、
ワークシート関数
193 昇順ソートプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・383
194 昇順ソートプロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 384
195 見出しのないワークシートの昇順ソートプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・ 386
31
contents :
32
2000/1/31 (15:12)
目次
196 見出しのないワークシートの昇順ソートプロシージャのテスト ・・・・・・・・・・・・・387
197 降順ソートプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・388
198 降順ソートプロシージャのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 389
199 見出しのないワークシートの降順ソートプロシージャ ・・・・・・・・・・・・・・・・・・・・・・・ 390
200 見出しのないワークシートの降順ソートプロシージャのテスト ・・・・・・・・・・・・・391
201 見出し付きシートの昇順ソートのクラスモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・392
202 見出し付きシートの昇順ソートのクラスモジュールのテスト ・・・・・・・・・・・・・・・ 394
203 重複レコードの削除 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 396
204 ワークシート関数テストのシートモジュール ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 397
(シェイプ )
、
コンボボックスの配置と設定、
16章 テキストボックス
コンボボックスからセルへのデータ移動
205 アクティブなシートの左上にテキストボックスを配置する ・・・・・・・・・・・・・・・・・・405
206 アクティブなシートの左上に縦書きテキストボックスを配置する ・・・・・・・・・・ 407
207 アクティブなシートに n 番目のテキストボックスを配置するプロシージャ ・・・・408
208 アクティブなシートに 1 番目のテキストボックスを配置するプロシージャ ・・・・409
209 アクティブなシートに n 番目の縦書きテキストボックスを配置する
プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・410
210 アクティブなシートに 2 番目の縦書きテキストボックスを配置する
プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・411
211 アクティブなシートにあるテキストボックスをチェック ・・・・・・・・・・・・・・・・・・・・・412
212 アクティブなテキストボックスの位置とサイズを変えるプロシージャ ・・・・・415
213 テキストボックスの位置とサイズを変えるプロシージャを使ったアクティブ
なシートに 1 番目のテキストボックスを配置するプロシージャ ・・・・・・・・・・・・ 416
214 テキストボックスの位置とサイズを変えるプロシージャを使ったアクティブ
なシートに 2 番目のテキストボックスを配置するプロシージャ ・・・・・・・・・・・・ 417
215 使い方説明のテキストボックスを表示 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 418
216 コンボボックスからセルへのデータ移動 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・419
217 コンボボックスからセルへ移動したデータの転送イベントプロシージャ ・・ 422
218 [ 帳票名]コンボボックスからセルへのデータ移動 ・・・・・・・・・・・・・・・・・・・・・・・・・・・423
contents :
2000/1/31 (15:12)
目次
17章 コマンドボタン、データ抽出、オプションボタン、チェックボックス、
スピンボタン、
リストボックス、Findメソッド、ランチャ
219 コマンドボタン、抽出状態の解除 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 427
220 オプションボタンによる範囲指定の回収率の抽出 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 429
221 チェックボックスと回収率のコピーとソート ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・432
222 スピンボタンで範囲を指定する回収率の抽出 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 434
223 リストボックスによる庁舎所在地サーチ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・437
224 リストボックスによる都道府県名サーチ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・439
225 抽出したデータ中のリストボックスで選択した地区数をカウントする ・・・・・440
226 リストボックスで選択した地区をマーキングする
( Find メソッドと FindNext メソッドによるサーチ)・・・・・・・・・・・・・・・・・・・・・・・・・ 445
227 リストボックスによるマクロランチャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 449
ユーザーフォーム、
18章 InputBox関数、
IMEモード、
モードレス、
コンボボックス
Filter関数、
228 UserForm による入力 Box との比較のための InputBox 関数テスト ・・・・・・・・ 453
229 IME モードのモニタがある文字列入力用ユーザーフォーム ・・・・・・・・・・・・・・・・・・454
230 IME モードのモニタがある文字列入力用ユーザーフォームによる入力テスト ・・・・・・457
231 Filter 関数と文字列入力用ユーザーフォームによるデータ抽出テスト ・・・・・・460
232 IME 切り替え付き文字列取得ユーザーフォーム ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・464
233 IME 切り替え付き文字列取得ユーザーフォームのテスト ・・・・・・・・・・・・・・・・・・・・ 467
234 モードレスで使え移動方向が選択できる IME 切り替え付き文字列取得
ユーザーフォーム ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・469
235 モードレス/移動方向選択の IME 切り替え付き文字列取得ユーザー
フォームのテスト ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・472
236 コンボボックスのリストデータで入力できるユーザーフォーム ・・・・・・・・・・・・・474
237 コンボボックスのリストデータで入力できるユーザーフォームのテスト ・・・・・・ 477
33
contents :
34
2000/1/31 (15:12)
目次
19章 印刷と印刷プレビュー、
Wait案内フォーム、
指定ページ印刷、
列幅統一、
横方向縮小印刷
238 印刷と印刷プレビューテストのための面積換算表作成 ・・・・・・・・・・・・・・・・・・・・・・・ 479
239 面積換算表の手操作設定による印刷プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 482
240 面積換算表の手操作設定による印刷プレビュープロシージャ ・・・・・・・・・・・・・・・ 484
241 InputBox で範囲を設定する印刷プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・485
242 InputBox で範囲を設定する印刷 Preview プロシージャ ・・・・・・・・・・・・・・・・・・・・・・486
243 ページ設定/復元用 Wait 案内フォーム ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・487
244 面積換算表印刷プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・488
245 面積換算表印刷 Preview プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・490
246 指定ページのみを印刷するためのユーザーフォーム ・・・・・・・・・・・・・・・・・・・・・・・・・・492
247 ユーザーフォームを使った指定ページ印刷 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 494
248 選択したセルの右以降の列幅を選択したセルの列幅に変えるプロシージャ ・・・・ 497
249 現在のプリンタ設定を保存/復元して A4 用紙横方向に縮小印刷する ・・・・・ 499
グラフシート削除、
20章 グラフシート作成、
埋め込みグラフ作成、
グラフの印刷
250 確認メッセージなしでグラフシートを削除 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 503
251 グラフシート作成プロシージャ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 504
252 埋め込みグラフの削除 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 507
253 埋め込みグラフの作成 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 507
254 位置とサイズを指定した埋め込みグラフ作成 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 509
255 データの行列を変換したグラフ作成 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・511
256 埋め込みグラフの印刷 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 512
索 引 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 515
Fly UP