プロシージャに引数を渡す方法が2種類有る。
ByRef(参照渡し)・・・プロシージャは呼び出し元変数を変更できる。
ByVal(値渡し)・・・プロシージャは呼び出し元変数を変更できない。
参考サイト:https://msdn.microsoft.com/ja-jp/library/cc436524(v=vs.71).aspx
VBA
VBAでのデータ型変換
VBAでデータ型を変換するときは、データ型変換関数を使用する。
型 | 変換 |
---|---|
CBool | ブール型(Boolean)へ変換 |
CByte | バイト型(Byte)へ変換 |
CCur | 通貨型(Currency)へ変換 |
CDate | 日付型(Date)へ変換 |
CDbl | 倍精度浮動小数点実数型(Double)へ変換 |
CInt | 整数型(Integer)へ変換 |
CLng | 長整数型(Long)へ変換 |
CSng | 単精度浮動小数点実数型(Single)へ変換 |
CVar | バリアント型(Variant)へ変換 |
CStr | 文字列型(String)へ変換 |
画面の更新を制御する
VBAで、マクロ実行中に画面の更新を制御する。
画面の更新を停止することで実行速度が速くなる。
Application.ScreenUpdating プロパティ
値
True 画面の更新する
False 画面の更新を停止する
1 2 3 |
Application.ScreenUpdating = False '画面の更新を停止 '[ 処理 ] Application.ScreenUpdating = True '画面の更新を再開 |
ワークシートの表示と非表示
VBAでワークシートを表示や非表示にする場合は「Visible」を使用して行う。
1 2 3 4 5 |
'ワークシートを表示する場合 Worksheets("ワークシート名").Visible = True 'ワークシートを非表示にする場合 Worksheets("ワークシート名").Visible = False |
また、ワークシートが表示状態か非表示状態かを確認する場合は、ワークシートのVisibleの値を確認する。
表示状態の値 「 -1 」
非表示状態の値 「 0 」
プロシージャへの引数の渡し方
呼び出ししたプロシージャへの引数の渡し方は「ByRef」と「ByVal」が有る。
「ByRef」- 参照渡し
「ByVal」- 値渡し
警告メッセージの表示制御する
VBAで、マクロ実行中に警告メッセージの表示を制御する。
Application.DisplayAlerts プロパティ
値
True 警告メッセージの表示をする
False 警告メッセージの表示をしない
1 2 3 |
Application.DisplayAlerts = False '警告メッセージの表示を抑制 '[ 処理 ] Application.DisplayAlerts = True '警告メッセージの表示を再開 |
ワークシートの表示と非表示を行う
VBAで、シートの表示と非表示はVisibleプロパティを使用して行う。
Worksheet.Visible プロパティ
値
True ワークシートを表示する
False ワークシートを表示をしない
ワークシート「Sheet1」を非表示にする場合
1 |
Worksheets("Sheet1").Visible = False |
ワークシート「Sheet1」を表示する場合
1 |
Worksheets("Sheet1").Visible = True |
ユーザの操作で、ワークシートを再表示させたくない場合は「xlVeryHidden」の定数を設定する。
ワークシート「Sheet1」を非表示にする場合
1 |
Worksheets("Sheet1").Visible = xlVeryHidden |
ワークシート「Sheet1」を表示する場合
1 |
Worksheets("Sheet1").Visible = xlSheetVisible |
VBAの定数についてはリンク先のリファレンスを参照して下さい。
https://msdn.microsoft.com/ja-jp/library/jj692807.aspx
ステートメントを複数行の記述する
vbaで1行のステートメントを複数行に分けた方が見やすいことがある。
記述方法は改行したいところでスペース+アンダースコアを入力する。
1行に複数のステートメントを記述する
VBAで1行に複数のステートメントを記述するときはステートメント同士を:(コロン)で区切って記述する
変数宣言をしたときに同時に値を入力するとき
[変数名] : [変数名] = [値]