Document

VBAの基本文法
VBAを通して
プログラム言語の基本構造を学ぶ
徳山 豪
東北大学情報科学研究科
システム情報科学専攻
情報システム評価学分野
もっとも簡単なプログラム
Sub myprogram1()
Msgbox “Hello. I love you.”
End Sub
もっとも簡単なプログラム
Sub myprogram1()
プログラム名
Msgbox “Hello. I love you.”
End Sub
メッセージボックスに書き出
す機能
変数の宣言
Sub myprogram2()
Dim x As Integer
x=18
Msgbox x + 1988
End Sub
変数の宣言
Sub yeartrans1()
‘
‘ 平成を西暦に直すプログラム
‘
Dim x As Integer
x=18
Msgbox “平成” & x & “ 年は西暦” & x + 1988
End Sub
変数の宣言
Sub yeartrans1()
コメント文
‘
‘ 平成を西暦に直すプログラム
‘
変数 x を導入。整数値であることを宣言
Dim x As Integer
x=18
Msgbox “平成” & x & “ 年は西暦” & x + 1988
End Sub
複数の要素をメッセージボックス
に繋げて表示
データの入力
Sub yeartrans2()
‘
‘ 平成を西暦に直すプログラム
‘
Dim x As Integer
Dim y As Integer
x= InputBox(“平成の年度を入力しなさい”)
y = x + 1988
Msgbox “平成”& x & “年は西暦” & y & ”年です”
End Sub
データの入力
Sub yeartrans2()
‘
‘ 平成を西暦に直すプログラム
‘
ユーザが入力したものをxとする
Dim x As Integer
Dim y As Integer
x= InputBox(“平成の年度を入力しなさい”)
y = x + 1988
Msgbox “平成”& x & “年は西暦” & y & ”年です”
End Sub
If 文を用いたプログラム
Sub japanyear1()
‘ 西暦に和年号に直すプログラム
Dim x As Integer
x= InputBox(“生まれ年を西暦で入力しなさい”)
If x > 1988 Then
Msgbox “平成” & x-1988 & ”年です”
ElseIf x> 1925 Then
Msgbox “昭和” & x-1925 & “年です”
ElseIf x > 1910 Then
Msgbox “大正” & x -1910 &”年です”
Else
Msgbox “明治のお生まれ、敬老のお祝いを申し上げます”
End If
End Sub
演習問題1
次のようなプログラムを作成しなさい
• InputBoxにテストの点数を入力させる
• 秀、優、良、可、不可の判定をMsgboxに答え
る
• 不可の場合は、「再試験は来月です」という
メッセージを同時に与える。
エクセル表からの入出力
Sub yeartrans3()
‘
‘ エクセルの表で平成を西暦に直すプログラム
‘
Dim x As Integer
セルA1の内容
x= Cells(1,1)
Cells(1,2)= x+1988セルB1に書く
End Sub
繰り返し制御
Sub yeartrans4()
‘ エクセルの表で平成を西暦に直すプログラム
Dim x As Integer
Dim row As Integer
For row = 1 to 20
x= Cells(row,1)
Cells(row ,2)= x+1988
Next row
End Sub
繰り返し制御
Sub yeartrans5()
‘ エクセルの表で平成を西暦に直すプログラム
Dim x As Integer
Dim row As Integer
row = 1
While Cells(row, 1) > 0
x= Cells(row,1)
Cells(row ,2)= x + 1988
row = row +1
Wend
End Sub
演習問題 2
• エクセルの表で、A列に書かれた西暦の年号
を和暦に直してB列に書くプログラムを書く
• 和暦は昭和もしくは平成
• 昭和元年より前の場合は「入力ミス」と書く