![]() 変数について | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'@変数の種類 '以下に、良く利用する変数の一覧を表にします。
'注 1. なお上記以外に、バイト型,ブール型,通貨型,10進型, ' オブジェクト型,ユーザー定義型などがあります。 'A変数の宣言方法 'プロシージャの中で変数を宣言 '(変数の有効範囲は、そのプロシージャの中) Dim a As Integer '※ 1 Static b As Integer '※ 2 'モジュールの先頭で変数を宣言 Public c As Integer '※ 3 Private d As Integer '※ 4 '注 2. 例では、a を整数型として定義しています。なお基本的 ' に、変数宣言は変数を使用する前にしなくてはいけませ ' ん。また宣言した時点で、変数は自動的に初期化され、 ' すぐに使用可能な状態になります。 '注 3.なおプロシージャとは、Sub や Function で始まり ' End Sub や End Function で終了するマクロの事です。 ' またモジュールとは、主にプロシージャの集まりです。 '注 4. 同一型の変数を 2つ以上宣言する場合、 ' Dim a, b, c As Integer の様にカンマで区切って ' まとめて宣言することも可能です。 '※ 1. 変数に格納されるデータは、プロシージャ実行後に ' 破棄されます。 '※ 2. 変数に格納されるデータは、プロシージャ実行後も ' 保持されます。 '※ 3. 変数の有効範囲は、そのブック内の全モジュール、 ' つまりブック内の全プロシージャになります。 '※ 4.変数の有効範囲は、そのモジュール内の全プロシージャ ' になります。 'B変数に値を代入 '以下 3 行は、変数宣言 Dim e, f As Integer Dim AA As String Dim 日付 As Date '以下 4 行それぞれで、値を代入 e = 5 AA = "日本" '※ 5 日付 = Day(Now()) '※ 6 f = e '注 5. 代入に用いる = は、= の両側が等しいと言う意味 ' ではなく、= の右側の値を、= の左側に代入する意味 ' になります。よって上記の場合、e に 5 が代入され、 ' AA に 日本 、日付 に 現在の日付、f に e と同じ値 ' の 5 が代入されます。 '注 6. 変数の型を無視して、値を代入すると、その行でエラー ' になってしまいます。つまり、上記の場合 e = "Japan" ' と文字列を代入すると、エラーになります。 '注 7.Aのような変数宣言をせずに、変数に値を代入する時点 ' で、変数の型を宣言できます。つまり、整数型の場合は ' e% のように記述して、すぐに値を代入できます。(例: ' e% = 3)なお整数型の % 以外には、長整数型の &、 ' 単精度浮動小数点数型の !、倍精度浮動小数点数型の ' #、文字列型の $があります。 '注 8.変数の名前において、同一プロシージャ内で、型の異 ' なる同一名の変数を宣言してはいけません。また、 ' Dim a as Integer と記述した後に、a$ と言う風に、 ' 文字列型で記述した場合も、同一名の宣言と見なされ ' る為、エラーになります。また、上記の 日付 の様に ' 半角英数以外の 2 バイト文字(全角文字)も使用 ' 可能です。 '※ 5. 変数に文字列を代入する場合、文字列の前後を " で ' くくって下さい。 '※ 6. Now()は、現在の年月日と時刻を取得します。またDay() ' は、カッコ内のデータから、日付の部分を取り出して、 ' 数値型に型を変換します。他にも年の Year() や月の ' Month() や曜日の Weekday() や時間の Hour() や ' 分の Minute() や秒のSecond() があります。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 演算子について | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'演算子は大別すると、算術演算子、比較演算子、文字列 '連結演算子、論理演算子の 4 種類があります。 '@算術演算子 '数値を加減乗除します。 Dim a, b As Integer Dim c As Single a = 10 b = 2 c = a + b + 1 '加算 (c には 13 が格納) c = a - 2 - b '減算 (c には 6 が格納) c = a * b * 3 '乗算 (c には 60 が格納) c = a / b / 2 '除算 (c には 2.5 が格納) c = a ^ 2 ^ b 'べき乗 (c には 10000 が格納) c = a Mod 3 '剰余 (c には 1 が格納) c = a \ 3 '整数の商(c には 3 が格納) 'A比較演算子 '2 つの数値を比較します。 Dim d, e As Integer Dim f As Boolean d = 10 e = 2 f = e < d '右より左が小さい( f には Trueが格納) f = e <= 2 '以下 ( f には Trueが格納) f = e > d '右より左が大きい( f にはFalseが格納) f = e >= 3 '以上 ( f にはFalseが格納) f = d = 10 '等しい ( f には Trueが格納) f = d <> 10 '等くない ( f にはFalseが格納) 'B文字列連結演算子 '文字列を連結します。以下の場合 CC に 東京都練馬区 と 'いう文字列が代入されます。 Dim AA, BB, CC As String AA = "東京都" BB = "練馬区" CC = AA + BB '又は、 CC = AA & BB '注 1. AA="12"、BB = "4"として上記の様に記述すると ' & 、+ のどちらを用いても CC には、124 という ' 文字列が格納されます。 'C論理演算子
'現在作成中です。m(_ _)m | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 条件付きの実行_If | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'@特定の単一条件に合致するかどうかを調べ、合致した場合 'だけ処理を行う。 '例では、現在の曜日が、日曜日かどうかを調べ、日曜日 'ならマクロを終了させる処理を行います。 Dim a As Integer a = WeekDay(Now()) '現在の曜日を数値で取得 If a = 1 Then 'もし a が 1 の場合 ' (日曜日の場合) Exit Sub 'マクロを終了させます End If '又If以降は、以下の様に記述してもokです。 If a = 1 Then Exit Sub '一行で記述する場合 ' End If は不要 'A特定の単一条件に合致するかどうかを調べ、合致 'した場合としない場合で異なった処理を行う。 '例では現在の月から、年度を計算します。つまり '1 〜 3 月は、現在の(年 - 1)年度になります。 Dim b, c As Integer b = Month(Now()) '現在の月を取得 c = Year(Now()) - 1988 '現在の和暦を取得 If b >= 4 Then '月が4月〜12月の場合 MsgBox "今月は、平成" & c & "年度。" Else '月が1月〜3月の場合 MsgBox "今月は、まだ平成" & c - 1 & "年度。" End If 'B複数の条件で評価する場合 '例では現在の日付から、月初め、月中、月末、その他 'を判断します。 Dim d As Integer Dim BB As String d = Day(Now()) '現在の日を取得 If d >= 1 And d <= 5 Then '1日〜5日は、月初め BB = "月初め" ElseIf d >= 12 And d <= 17 Then '12日〜17日は、月中 BB = "月中" ElseIf d >= 27 And d <= 31 Then '27日〜31日は、月末 BB = "月末" Else '上記以外の日付は、 ' その他 BB = "その他" End If MsgBox BB '注 1. If はネスト (入れ子) 構造にすることができます。 ' ネスト構造とは、最初のIfで処理を分岐させ、その ' 分岐処理の中で、Ifを再度使用して分岐処理を行う ' ことです。なおネスト構造は、何段もカスケードを ' 重ねて記述可能ですが、段数を増やすほど処理速度 ' が遅くなってしまいます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 条件付きの実行_Case | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'@特定の条件(一対一)に合致するかどうかを調べる。 '例では、現在の曜日が何曜日かを調べます。 Dim a As Integer Dim AA As String a = WeekDay(Now()) '現在の曜日を数値で取得 Select Case a Case 1 MsgBox "今日は、日曜日です。" Case 2 MsgBox "今日は、月曜日です。" Case 3 MsgBox "今日は、火曜日です。" Case 4 MsgBox "今日は、水曜日です。" Case 5 MsgBox "今日は、木曜日です。" Case 6 MsgBox "今日は、金曜日です。" Case 7 MsgBox "今日は、土曜日です。" End Select 'A特定の条件(多対一)に合致するかどうかを調べる。 '例では、現在の月が、春夏秋冬のどの季節にあたるかを 'を調べます。 Dim b As Integer Dim BB As String b = Month(Now()) '現在の月を数値で取得 Select Case b Case 3 To 4 '月が 3 〜 4 の場合、春 BB = "春" Case 7 To 8 '月が 7 〜 8 の場合、夏 BB = "夏" Case 9 To 10 '月が 9 〜10 の場合、秋 BB = "秋" Case 12, 1, 2 '月が12, 1, 2 の場合、冬 BB = "冬" Case Else '上記以外、つまり 11,5,6 ' の場合 BB = "??" End Select MsgBox "今は、" & BB & "です。" '注 1. Select Case は If と同様に、ネスト (入れ子) 構造に ' することができます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ユーザーからの入力 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'InputBox を使用して、ユーザーからの入力値を取得します。 '@ユーザーから文字列を入力してもらう Dim AA As String AA = InputBox("市区町村を入力して下さい。" _ , "市区町村の入力", "東京都") '※ 1 'Aユーザーから数値のみを入力してもらう Dim a As Integer a = Val(InputBox("西暦を入力して下さい。" _ , "数値入力", "2000")) '※ 2 If a = 0 Then Exit Sub '※ 3 '注 1.ユーザーが入力した文字列や数値は、AA や a に格納 ' されます。 '※ 1.左から順に、表示するメッセージ,タイトル,初期値 ' です。なお、表示するメッセージ以外は省略可能です。 ' ただし省略した場合、タイトルは Microsoft Excel ' となり、初期値の方は何も設定されません。 '※ 2.Val を使用すると、ユーザーが間違って全角文字等 ' を入力しても、以降の処理を続行できます。 '※ 3.ユーザーがキャンセルボタンをクリックした場合や、 ' ユーザーが整数ではなく文字等を入力した場合に、 ' マクロを終了させます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() メッセージを表示 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'MsgBoxを使用して、簡単なメッセ−ジを表示したり、ユーザー 'との会話形式処理としても利用できます。 '@単純にメーッセージを表示 MsgBox "処理が終了しました。" _ , vbOKOnly, "確認ウィンドウ" '※ 1 'Aメッセージ + アイコンを表示 MsgBox "予期しないエラーにより、" & _ "マクロを強制終了します。", _ vbOKOnly + vbCritical, "確認" '※ 2 'Bユーザーとの会話形式 '例では、削除対象行をユーザーと会話しながら決定 'します。なお、ユーザーがキャンセルした場合、 'マクロを終了させます。 Dim a, b As Integer a = MsgBox("1行目を削除します。よろしいですか?" _ , vbYesNoCancel, "対象行") '※ 3 If a = 6 Then 'ユーザーが「はい」 ' を選択した場合 Rows("1").Delete Shift:=xlUp ElseIf a = 7 Then 'ユーザーが「いいえ」 ' を選択した場合 b = Val(InputBox("削除対象行を数値で" & _ "入力して下さい。", "数値入力", "1")) If b = 0 Then Exit Sub Rows(b).Delete Shift:=xlUp Else 'ユーザーが「キャンセル」 ' を選択した場合 MsgBox "処理はキャンセルされました。" _ & "マクロを終了します。" Exit Sub End If '注 1. MsgBoxで使用可能なボタンの種類は、以下の通り。 ' [OK]のみの vbOKOnly,[OK]と[キャンセル]の ' vbOKCancel,[中止]と[再試行]と[無視]の ' vbAbortRetryIgnore,[はい]と[いいえ]と ' vbYesNo,[はい]と[いいえ]と[キャンセル]の ' vbYesNoCancel,[再試行]と[キャンセル]の ' vbRetryCancel '※ 1.左から順に、表示するメッセージ,表示するボタン等の ' 種類,メッセージウィンドタイトルです。 ' なお、表示するメッセージ以外は省略可能です。ただし ' 省略した場合、タイトルは Microsoft Excel となり、 ' 表示するボタンは ok ボタンになります。 '※ 2.設定可能なアイコンは、警告のvbCritical, ' 問い合わせのvbQuestion,注意のvbExclamation, ' 情報のvbInformation の4種類があります。 '※ 3. aには、ユーザーが選択したボタンの種類が数値として ' 格納されます。ボタンの種類は、7種類あり、1:[OK], ' 2:[キャンセル],3:[中止],4:[再試行],5:[無視], ' 6:[はい],7:[いいえ]です。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ループ処理 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'@Forを使用した通常ループ '以下の例では、コンピュータの警告音を 13 回に設定 'します。For を使用する場合、カウンタ変数 a と、その '開始値(1)および終了値(13)を指定します。その後 Next 'の行で、カウンタ変数 a が 1ずつ増加されます。 Dim a As Integer For a = 1 To 13 Beep '警告音(ビープ音)を鳴らす Next a 'AForを使用した変則ループ '以下の例では、カウンタ変数 b は、2 から始まり 2 ずつ '加算され 10 まで繰り返されます。つまり2、4、6、8、10 'の 5 回ループ処理が行われることになります。 Dim b, c As Integer For b = 2 To 10 Step 2 c = c + j '※ 1 Next b MsgBox "合計値 " & c 'c は、30 になります 'BFor Each...Nextを使用したループ '以下の例では、全シートにシート保護をかけます。 'つまりループの回数は、シート数と常に同じ数になります。 Dim BB As String Dim CCC As Variant For Each CCC In Sheets '全シートについて評価 BB = CCC.Name 'シート名を取得 Sheets(BB).Protect Password:=pw, _ DrawingObjects:=True, Contents:=True, _ Scenarios:=True 'シートを保護 Next CCC 'CDo While...Loopを使用したループ '以下の例では、入力用ウィンドウを表示させて、ユーザーに 'シート名を入力してもらい、その名前が実際のシート名と '合致するか、ユーザーがキャンセルするまで、入力用 'ウィンドウを表示させ続けます。なお Do While は、 '指定条件を満たすまで、ループ処理を継続させたい場合に '使用します。 Dim d As Integer Dim CC As String Dim EEE As Variant Do While d <> 99 '※ 2 CC = InputBox("シート名を入力して下さい。" _ & " 例:シート00", "シート名入力") If CC = "" Then Exit Sub '上でキャンセル ' を選んだ場合 For Each EEE In Sheets '全シート名と入力 ' された値を比較 If EEE.Name = CC Then d = 99 '※ 3 Next EEE If d <> 99 Then '※ 4 MsgBox "入力したシート名は存在しません!" End If Loop '注 1. @〜Bで Exit For を使用すると、カウンタが終了値に ' なる前に、ループ処理を終了できます。 ' 例えば、エラーの為にループを抜けなければならない ' 場合、エラーチェックに If や Select Case を利用 ' し、特定条件を満たしたら、Exit For を使用します。 '注 2. Cで Exit Do を使用すると、注 1 と同様にループ処理 ' を途中で終了する事ができます。 '※ 1. この行では、前回の c の値にカウンタ変数 b が毎回 ' 加算されます。つまり1回目は 0+2で2、2回目は ' 2+4で6、3回目は 6+6で12、4回目は 12+8で20、 ' 5回目は 20+10で30 になります。 '※ 2. d が 99 になるまで、ループ処理を継続させます。なお ' Do を使用したループ処理は、For の場合と異なり用意 ' されたカウンタ変数がありません。その為 d がループ ' 回数に応じて、自動的に増加する事はありません。また ' Do While の代わりに、Do Until を使用することが ' できます。その場合、<> の箇所を = に変更して、 ' お使い下さい。 '※ 3. 入力したシート名と合致するシートが、見つかった場合 ' d に 99 を代入します。また CC には、シート名が格納 ' されます。 '※ 4. 入力したシート名と合致するシートが、見つからない ' 場合に、エラーメッセージを表示させます。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 変換関数 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'注 1. なお、上記関数の使用方法は、Format関数を除いて ' 関数名(代入値) つまり Str関数では、Str(459) ' となります。 '※ 1. 代入値は、変換されるデータ型の範囲を超えると ' エラーになります。 '※ 2. 使用方法は、 ' Format(代入値,書式) ' となり、書式 には、定義済み書式または ' 表示書式指定文字を指定します。つまり ' Format(5459.4, "##,##0.00") ' ならば変換後の値は "5,459.40" となります。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 配列について | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'1 つの変数には、1 つの値しか格納しできませんが、 '配列ならば複数の値を格納する事ができます。これを '通常の変数だけで処理する場合、格納する値の数だけ '変数を使用しなくてはなりません。 '@格納する値の数と型が決まっている場合(静的配列) 'a.一次元配列(通常の配列) '宣言方法 Dim aaa(1 To 4) As Integer '※ 1 '値の代入(以下では、2〜8までの偶数を代入) aaa(1) = 2 aaa(2) = 4 aaa(3) = 6 aaa(4) = 8 '又は Dim b As Integer For b = 1 To 4 '※ 2 aaa(b)=b*2 Next b 'b.二次元配列(シートのセル値を参照する場合等) ' VBAでは、最大 60 次元までの配列を宣言可能です。 '宣言方法 Dim bbb(1 To 3, 1 To 2) As String '※ 3 '値の代入 bbb(1, 1) = "a" bbb(1, 2) = "b" bbb(2, 1) = "aa" bbb(2, 2) = "bb" bbb(3, 1) = "aaa" bbb(3, 2) = "bbb" '又は Dim c, d As Integer Dim e As String For c = 1 To 3 For d = 1 To 2 If c = 1 Then If d=1 Then bbb(1,1)="a" Else bbb(1,2)="b" Else bbb(c, d) = bbb(c - 1, d) & bbb(1, d) End If Next d Next c 'A格納する値の数を後で変更する場合(動的配列) 'a.格納済みの値を破棄して変更 '要素数を16→9に変更 Dim ccc(15) As Long ReDim ccc(8) As Long '要素数を8→15に変更 Dim ccc(2 To 9) As Integer ReDim ccc(2 To 16) As Integer '変数を利用して要素数を変更 Dim ddd() As Long Dim n ,p As Integer n=5 p=10 ReDim ddd(1 To n, 1 To p) As Long 'b.格納済みの値を保持して変更 '※ 4 '要素数を6→9に変更 Dim ccc(5) As Long ' ∫ '値代入 ' ∫ ReDim Preserve ccc(8) As Long '或いは Dim ccc(1 To 6) As Long ' ∫ '値代入 ' ∫ ReDim Preserve ccc(1 To 9) As Long '変数を利用して要素数を変更 Dim ddd(1 To 2, 1 To 3) As Long ' ∫ '値代入 ' ∫ Dim n As Integer n=5 ReDim Preserve ddd(1 To 2, 1 To n) As Long '注 1. 配列の一つ一つを構成するもの(変数)を、要素と ' 呼び、各要素を表す数字をインデックス番号と ' 言います。なおインデックス番号は、連続した整数 ' でなくてはなりません。 '注 2. 配列では、インデックス番号ごとにメモリ領域が ' 確保されるので、必要以上に大きな要素数や型の ' 配列を宣言しないようにしましょう。 '注 3. 3 次元以上の配列は、2 次元と同じ方法で宣言 ' できます。例:Dim aaa(3, 10, 15) '注 4. 動的配列では、ReDimを使用して配列の要素数や ' 次元数を何回でも変更できます。また値の代入 ' 方法は、静的配列と同じなので省略しています。 '※ 1. 宣言する型は、何でも構いませんし、型を宣言 ' しなくてもOKです。又 Dim aaa(3) As Integer ' と宣言した場合は、インデックス番号が 1 から ' ではなく 0 から始まるため、要素数が4個の配列 ' を表しています。 '※ 2. For を使用したループの使用方法については、 ' ループ処理を参照。なお、ループを利用せずに ' 配列を使用するのは大変困難ですので、ループ ' 処理の使用をお勧めします。 '※ 3. 宣言する型は、何でも構いませんし、型を宣言 ' しなくてもOKです。又 Dim bbb(2, 1) As String ' と宣言した場合は、要素数が 0〜2 × 0〜1 = 6 ' 個の配列を意味します。 '※ 4. 多次元の配列では、最後の次元の上限値のみ変更 ' できます。例:aaa(1 To 3, 1 To 4, 1 To 5) の ' 場合は、最後の5のみが変更可能。なお Preserveを ' 使用すると、次元数やデータ型の変更はできません。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() エラー処理 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
'ファイルの読み取りエラーや、保存先ディスク容量の不足 'など避けられないエラーの為、マクロが停止してしまう事 'があります。また利用する側に立ってマクロを作成するよう '心がけていても、予想外の方向へ処理が分岐してしまい 'マクロが停止すると言った事も少なくないでしょう。 'このような場合、エラー処理という手法を利用すれば '便利です。 'エラー処理を利用するには、On Error 〜と言う行を追加し、 '別途エラーに対する処理を記述します。以下に解説します。 '@エラーが発生しても、エラーを無視し処理を続行する場合 'On Error Resume Next の行から End Sub 間の記述で 'エラーが発生しても、エラーが発生した行を無視し、 'エラーが発生した行の次の行からマクロ処理を継続します。 '単体で利用する事はあまりありませんが、Aと併用 'すると便利です。 On Error Resume Next '∫ 処理内容 End Sub 'Aエラー発生時に特定の処理を行う場合 'On Error GoTo ○△□ の行から Exit Sub 間の記述で 'エラーが発生した場合、○△□: へと処理がジャンプし、 '「エラー発生時処理」を行った後、マクロを終了します。 'これは、処理対象シートが存在しない 等のエラーが発生 'する可能性のあるマクロに利用すると便利です。 On Error GoTo ○△□ '∫ 処理内容 Exit Sub ○△□: '∫ エラー発生時処理 End Sub 'On Error GoTo ○△□ の行から Exit Sub 間の記述で 'エラーが発生した場合、○△□: へと処理がジャンプし、 '「エラー発生時処理」を行った後、エラーが発生した行 'から、もう一度マクロ処理を継続します。保存先ディスク '容量の不足等のエラー処理で、「エラー発生時処理」の '部分に、保存先ディスクの変更や、ディスクの入れ替えを '促すような処理を記述すれば便利です。 On Error GoTo ○△□ '∫ 処理内容 Exit Sub ○△□: '∫ エラー発生時処理 Resume End Sub 'On Error GoTo ○△□ の行から Exit Sub 間の記述で 'エラーが発生した場合、○△□: へと処理がジャンプし、 '「エラー発生時処理」を行った後、エラーが発生した行の '次の行からマクロ処理を継続します。 On Error GoTo ○△□ '∫ 処理内容 Exit Sub ○△□: '∫ エラー発生時処理 Resume Next End Sub 'Bエラー処理を全て無効にする 'On Error 〜 で記述した内容を無効にするには、 'On Error GoTo 0 を利用します。直前に記述した 'エラー処理とは異なるエラー処理を行いたい場合にも '利用します。 On Error Resume Next '∫ 処理1 On Error GoTo 0 '∫ 処理2 End Sub '上の記述の場合、処理1でエラーが発生した場合、 'マクロは停止せず続行しますが、処理2でエラーが '発生した場合、マクロは停止してしまいます。しかし '下の記述では、処理1,処理2のどちらでエラーが '発生しても、それぞれのエラー処理が実行されますので、 'マクロは停止しません。 On Error GoTo ○△□ '∫ 処理1 On Error GoTo 0 On Error GoTo ○○○ '∫ 処理2 Exit Sub ○△□: '∫ 処理1でエラー発生時の処理 Exit Sub ○○○: '∫ 処理2エラー発生時の処理 End Sub 'Cエラー内容の確認 'エラー処理では、発生したエラーの種類によって処理を '分岐させるのが一般的です。そこで、どのようなエラーが '発生したかを判別することが重要になってきます。エラー 'の種類を判別するには、Err.Number を利用します。これ 'によりエラー番号(数値)が取得できます。またエラー '番号に対応するエラーメッセージ(文字列)を取得する 'には、Error.Err.Number を利用します。なお、エラー '番号の一覧は、Excel97のVisualBasicEditorの場合、 'ヘルプの「トラップできるエラー」を参照して下さい。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() 応用 T | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
現在作成中です。m(_ _)m |
| トップページへ戻る | ▲このページの先頭へ |