電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日

Slides:



Advertisements
Similar presentations
プログラミング Ⅱ 第2回 第1回(プログラミングⅠの復 習) の解説. プログラムの作り方 いきなり完全版を作るのではなく,だんだ んふくらませていきます. TicTa cToe1.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 6 回 プログラミング入門 VBA の基本文法 1 - 計算の基本構造とプログラミング - 準備・変数・データの入出力 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
プログラミング言語としてのR 情報知能学科 白井 英俊.
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
12.3,E,-15, 12.3,E5,+,=, >,<,…,
VBA H106077 寺沢友宏.
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
プログラミング序論演習.
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
第二回 VB講座 電卓を作ろう.
地域情報学演習 VBAプログラミング 第2回 2017年10月17日
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
アルゴリズムとプログラミング (Algorithms and Programming)
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
実践プログラミング入門2 配列を使ってゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
「入力」はInputBoxやテキストボックスに限らず、 セルからのデータの入力や、チェックボックス等からの入力全てを含める。
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラムの基本構造と 構造化チャート(PAD)
制御文の役割と種類 IF文 論理式と関係演算子 GO TO文
プログラミングⅠ 平成31年1月7日 森田 彦.
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
先週の復習 2重ループを用いた、 表の記入と読み込み.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
電気・機械・情報概論 VBAプログラミング 第1回 2018年6月25日
プログラミングⅡ 第2回.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.
C#プログラミング実習 第2回.
地域情報学 C言語プログラミング 第4回 while文、do~while文、switch文、 2次元配列、ポインタ 2017年11月10日
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
プログラミング基礎演習 第4回.
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
アルゴリズムの視覚化 この図は左が大きく、 右が小さくなるようにソートしている  この図は左が大きく、  右が小さくなるようにソートしている
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
プログラミング序論演習.
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
6.5 アダマール(Hadamard)変換 (1)アダマール変換とは
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
プログラミング言語によっては,複素数が使えない。
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
C言語講座 四則演算  if ,  switch 制御文.
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
5.2 グレゴリー・ニュートン(Gregory-Newton)の補間式 (1)導入
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日

パス、ブック操作 ファイルの場所のパス(変数にしておくと便利。) 課題:パスをメッセージボックス(MsgBox)で表示せよ。 ActiveWorkbook.path 課題:パスをメッセージボックス(MsgBox)で表示せよ。 ブックを新規作成 Workbooks.Add Workbooks.Add.Activate (作成したブックをアクティベート。) ブックの保存 ActiveWorkbook.SaveAs Filename := “D:\test.xlsx” ※C直下はダメ。xlsmもダメ。 ブック・ファイルを開く Workbooks.Open Filename:=“test.xlsx” ブックを閉じる ActiveWorkbook.Close 課題:ブックを新規作成、保存、開く、閉じるを行え。

シート操作 シートを選択 シートの追加 シートの名前の変更 シートのコピー(複製) 課題:以下のシートを持つブックを作成せよ。 Worksheets(“Sheet1”).Activate Worksheets(“Sheet1”).Select シートの追加 Worksheets.Add Worksheets.Add.Activate(作成したシートをアクティベート。) シートの名前の変更 ActiveSheet.Name="TEST“ シートのコピー(複製) ActiveSheet.Copy After:=ActiveSheet 課題:以下のシートを持つブックを作成せよ。 ワークブック名:“サンプル.xlsx” シート名:“サンプル1”、“サンプル2”、“サンプル3”

コピー、ペースト Range("A1").Copy Range("B1").Select ActiveSheet.Paste 課題:セルの値を任意のシート、セルにコピーせよ。 課題 シート1にグラフを作成 シート1をコピー(複製) データ(csvファイル)を読み込み 複製したシートにペースト

変数、演算子 定義 代入 通常一番初めにマクロ中で 使う変数を定義する。 課題 日付を表示せよ Integer 整数(±32,768) Long 整数(±2,147,483,648) Single 小数 Double 小数(桁数が多い) String 文字列 Date 日付 Boolean ブール型(True/False) 定義 Dim name As String Dim num As Integer 代入 name = “名前” num = 1000 通常一番初めにマクロ中で 使う変数を定義する。 課題 日付を表示せよ 右記の計算を行い結果を メッセージボックスに表示 せよ。 演算子 意味 式の例 + 加算 i = 15 + 5 ( i の値は20) - 減算 i = 15 - 5 ( i の値は10) * 乗算 i = 5 * 4 ( i の値は20) / 除算 i = 15 / 5 ( i の値は3) \ 除算の商 i = 15 \ 2 ( i の値は7) Mod 除算の余り i = 15 Mod 2 ( i の値は1) ^ べき乗 i = 2 ^ 5 ( i の値は32)

配列 Dim fruit(2) As String fruit(0) = "りんご" fruit(1) = "みかん" 2次元配列 Dim fruit(2, 1) As String String型のfruitという名前の配列(箱)を3x2個定義 fruit(0, 0) = "りんご" fruit(0, 1) = 100 fruit(1, 0) = "みかん" fruit(1, 1) = 60 fruit(2, 0) = "梨" fruit(2, 1) = 150 課題 左記の配列をセルに書き出せ。 セルを読み出して配列に詰め、メッセージボックスに表示せよ。

If Then、 ElseIf Then, Else If 80 < Score Then MsgBox “80より大きい” ElseIf 50 < Score Then MsgBox “50より大きい” Else MsgBox “50以下” End If 課題 入力値(Inputbox)に対して偶数と奇数を判別して表示せよ。 数字を2つ入力して大きい方を表示せよ。 演算子 意味 A > 0 And B >0 両方を満たした場合 A > 0 Or B > 0 いずれか1つを満たした場合 Not A = 0 条件式を満たさない場合 演算子 意味 = 等しい < より小さい <= 以下 > より大きい >= 以上 <> 等しくない

Select Case Select Case Score Case “A” MsgBox “優” Case “B” MsgBox “良” テキストの条件式 Select Case Score Case “A” MsgBox “優” Case “B” MsgBox “良” Case Else MsgBox “可” End Select 条件分岐が多い場合、if文では複雑になってしまうので、Select Caseを使うと見やすくなる。 数字の条件式 Select Case Score Case Is > 80 MsgBox “80より大きい” Case Is > 50 MsgBox “50より大きい” Case Else MsgBox “50より小さい” End Select Select Case Score Case 81 To 100 MsgBox “80より大きい” Case 51 To 80 MsgBox “50より大きい” Case Else MsgBox “50より小さい” End Select

For Next 繰り返し処理を行う場合は、For Nextを使う。 For i = 3 to 10 ‘3から開始 For i = 1 To 10 Step 2 ‘2ずつ増加 For i = 10 To 1 Step -1 ‘1ずつ減る For i = 1 to 10 MsgBox i Next i Forループを抜けるときはは、Exit Forを使う。 課題: セルA1~A10に1~10を入れよ。 Dim i As Integer Dim Ans As Integer For i = 1 To 10 Ans = InputBox(“数字を入れて下さい。”) If Ans = 0 Then Exit For End If Next i

For Each Next Goto シートやワークブック、配列に対して一括で処理したいときに使用する。 課題:右のマクロをFor Nextで書き換えよ。 Dim st As Worksheet For Each st In Sheets MsgBox st.Name Next Goto Dim Ans As String For i = 1 To 10 Ans = InputBox(“数字を入れて下さい。”) If Ans = 0 Then Goto Fin End If Next i Fin: MsgBox(“0が入力されたので終了します。”) Gotoで飛ぶことが出来る。 多用すると分かりにくくなるので注意。

Do Loop ループの回数が決まっていないときはDo Loopを使用する。 ※無限ループの可能なので注意。Ctrl+Breakで強制終了。 前判断 後判断 満たすまで Do Until…Loop Do…Loop Until 満たす間 Do While…Loop Do…Loop While Dim Flag As Boolean Dim Ans As String Flag = 0 Do While Flag = 0 Ans = InputBox(“数字を入れて下さい。”) If Ans = 0 Then flag = 1 End If Loop