Presentation is loading. Please wait.

Presentation is loading. Please wait.

情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else

Similar presentations


Presentation on theme: "情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else"— Presentation transcript:

1 情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野

2 数値のデータ型 Byte バイト型 ~255 1バイト Integer 整数型 -32,768 ~ 32,767 2バイト Long
~255 1バイト Integer 整数型 -32,768 ~ 32,767 2バイト Long 長整数型 -2,147,483,648 ~ 2,147,483,647 4バイト Single 単精度浮動小数点型 ±3.4×1038 ~ ±1.4×10-45 Double 倍精度浮動小数点型 ±1.8×10308 ~ ±4.9×10-324 8バイト

3 論理型・文字列型・その他 Boolean 論理型 True, False String 文字列型 Date 日付型
100年1月1日~9999年12月31日 Currency 通貨型 Longより大きな数値を扱える(小数点を含む数値も使える) Variant ユーザ定義型などあらゆる種類の変数に対応できる特別な型,データ型の宣言をしないとVariantになる

4 変数 値を入れておく箱のようなもの 変数の宣言 例:整数の値が入る“x”と言う名前の変数を用意する Dim x As Integer
Integer型の変数xを宣言 Dim name As String String型の変数nameを宣言 黄色の箱は文字の箱 (String型) 水色の箱は整数の箱 (Integer型) name x x1 score abc

5 文字列変数の宣言 Sub myprogram3() Dim name As String name = “徳山”
  Msgbox name & “さん,こんにちは”  End Sub     

6 データの入力 Sub yeartrans3() ‘ 平成を西暦に直すプログラム Dim x1 As Integer
Dim name As String name = InputBox (“あなたの名前は?”) x1 = InputBox(“あなたは平成何年生まれですか?”) x2 = x Msgbox name & “さんは西暦” & x2 & “年生まれです” End Sub     

7 エクセル関数ーIf文 「TRUE」 と「FALSE」での動作選択(Branching, 分岐) 「IF」文を用いたプログラム
IF (判定式, 動作1, 動作2) 判定式がTrue なら動作1を、Falseなら動作2を行う  =IF(論理式,[真の場合], [偽の場合]) 文字列で返す場合は “ ”で囲んで入力 数値の場合は数値のみを入力 論理式又はセル番号

8 エクセル関数ーIf文 >=60 合格 前回作成した成績の「合格」「不合格」の判定 不合格
60点以上は合格,60点未満は不合格 D16 =IF(A1>=60, “合格”, “不合格”) true >=60 合格 false 不合格

9 VBAでは If ~ Then ~ Else 論理式 If 論理式 Then Else End If 真の場合 動作1 偽の場合 動作2

10 成績の合否判定プログラム >=60 合格 入力された成績の「合格」「不合格」の判定を行って下さい 不合格 true false
60点以上は合格,60点未満は不合格 true >=60 合格 false 不合格

11 成績の合否判定プログラム Sub seiseki1() ‘ 成績の合否判定 Score1 >=60 合格
Dim score1 As Integer Dim name1 As String name1= InputBox(“名前は”) score1= InputBox(“成績を入力して下さい”) If score1 =>60 Then Msgbox  “おめでとう! ” &  name1 & “さんは合格しました.” Else Msgbox  name1 &  “さんは不合格です.” End IF End Sub      Score1 >=60 true 合格 false 不合格

12 秀 >=90 優 >=80 良 >=70 >=60 可 If ~ Then ~ Else文を使った計算 不可
成績が90点以上なら秀、80点以上90点未満は優、70点以上80点未満は良、60点以上70点未満は可, 60点未満は不可 true >=90 false >=80 true false >=70 true false >=60 true false 不可

13 エクセル関数If文を使った計算 秀 >=90 優 >=80 良 >=70 >=60 可 不可 true false
入れ子の構造 true >=90 false >=80 true false >=70 true false >=60 true false 不可

14 成績の評価(エクセル関数If文を使った計算)
成績が90点以上なら“秀”、80点以上90点未満は“優”、70点以上80点未満は“良”、60点以上70点未満は“可”, 60点未満は“不可” =IF(B2>=90,“秀”,IF(B2>=80,“優”, IF(B2>=70,“良”, IF(B2>59,"可","不可"))))

15 VBAでは If ~ Then ~ ElseIf 論理式1 論理式2 真の場合 動作1 偽の場合 真の場合 動作2 If 論理式1 Then
ElseIf 論理式2 Then Else End If 偽の場合 動作3 動作1 動作2 動作3

16 Sub seiseki2() ‘ 成績の評価 If ~Then ~ElseIf Dim score2 As Integer Dim name2 As String name2= InputBox(“名前は”) score2= InputBox(“成績を入力して下さい”) If score2 =>90 Then Msgbox   name2 & “さんの成績は秀です.” ElseIf score2 =>80 Then Msgbox   name2 & “さんの成績は優です.” ElseIf score2 =>70 Then Msgbox   name2 & “さんの成績は良です.” ElseIf score2 =>60 Then Msgbox   name2 & “さんの成績は可です.” Else Msgbox   name2 &  “さんの成績は不可です.” End If End Sub     

17 If ~Then ~Else を使った入れ子構造のプログラム
false 不可 >=60 true >=70 false true >=80 false true >=90 false true

18 Sub seiseki3() ‘ 成績の評価 If ~Then ~Else を使い入れ子構造のプログラム Dim score3 As Integer Dim name3 As String name3= InputBox(“名前は”) score3= InputBox(“成績を入力して下さい”) If score3 =>60 Then     If score3 =>70 Then        If score3 =>80 Then           If score3 =>90 Then              Msgbox   name3 & “さんの成績は秀です.”       Else          Msgbox   name3 & “さんの成績は優です.”       End IF    Else       Msgbox   name3 & “さんの成績は良です.”    End IF     Else    Msgbox   name3 & “さんの成績は可です.”        End IF     Msgbox   name3 &  “さんの成績は不可です.” End IF End Sub     


Download ppt "情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else"

Similar presentations


Ads by Google