| 「VBAトップへ」 | |
| 1 プロシージャの連携とユーザー定義関数 | |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
サブルーチンとは? [Subrouttine] 利点:プロジャが読みやすくなる,デバッくしやすくなる,サブルーチンでほかのプロジャと共有できる、マクロが共有し易くなる。 |
|
プロジャの共通化を柔軟にし合理的に部品化できる 引数付きサブルーチンの特徴 1 引数名は一致しなくてもよいが、引数の個数は 一致させる 2 引数の順番は合わせる(但し名前付引数時は順不同可能です 例 名前付引数:= data) Sub Test1_1() Dim TpName As String TpName = InputBox("誕生日を入力して下さい", "Test1_1") If IsDate(TpName) Then Call Test1_1Sub(CDate(TpName)) Else MsgBox "入力Dataが違います 終了": Exit Sub End If End Sub Sub Test1_1Sub(TpName As Date) MsgBox Format(TpName, "gg(ee): yyyy年mm月dd日(aaaa)生まれ") & vbCrLf & _ " " & Fix(Year(Date) - Year(TpName)) & " 歳です" End Sub |
|
Calステートメントを使ってプロシージャ呼び出しを明示する---明示的に使用(省略可能) 参照設定で他のブックのプロシージャを呼び出す---Callステトメントを他のBookを参照のとき設定 Runメソッドで他のブックのプロシージャを呼び出す 参照設定必要なし 呼出し例 Application.Run "'C:\TpFod\DatFold\'Tembook.xls!Sample",Op1,OP2 |
|
他のモジュールにあるプロシージャを呼び出せなくする ---> Plaivateキーワード |
|
|
Exit SubステートメントとEndステートメント Endステートメントのもう1つの機能--- End ステトメントはすべての変数を初期化(Pubricを含む) |
|
プロシージャの種類 --->3個( Sub Function Property) Functionプロシージャの役割 値を返す( 関数) Functionプロシージャを作成する |
|
引数が1つのユーザー定義関数 引数が複数のユーザー定義関数 ユーザー定義関数の制約 セルの挿入、削除、書式設定 セルの値の変更 シートObject変更(名前削除移動) 計算方法、画面表示変更 ユーザー定表関数を自動再計算関数にする --->Volatileメソード Function MyFunction(Ni as Integer) Application.Volatile Activecell(,0).value* Ni end Fanction |