VBAは、: (コロン)で区切り、1行に複数の式が書ける。
cf.
http://oshiete.goo.ne.jp/qa/4821878.html
Showing posts with label vba. Show all posts
Showing posts with label vba. Show all posts
Wednesday, December 30, 2015
Excel VBA: On Error ...
On Error
On Error GoTo line では、エラーが発生するとlineで指定した行ラベルまたは行番号に処理が移ります。
On Error Resume Next では、エラーが発生するとエラーの発生した次の行から処理を続行します。
On Error Goto 0 は、エラー処理ルーチンを無効にします。
cf.
http://officetanaka.net/excel/vba/statement/OnError.htm
On Error Resume Next では、エラーが発生するとエラーの発生した次の行から処理を続行します。
On Error Goto 0 は、エラー処理ルーチンを無効にします。
cf.
http://officetanaka.net/excel/vba/statement/OnError.htm
Excel 文字列 結合 ダブルクォーテーション
Excel の関数やVBAで、文字列を結合する際には、& で結合する。
例えば、
A1 = "晴天"
B1 = "本日は" & A1 & "なり。"
結果: 本日は晴天なり。
ここで、ダブルクォーテーション " を表示するには、
① Char(34) を使う
② " を 3つ繋げる
という方法がある。ただし、②は値の引用ができない。
例えば、
①
A1 = "晴天"
B2 = "本日は" & Char(34) & A1 & Char(34) & "なり。"
結果: 本日は"晴天"なり。
②
A1 = "晴天"
B3 = "本日は" & """ & A1 & """ & "なり。"
結果: 本日は" & A1 & "なり。
cf:
http://www.relief.jp/itnote/archives/003415.php
例えば、
A1 = "晴天"
B1 = "本日は" & A1 & "なり。"
結果: 本日は晴天なり。
ここで、ダブルクォーテーション " を表示するには、
① Char(34) を使う
② " を 3つ繋げる
という方法がある。ただし、②は値の引用ができない。
例えば、
①
A1 = "晴天"
B2 = "本日は" & Char(34) & A1 & Char(34) & "なり。"
結果: 本日は"晴天"なり。
②
A1 = "晴天"
B3 = "本日は" & """ & A1 & """ & "なり。"
結果: 本日は" & A1 & "なり。
cf:
http://www.relief.jp/itnote/archives/003415.php
Monday, December 23, 2013
VBA 変数の有効範囲と有効期間
①プロシージャレベル
Sub .... End Subまでの範囲。
プロシージャレベル変数の宣言には、Subプロシージャ内でDimまたはStaticを使用する。
DimとStaticの違いは有効期間である。
Subプロシージャ内でDim宣言した場合は、Subプロシージャの実行が終了すると値が失われる。
Static宣言した場合は、Subプロシージャの終了後も保持される。
ただし、参照範囲がSubプロシージャ内に限られているので、他のSubプロシージャから参照することはできない。
Staticは、同じプロシージャを繰り返し呼び出す必要がある場合に、Subプロシージャ内の値を保持したまま呼び出したい時に使う。
②モジュールレベル
モジュール内での宣言、使用。(ユーザフォーム、標準モジュール、クラスモジュール)
モジュールレベル変数の宣言には、Privateステートメントを使用するか、またはモジュール内(Subプロシージャの外)でDimを使用する。
いずれも参照範囲および有効期間は同じ。
各モジュール内では、どのプロシージャからでも参照可能。
モジュール変数は、Subプロシージャが終了しても変数が再定義するまで値が保持される。例えば、ユーザフォームを表示している間は値が保持される。
③プロジェクトレベル
プロジェクトの全体。
変数の宣言には、Publicステートメントを使用する。標準モジュール内で宣言する。
有効期間は、モジュールレベル変数と同じ。
ユーザフォーム内で宣言したプロジェクトレベル変数は、標準モジュール内では参照できない。
Source: Excel VBA コーディング・テクニック 間 顕次 p.167
Sub .... End Subまでの範囲。
プロシージャレベル変数の宣言には、Subプロシージャ内でDimまたはStaticを使用する。
DimとStaticの違いは有効期間である。
Subプロシージャ内でDim宣言した場合は、Subプロシージャの実行が終了すると値が失われる。
Static宣言した場合は、Subプロシージャの終了後も保持される。
ただし、参照範囲がSubプロシージャ内に限られているので、他のSubプロシージャから参照することはできない。
Staticは、同じプロシージャを繰り返し呼び出す必要がある場合に、Subプロシージャ内の値を保持したまま呼び出したい時に使う。
②モジュールレベル
モジュール内での宣言、使用。(ユーザフォーム、標準モジュール、クラスモジュール)
モジュールレベル変数の宣言には、Privateステートメントを使用するか、またはモジュール内(Subプロシージャの外)でDimを使用する。
いずれも参照範囲および有効期間は同じ。
各モジュール内では、どのプロシージャからでも参照可能。
モジュール変数は、Subプロシージャが終了しても変数が再定義するまで値が保持される。例えば、ユーザフォームを表示している間は値が保持される。
③プロジェクトレベル
プロジェクトの全体。
変数の宣言には、Publicステートメントを使用する。標準モジュール内で宣言する。
有効期間は、モジュールレベル変数と同じ。
ユーザフォーム内で宣言したプロジェクトレベル変数は、標準モジュール内では参照できない。
Source: Excel VBA コーディング・テクニック 間 顕次 p.167
Sunday, December 22, 2013
Excel VBAコードを見られないようにする
コードを見られたくない場合には、
VB Editorの
ツール → VBA Projectのプロパティ
→ 保護タブ → プロジェクトを非表示用にロックするにチェック
ここでパスワードを指定する。
VB Editorの
ツール → VBA Projectのプロパティ
→ 保護タブ → プロジェクトを非表示用にロックするにチェック
ここでパスワードを指定する。
Subscribe to:
Posts (Atom)