VBA H106077 寺沢友宏
目次 VBAとは マクロ 変数の書き方 プロシージャの書き方 VBAの分岐命令 セル(範囲)の指定 MessageBox関数 ActiveXコントロールを用いる 課題
VBAとは Visual Basic for Application の略称 Microsoft 社 Office シリーズに搭載され ている プログラミング言語 同社からのVisual Basic派生した言語 マクロを作成するための専用言語 VBAはオブジェクト指向なのですが…
マクロ(マクロについて) マクロとは、Excel・Access 等の定型業務 (操作や計算)を自動的に実行してくれる 便利な機能 マクロを使う利点はいくつかあります。
マクロ(マクロを使う利点) 複数の操作をひとつにまとめれる 例えば、エクセルだと三つのシートに異なる 色を塗るなど セルの内容によって処理を切り替えれる 独自のユーザーインターフェイスが持てる 低コストでアプリケーションの開発ができ る
マクロ(マクロの記録) (注意):セキュリティを中以下に ツール→マクロ→新しいマクロの記録 ツール→マクロ→記録終了
変数の宣言 変数の宣言 Dim 変数名 as 型名 型名…Boolean,Integer,Double,String などなど
変数の宣言 変数名を使う場合の注意 先頭は文字にする。 特殊記号は使わない 。(. ! @ & $ # など)
プロシージャの書き方 Subプロシージャについて Sub プロシージャ名(引数) 処理 End Sub
VBAの分岐命令 If文 If 条件式A Then 条件式A が正しい場合の処理 Else If 条件式B Then どの条件にも当てはまらない場合の処理 End If (注意):ThenはIfと同じ行に書くこと
VBAの分岐命令 Select文 Select Case 条件式 Case 答えA 条件式の答えがAの場合の処理 Case 答えB End Select
VBAの分岐命令 For-Next文 For 変数名 = 初期値 To 終了値 (Step 増減数) 繰り返し処理 Next 変数名
VBAの分岐命令 Do-While文 <前判定処理> Do While 条件 繰り返し処理 Loop <後判定処理> Do Loop While 条件
セルの指定 Rangeプロパティを使って “A5”などの形式でセルを指定 Worksheets("Sheet1") .Range("A5") Cellsプロパティを使って 行番号と列番号でセルを指定 Worksheets("Sheet1") .Cells(1,1)
セル範囲の指定 Rangeプロパティを使って Range(“A5”,”B9”) Range(“A5:B9”) Cellsプロパティを使って Range(Cells(1,1), Cells(4,4))
MESSAGEBOX関数 MessageBox 関数 Dim Ret As Integer ‘変数の宣言 Ret = MsgBox("終了しますか?", vbOKCancel + vbExclamation, "終了確認 ")
ACTIVEXコントロールを用いる ユーザーフォーム
ACTIVEXコントロールを用いる テキストボックスとコマンドボタン
ACTIVEXコントロールを用いる ラベル
課題 課題1 それぞれのボタンをクリックしたら、名前、学 籍、学年を並び替えるプログラムを作る。
課題 課題2 文字(名前など)や数字(学籍など)を空い てるセルに入力させるプログラムを作る。
課題 課題3 成績という項目を作り、成績(S、A、B、C、 、Dの5段階)に応じて色をつけたり(例え ばSなら赤、Aなら緑など)、消したりする プログラムを作る。
課題 課題4 好きなプログラムを作る。
追加のスライド Dim i As Integer For i = 1 To 10 Step 2 繰り返し処理 Next i
補足のスライド プロパティ…オブジェクトがもっている属性の総称 モジュール…一つのかたまりのことで、プログラムの機 能を部分的にまとめたもの プロシージャ…処理の一つのかたまり。 コメントは’
補足のスライド Range(“A1:A2”).Select Selectメソッドの書式 Object.Select
補足のスライド Range(“A1:A2”).Select Selection.AutoFill Destination :=Range(“A1:A12”) の:=は名前付き引数といい。Destinationみたいにあらか じめ名前が決まっているものを名前付き引数という。 AutoFillメソッドの書式 Object.AutoFill(Destination,Type)
補足のスライド
補足のスライド Font.ColorIndex FontオブジェクトのColorIndexプロパティ WorkSheets(“Sheet1”).Range(“A1”).Font ワークシートSheet1のセルA1のフォント つまりWorkSheets(“Sheet1”).Range(“A1”). Font.ColorIndex=5 の意味は?