情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理

Slides:



Advertisements
Similar presentations
情報基礎実習 I (第6回) 木曜4・5限 担当:北川 晃. Stream クラスを用いたファイルの接続 … Dim インスタンス名 As New IO.StreamReader( _ “ ファイルの絶対パス ”, _ System.Text.Encoding.Default) … s = インスタンス名.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
第14回:表計算の発展的話題 2015 年 7 月 21 日 清見礼.  本日の授業の資料は今日中に 7/jc2015.html においておく。  どうしてもうまくダウンロードできない、見るこ とができない、などあれば.
1 情報基礎 A 第 4 週 EXCEL 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A プログラムやソフトウエアの 構造 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
コンピュータ演習Ⅰ 8月9日 ( 火 ) 2 限目 成績データ処理. 2時限目のテーマ サンプルシートに組み込まれた数式を 理解する。 模擬試験の成績データ処理のテーブルか ら 検索処理、論理処理、帳票作成処理など を 学ぶ。
1 情報基礎 A 第 6 回 プログラミング入門 VBA の基本文法 1 - 計算の基本構造とプログラミング - 準備・変数・データの入出力 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 5 週 EXCEL 2 徳山 豪・全眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 6 週 EXCEL 3 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 4 週 EXCEL 徳山 豪・全眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
情報処理基礎 A ・ B 第 5 回 プログラミング入門 操作の自動化を実現する仕組み. 2004/11/16 ・ 17 情報処理基礎 A ・ B 2 本日の内容 処理の自動化~プログラムの概念 ハードウェアとソフトウェア プログラミング言語 Excel における処理の自動化 入力支援の機能 分析ツール.
情報基礎 A 第 4 週 データベースと表計算 情報基礎 A 第 4 週 データベースと表計算 1 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
SDOPxls2xml操作説明書 version1.0
第7回 プレゼンテーション資料の作成 PowerPoint の使い方の簡単な説明
徳山豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
2012年度 コンピュータ応用B (旧コンピュータ基礎D) ガイダンス
徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎演習I(プログラミング) 5月25日 水曜5限 江草由佳
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
6.3 2次元DFT (1)2次元DFTとは 画像のような2次元信号をサンプリングしたデータを 2次元DFTを
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
VBA H106077 寺沢友宏.
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
C言語 配列 2016年 吉田研究室.
2010年 3月 太 子 西 中 学 校 出席統計  利用マニュアル.
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
映像技術演習 第8回:課題映像編集.
情報科学1(G1) 2016年度.
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
第5回 統計処理(2) 塩浦 昭義 東北大学全学教育科目 情報基礎 A 1セメスター 木曜1,3講時 経済学部・法学部
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
2015年度 演習課題2 Excelによる自己評価の集計
情報処理1~第12回~ 野中良哲.
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
地域情報学演習 VBAプログラミング 第2回 2017年10月17日
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
情報基礎演習I(プログラミング) 第10回 6月29日 水曜5限 江草由佳
第4回 統計処理(1) 表計算ソフトの基本操作 塩浦 昭義 東北大学全学教育科目 情報基礎 A 1セメスター 木曜1,3講時
相関.
実習問題の解き方 JIS3-3の場合.
実践プログラミング入門2 配列を使ってゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
プログラムの基本構造と 構造化チャート(PAD)
第12回授業(12/18)の目標 ANOVA検定の実習 WEB を用いたANOVA検定と、授業で行った検定結果の正誤の確認方法(宿題)
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
先週の復習 2重ループを用いた、 表の記入と読み込み.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
電気・機械・情報概論 VBAプログラミング 第1回 2018年6月25日
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
アルゴリズムの視覚化 この図は左が大きく、 右が小さくなるようにソートしている  この図は左が大きく、  右が小さくなるようにソートしている
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
Presentation transcript:

情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野

統計 カウンターを複数個使う 注意:カウンターの初期化場所

合格と不合格の統計 行 : i data2.xlsm Sub toukei_gouhi() Dim  i As  Integer Dim  goukaku  As Integer Dim  fugoukaku  As  Integer Worksheets("成績").Activate goukaku = 0 fugoukaku = 0 For i = 3 To 102 step 1   If Cells( i , 15 ) = "合格" Then    goukaku = goukaku + 1   ElseIf Cells( i , 15 ) = "不合格" Then    fugoukaku = fugoukaku + 1   End If Next i Worksheets("統計").Cells(12, 2) = goukaku Worksheets("統計").Cells(13, 2) = fugoukaku End Sub 行 : i データを読み込む シート:成績 結果を出力する シート:統計 シート“成績”の100人分の合否判定結果の統計をシート“統計”のセールB12とB13にそれぞれ出力するプログラム データ読み込む範囲 シート“成績”O3~O102 結果を出力 シート“統計” カウンターの変数2つを用意 合格のカウンター : goukaku 不合格のカウンター : fugoukaku

評価値の統計 シート“成績”の100人分の6科目の成績値(秀、優、良、可、不可)判定結果の統計をシート“統計”のセルB4~G8にそれぞれ出力するプログラム データ読み込む範囲 シート“成績”H3~M102 結果を出力 シート“統計”B4~G8 カウンターの変数5つを用意 秀のカウンター : a 優のカウンター : b 良のカウンター : c 可のカウンター : d 不可のカウンター : f

data2.xlsm 行 : i 列 : j For i = 3 To 102 step 1 データを読み込む シート:成績 結果を出力する シート:統計 data2.xlsm For i = 3 To 102 step 1 If Cells( i , j ) = "秀" Then a = a + 1 ElseIf Cells( i , j ) = "優" Then b = b + 1 ElseIf Cells( i , j ) = "良" Then c = c + 1 ElseIf Cells( i , j ) = "可" Then d = d + 1 ElseIf Cells( i , j ) = "不可" Then f = f + 1 End If Next i Worksheets("統計").Cells( 4 , j – 6 ) = a Worksheets("統計").Cells( 5 , j – 6 ) = b Worksheets("統計").Cells( 6 , j – 6 ) = c Worksheets("統計").Cells( 7 , j – 6 ) = d Worksheets("統計").Cells( 8 , j – 6 ) = f Next j End Sub 行 : i Sub  toukei_hyoka() Dim i As Integer Dim j As Integer Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim f As Integer Worksheets("成績").Activate For j = 8 To 13 step 1 a = 0 b = 0 c = 0 d = 0 f = 0 列 : j

プロシージャの呼び出し プロシージャを別のプロシージャから呼び出す 今まで作成したプロシージャ Sub goukei_6kamoku() Sub hyouka_6kamoku() Sub kojin_heikin() Sub toukei_gouhi() Sub toukei_hyoka() 5つのプロシージャを計5回実行する代わりに一つの新しいプロシージャを作り呼び出しを行う

プロシージャの呼び出し Sub myseiseki()プロシージャの中に呼び出したいプロシージャを記述 5つのプロシージャが順番に実行される Call プロシージャ名 Sub myseiseki() Call goukei_6kamoku Call hyouka_6kamoku Call kojin_heikin Call toukei_gouhi Call toukei_hyoka End Sub

実際のデータ処理 ファイル20個を一括処理する

データのダウンロードと準備 「成績データ3」をダウンロードして下さい データの概要 データの解凍 ファイル名:H27.zip 平成27年度の成績データ 科目 国語,英語,数学,歴史,公民,理科 20クラス  1クラス 100人の成績 合計 2000人の成績 データファイル 1組(class1.xlsx) ~20組(class20.xlsx)の20個のエクセルデータ シート:成績,統計 集計用ファイル : seiseki.xlsx シート:平成21年 データの解凍 H27.zipを解凍し「H27」フォルダを「演習」フォルダにコピーする

データファイル20個と集計ファイル

演習 1組~20組までの20クラスの成績処理 プログラムは引き続き“data2.xlsx”で作成 各データファイルに下記の5つの処理 Sub goukei_6kamoku() Sub hyouka_6kamoku() Sub kojin_heikin() Sub toukei_gouhi() Sub toukei_hyoka() プロシージャ名:seiseki() 20クラス分の成績の統計をseiseki.xlsファイルにまとめる

ファイルの操作 openメソッド 20個のファイルを順番に開く アクティブファイルの保存と終了 ファイルの名前の中の番号を変数として利用し繰り返し処理する アクティブファイルの保存と終了 Workbooks.Open Filename:="class1.xlsx“ For i = 1 to 20 step 1 Workbooks.Open Filename:="class" & i & ".xlsx“ Next i ActiveWorkbook.Save ActiveWindow.Close

別のファイルの参照: 指定ファイルにデータをコピーする 現在開いているファイルの“統計”シートの国語が秀の人数をseiseki.xlsの“平成27年”シートの国語の“秀”の欄にコピーする アクティブファイルの“統計”シートのセルB4をseiseki.xlsxのセルB3にコピーする Workbooks("seiseki.xlsx").Worksheets("平成27年").Cells(3, 2) = Worksheets("統計").Cells(4, 2)

各自のパスを記入してください data2.xlsm Sub seiseki() Dim k As Integer Dim m As Integer Dim n As Integer Dim x As Integer Workbooks.Open Filename:=“C:\VERDEUser\User\c52a0rlt\演習\H27\seiseki.xlsx” For k = 1 To 20 step 1 Workbooks.Open Filename:="C:\VERDEUser\User\c52a0rlt\演習\H27\class" & k & ".xlsx" Call goukei_6kamoku Call hyouka_6kamoku Call kojin_heikin Call toukei_gouhi Call toukei_hyoka Call graph Workbooks("seiseki.xlsx").Worksheets("平成27年").Cells(52 , k + 1) = Worksheets("統計").Cells(12 , 2) Workbooks("seiseki.xlsx").Worksheets("平成27年").Cells(53 , k + 1) = Worksheets("統計").Cells(13 , 2) x = 0 For m = 1 To 6 step 1 For n = 2 To 6 step 1 Workbooks("seiseki.xlsx").Worksheets("平成27年").Cells(n + 1 + x , k+ 1) = Worksheets("統計").Cells( n + 2 , m + 1 ) Next n x = x + 8 Next m ActiveWorkbook.Save ActiveWindow.Close Next k Workbooks("seiseki.xlsx").Save End Sub data2.xlsm 各自のパスを記入してください

①アドレスをダブルクリックするとパスが表示される ②C:\VERDEUser\User\c52a0rlt\演習\H27 パスをコピー : ①アドレスをダブルクリックするとパスが表示される ②C:\VERDEUser\User\c52a0rlt\演習\H27 ③パスをコピーする(②例は教員のパス)

レポート提出 提出ファイル 授業中に作成したエクセルファイル2つ ①data2.xls ②seiseki.xls 提出期限 8月4日