1 情報基礎 A 第 6 回 プログラミング入門 VBA の基本文法 1 - 計算の基本構造とプログラミング - 準備・変数・データの入出力 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.

Slides:



Advertisements
Similar presentations
1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
Advertisements

1 情報基礎 A プログラムやソフトウエアの 構造 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 5 週 EXCEL 2 徳山 豪・全眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 6 週 EXCEL 3 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
VBA の基礎 (Visual Basic for Application) 国立教育政策研究所 坂谷内 勝.
1 情報基礎 A 第 4 週 EXCEL 徳山 豪・全眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
コンピュータと情報 第10回 Excel を使ってみる. Excel の起動 ① 「スタート」ボタンをク リック ② すべてのプログラムにマ ウスカーソルをあわせる ③ 「 Microsoft Office 」 → 「 Microsoft Excel 2003 」 にマウスをあわせて,ク リック ④.
情報処理基礎 A ・ B 第 5 回 プログラミング入門 操作の自動化を実現する仕組み. 2004/11/16 ・ 17 情報処理基礎 A ・ B 2 本日の内容 処理の自動化~プログラムの概念 ハードウェアとソフトウェア プログラミング言語 Excel における処理の自動化 入力支援の機能 分析ツール.
情報基礎 A 第 4 週 データベースと表計算 情報基礎 A 第 4 週 データベースと表計算 1 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
コンピュータ演習 Excel 入門 岡田孝・山下雅啓 Excel の機能は膨大 その中のごく一部を紹介 表計算機能 – データの入力、表の作成、計算など グラフ機能 – 棒グラフ、円グラフなどグラフ作成 データベース機能 – 並べ替え(ソート)、検索、抽出など マクロ機能 – VBA で自動化したマクロを作成可能.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
徳山豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
数値計算及び実習 第3回 プログラミングの基礎(1).
VBA H106077 寺沢友宏.
マルチエージェント・シミュレーション(2)
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
VBA(Visual Basic Application)を使ったプログラミングの初歩概説
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
プログラミング 平成24年10月30日 森田 彦.
情報処理A 第?回 Excelを使ってみる.
プログラミング 平成25年11月5日 森田 彦.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
第二回 VB講座 電卓を作ろう.
プログラミング応用 printfと変数.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
VBA ( Visual BASIC for Application) を使えるようにする方法
プログラミング入門 電卓を作ろう・パートIV!!.
地域情報学演習 VBAプログラミング 第2回 2017年10月17日
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング演習I 2003年5月7日(第4回) 木村巌.
実践プログラミング入門2 配列を使ってゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
「入力」はInputBoxやテキストボックスに限らず、 セルからのデータの入力や、チェックボックス等からの入力全てを含める。
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
C言語 はじめに 2016年 吉田研究室.
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
先週の復習 2重ループを用いた、 表の記入と読み込み.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
表計算 Excel 演習 1.Excel を使ってみる.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
電気・機械・情報概論 VBAプログラミング 第1回 2018年6月25日
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.
Microsoft Office 2010 クイックガイド ~ファイルの互換性編~
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
情報処理Ⅱ 第2回 2004年10月12日(火).
プログラミング 平成28年10月25日 森田 彦.
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
printf・scanf・変数・四則演算
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
Presentation transcript:

1 情報基礎 A 第 6 回 プログラミング入門 VBA の基本文法 1 - 計算の基本構造とプログラミング - 準備・変数・データの入出力 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野

プログラミング入門: 計算の基本構造とプログラミ ング 2

3 コンピュータでの計算の基本 { 0 , 1 }の世界の演算 (論理演算、ブール代 数) AND 演算 (両方 1 のときのみ1) 0 ×0 = 0×1 = 1×0 = 0 , 1×1 = 1 電気的には直列回路 OR 演算 (両方 0 のときのみ 0 ) 0+0=0, 0+1=1+0=1, 1+1=1 電気的には 並列回路 NOT演算: not(a): a が 0 なら 1 、 a が 1 なら 0 IF( a = 0 , 1 , 0 ) NOT

4 コンピュータでの計算の基本 AND 演算 (両方 1 のときのみ1) 0 ×0 = 0×1 = 1×0 = 0 , 1×1 = 1 電気的には直列回路 スイッチの開閉:リレー、トランジスタ、ダイオー ドなど

5 コンピュータでの計算の基本 OR 演算 (両方 0 のときのみ 0 ) 0+0=0, 0+1=1+0=1, 1+1=1 電気的には 並列回路

6 コンピュータでの計算の基本 NOT演算: 0 を 1 に、 1 を 0 に変換 電磁石 a NOT(a)

7 二値加算回路の例 a,b が 0 または 1 の場合 a+b を計算する回路 0+0=0 0 1+0=0 1 0+1=0 1 1+1=1 0 下位桁 a b 上位桁 NOT

8 計算モデル AND, OR, NOT を用いてできること 論理演算 通常の四則演算、大小比較 IF での判定 プログラミングのモデル(決定木モデル) 四則演算、大小比較 記憶装置からデータを読む 記憶装置にデータを書き込む IF による分岐

9 プログラムと決定木 IF(B2>=90 , ” 秀 ” , IF ( B2>=80 , ” 優 ”, IF(B2>=70 , ” 良 ” , IF ( B2>=60 , ” 可 ” , ” 不可 ” )) )) 木構造に従って 計算が進行する >=90 秀 true false >=80 true false >=70 true false >=60 true false 不可 優 良 可

10 繰り返し(ループ) SUM ( A2:A101) 決定木だと段数が多い 繰り返し構造を用いる 繰り返しの制御 いつまで繰り返すか? エクセルなら A2 から A101 までという指定 加算回路 A 列を 読む 暫定解

プログラミング入門: VBA の基本文法 1 11

12 実習で用いる VBA Visual Basic 言語 Basic 言語の拡張 オブジェクト指向型言語のフレーバーを持つ VBA (Visual Basic for Application) エクセルのマクロを記述する Visual Basic 言語の方言(エクセル地方の) マクロ ソフトウエアで用いる特定の一連の作業をプログ ラムとしてまとめたもの。 ユーザが自分に便利なものを作成する

13 実習のプラン エクセルのマクロ機能を用いる マクロの作り方 動作記録による自動生成 プログラミングによる作成 マクロを読む、変更する マクロを自分で作成する

プログラムを書くための準備 14 「ファイル」 → 「オプション」

プログラムを書くための準備 15 「リボンのユーザ設定」 → 「開発」にチェックを入れる

マクロウィルス マクロで作成された不正なプログラム マクロが含まれたファイルを開けないようにするた め警告 プログラムを書くための準備 :セキュリティ設定 16 「開発」 → 「マクロのセ キュリティ」 → 「マクロ の設定」 → 「警告を表示 してすべてのマクロを無 効にする」をクリック

プログラムを書くための準備 17 「開発」 → 「 Visual Basic 」をクリックし Visual Basic エディター を起動

プログラムを書くための準備 18 「挿入」 → 「標準モ ジュール」 「 Option Explicit 」が表 示されない場合は次ス ライドの「変数の宣言 を強制する」を設定

プログラムを書くための準備 19 「ルール」 → 「オプ ション」 → 「変数の宣 言を強制する」に チェックを入れる

20 もっとも簡単なプログラム メッセージ出力 : MsgBox Sub myprogram1() MsgBox “ こんにち は ” End Sub Msgbox “ ” メッセージボックスに書き出す機能 出力したいメッセージを記述

21 もっとも簡単なプログラム メッセージ出力 プログラム名(自分で名前を付ける) Sub myprogram1() MsgBox “ こんにちは ” MsgBox “ 情報基礎Aの時間です ” End Sub プログラムの 実行順序 メッセージボックスに書き出す 処理内容を記述

ファイル保存形式 注意 マクロプログラムは「名前を付けて保存」からフ ァイルの種類を「 Excel ブック( *.xlsm )」にする 通常の Excel ファイル 拡張子 Excel2013 : xlsx Excel : xls Excel マクロ有効ファイル 拡張子 xlsm 22

Excel マクロ有効ファイルのマ クロ実行・編集の際には「コ ンテンツの有効化」が必要 セキュリティの警告がリボンの下 に現れるので、「コンテンツの有 効化」ボタンをクリック 「ファイルにはマクロが含まれて いるので危険である」と警告が出 るので「はい」をクリック 見知らぬ人からメール等で送られ た素性の怪しいファイルでマクロ を有効にすることは危険なので要 注意 Excel マクロ有効ファイル実行 23

24 変数 値を入れておく箱のようなもの( Excel では セル) 変数の宣言 例:整数の値が入る x と言う名前の変数を用意す る 変数名は自分で決める( Excel ではセル番号: A1 ) 半角の英字,英数字 Dim x As Integer Integer 型の変数 x を宣言する xaenglishseisuabcx1 ピンク色の箱は整数の箱 ( Integer 型) 黄色の箱は文字の箱 ( String 型)

数値のデータ型 25 データ型名データ型値の範囲 サイズ Byte バイト型 0 ~ バイト Integer 整数型 -32,768 ~ 32,767 2 バイト Long 長整数型 -2,147,483,648 ~ 2,147,483,647 4 バイト Single 単精度浮動 小数点型 ±3.4×10 38 ~ ±1.4× バイト Double 倍精度浮動 小数点型 ±1.8× ~ ±4.9× バイト

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

27 変数の宣言 Sub myprogram2() Dim x As Integer x=18 MsgBox x End Sub

28 変数の宣言 Sub myprogram2() Dim x As Integer x=18 MsgBox x MsgBox x End Sub

29 変数の宣言 Sub yeartrans1() ’ 平成を西暦に直すプログラム Dim x As Integer x=18 MsgBox “ 平成 ” & x & “ 年は西暦 ” & x End Sub コメント文 変数 x を導入。整数値であること を宣言 & : 複数の要素(文字列と変数) をメッセージボックスに繋げて表 示 プログラム中に記述する説明文 「 ’ 」を使いコメント文を書く 「 ’ 」から改行までの記述はプログラムに反映されない

30 データの入力 : InputBox Sub yeartrans2() ‘ ‘ 平成を西暦に直すプログラム ‘ Dim x As Integer Dim y As Integer x= InputBox( “ 平成を西暦に直します.平成の年度を入力して下さ い ” ) y = x Msgbox “ 平成 ” & x & “ 年は西暦 ” & y & “ 年で す ” End Sub プログラム実行時にユーザ が入力した値を変数 x に蓄 える