合計を出す |
Sub 計算() Dim tanka As Integer Dim kazu As Integer Dim goukei As Integer tanka = Range("A1").Value kazu = Range("B1").Value gukei = tanka * kazu Worksheets("注文").Select Range("C1").Value = goukei End Sub |
メッセージを出す MsgBox |
Sub メッセージボックス()
MsgBox ”表示します” End Sub |
メッセージを出し「OK」「キャンセル」の選択肢を出す |
Sub メッセージボックス()
Dim sheet As Integer MsgBox ”切り替えますか?”, vbOKCancel If sheet = vbOK Then Worksheets("結果").Select End If End Sub |
メッセージに任意の文字及び変数を表示 |
Sub メッセージボックス()
Dim kazu As Integer kazu = Range(”A1”).Value MsgBox ”入力したのは" & kazu & ”個です” End Sub |
入力フォーム InputBox |
Sub 商品名() Dim kazu ’宣言のみを行うと文字、数値にも対応 kazu = InputBox(”単価を入力” , ”注文書作成”) Range("A1") = kazu End Sub
|
条件が合えばメッセージを表示 If~Then |
Sub 合格()
Dim goukei As Integer Worksheets(”テスト”).Select goukei = Range(”A1”).Value If goukei >=200 Then ’200点以上なら合格 MsgBox ”合格です" Else MsgBox ”不合格です” ’それ以外なら不合格 End If End Sub |
分岐が多い場合 Select~Case |
Sub 合格()
Dim ten As Integer Dim class As String Worksheets(”テスト”).Select ten = Range(”A1”).Value Select Case ten Case Is >=95 ’95点以上ならAクラス class =”Aクラス” Case Is >=85 class =”Bクラス” ’85点以上ならBクラス Case Else class =”通常クラス” ’それ以外なら通常クラス End Select MsgBox class End Sub |
指定した回数分の処理を行う For~Next |
Sub テスト() Dim kai As Integer Dim kamoku As Integer Dim gakka As String Worksheets(”テスト”).Select Range("A2").Select For kai = 1 To 3 ’3回だけ処理をする kamoku = ActiveCell.Value ActiveCell.Offset(-1,0).Select gakka = ActiveCell.Value MsgBox gakka & kamoku & ”点です” ActiveCell.Offset(1,1).Select Next kai End Sub
|
指定した条件が達成するまで処理を繰り返す Do Until~Loop |
Sub テスト() Dim kai As Integer Worksheets(”テスト”).Select Range("A2").Select Do Until ActiveCell.Value = ”” ’空白になるまで処理を続ける kai = ActiveCell.Value MsgBox kai & ”点です” ActiveCell.Offset(0,1).Select Loop End Sub |
ワークシートをコピー |
Sub テスト()
|
セルをコピー |
Sub コピー() Range(”A1").Select Selection.End(xlDown).Select Selection.End(xlToRight).Select Range("A2:" & ActiveCell.Address).Copy ’A2から右に最後を選択 Range("A5").PasteSpecial ’コピーしたセルを貼り付け Application.CutCopyMode = False ’コピーモードを解除 End Sub |
パスワードを入力 For~Next If~Then |
Sub パスワード() Dim pass As String
Dim owari As Integer owari = 0 ’変数(owari)に0を代入
For kai = 1 To 3 ’カウンタ変数(kai)初期値1を代入 3回まで処理を繰返 If pass =”123” Then ’PWが「123」と正しく入ったら owari =1 ’変数(owari)に1を代入 それ以外は「Else」 Exit For ’For~Nextを抜けてIFへ Else MsgBox ”PWが違います” End If Next kai ’変数(kai)に+1を代入しFor kaiに戻る If owari = 0 Then ’変数(owari)が0と一致なら次の行、それ以外「Else」 MsgBox ”終了します” Else ’2つ目のIFが一致しない場合は実行
MsgBox ”結果表を表示” |
ANDとORの使い分け |
Kが5でMが8のとき If K=5 AndAlso M=8 Then Kが5かMが8のとき If K=5 Or Else M=8 Then |