2010年12月24日金曜日

第11回補足

あまりにも演習11-2がよくわからないというメールが届いているので,補足を書きました.

演習11-2がよくわからない人は,ダウンロードするなりして読んで参考にしてみてください.

補足プリント

を左クリックすると,Googleドキュメントというページが表示されると思います.ページの左上にファイルボタンが表示されますので左クリックしてみて下さい.リスト中選択肢を左クリックすることで,ファイル保存印刷ができます.

page1

page2

演習SP11-2の解答

演習SP11-2の解答を示します.

マクロの表示→編集 で英単語で記入された文書が表示されます.これは作成したマクロ全てを記入しています.それぞれのマクロに名前を付けてきました.仮にその中の1つのマクロ名を「まくろ」とすると,そのマクロ「まくろ」の操作を記述しているのは,

Sub まくろ()

 から

End Sub 

の範囲です.


プリントの通り作業を行っていったとすると,
「氏名住所記入」マクロ実行

「郵便番号記入」マクロ実行

「印刷」マクロ実行

「改行」マクロ実行

という流れを記録したマクロを作成したはずです.

この流れを記録したマクロを「連続印刷」という名前としたとすると,文書の中に
Sub 連続印刷()
 ~
 ~ 
 ~
End Sub 
という部分があると思います.そしてSuB 連続印刷()からEnd Subの間には流れで実行するマクロ分のApplication.Run "~.xlsm![マクロ名]"という記述があると思います.

それらを,
Do Until ActiveCell.Value=""

Loop
ではさんでください.

この記入する文字列の意味は「選択されたセルの中身が"",つまり空だったら繰り返しをやめる」です.つまり,「選択されたセルの中身に記入がある限り繰り返す」という意味でもあります.

この記述により,「改行」マクロが実行された直後に選択されたセルに記入がある限り印刷を繰り返し,「改行」マクロが実行された直後に選択されたセルに記入が無かった場合,つまり選択されたセルである住所録の名前項目に記入が無くなった瞬間に「連続印刷」マクロを終了します.

選択されたセルである住所録の名前項目に記入があった場合は,「氏名住所記入」マクロ実行→「郵便番号記入」マクロ実行→「印刷」マクロ実行→「改行」マクロ実行,を実行し,最後の「改行」実行後,次の行の名前項目を選択します.


具体的には,

Sub 連続印刷()
'
' 連続印刷 Macro
'
' Keyboard Shortcut: Ctrl+~
'
Do Until ActiveCell.Value=""
Application.Run "年賀はがき宛名.xlsm!氏名住所"
Application.Run "年賀はがき宛名.xlsm!郵便番号"
Application.Run "年賀はがき宛名.xlsm!印刷"
Application.Run "年賀はがき宛名.xlsm!改行"
Loop
End Sub


という風になります.
書きかえた状態で連続印刷マクロを保存したい場合は,「ファイル」→「~を上書き保存」してから「MicrosoftVisualBasic」ウィンドウを閉じてください.

2010年12月21日火曜日

12月20日 第11回への回答

Q:何やっているのか全然分かりませんでした・・・。演習11-2はどうやるのか詳しく教えてください。
A:今回の提出者のほとんどが「難しい」とメールに書いています.
こんなことは初めてです.
う~ん・・・.

演習11-2では,VLOOKUP関数を使って,郵便番号7ケタを入力すると,同じ行の住所1の項目にその郵便番号に対応する住所が表示されるようにしてください.

1.まずその前に,「郵便番号.xlsx」内で,「都道府県」「市区」「町村」を&を使って統合し,1列目「郵便番号」とそれに対応する「住所」2列目を作成してください.

2.そして,今回提出するファイルに「郵便番号」シートを作成します.その「郵便番号」シートに,1列目「郵便番号」,2列目「住所」のリストを「値」に関して「形式を指定して貼り付け」を行ってください.

3.次に本題のVLOOKUP関数を使って,郵便番号7ケタを入力すると,同じ行の住所1の項目にその郵便番号に対応する住所が表示されるようにします.
「住所録」シートの,ある行の「郵便番号」の位置に郵便番号が入力されたら,その行の「住所1」項目にその郵便番号に対応する「住所」をVLOOKUP関数を使って表示させます.
VLOOKUP関数で「郵便番号」シートに書かれている郵便番号-住所対応表を検索し,その行に書かれている住所を「住所録」シートの「住所1」項目に表示させてください.

1が終わった段階で,適当なセルに,郵便番号を入力したら住所が表示される数式をVLOOKUP関数を使って書いて,ちゃんと対応する住所が表示されるか確かめてください.
その後,住所録に郵便番号が書かれたら,その行に住所が自動的に書かれるようにするという演習2に取りかかるといいでしょう.


マクロは講義で扱うか躊躇したのですが・・・.
やっぱり難しいですよね.

個人的にはマクロは社会情報学科の人だけ学べばいいと思うのですが,どうせやならければならないのなら,季節的に自動宛名書きマクロが喜ばれるのではないかと思い,今回の講義で扱ってみました.

よりによって授業評価アンケートの日にこの内容の講義を行うことになろうとは・・・.


出席確認兼評価である演習の確認は紅白でも見ながらやりますのでちょっと待ってください.

2010年12月20日月曜日

12月20日(月)第11回

おはようございます.

12月20日第11回の講義で使うファイルです.

年賀はがき宛名.xlsx


郵便番号.xlsx

2010年12月12日日曜日

12月12日(月)の講義で使うファイルと全回の質問への回答

おはようございます.

12月12日(月)の講義で使うファイルは,次のようになっています.
以前使ったファイルもあるので,ファイル名が一致する場合は,ファイル変更するなりして保存してください.

ヒストグラム(度数分布).xlsx

重複修正2.xlsx

かばん屋2.xlsx

取引先.xlsx

売上.xlsx


第9回12月6日の質問への回答

Q1.「元データ5つ」と「更新1回」がよくわかりませんでした。
A1.ちょっと質問が詳しくわからないので,5ページの内容に関しての質問として回答します.

第9回プリントの5ページにおける元データとは,元々「売上.xlsx」に書かれていたデータベースを指します.このデータベースを使用している会社が今後も営業していくとしたら,このデータベースには新たに行(レコード)が追加されるはずです.
つまりデータベースは更新されるはずです.

更新という言葉はデータベースに限らず,スポーツの記録が塗り替えられた場合には「記録更新」,日記に新たな1日分の内容を記入した場合は「日記を更新した」,パソコンソフトウェアのエラーを修正したのなら「ソフトウェアの更新」という風に使われます.

話をエクセルに戻します.
通常,エクセルで表αの内容に応じて表βの中身が決まるような記述がされている場合(例,表βに含まれるセル=表αに含まれるセル+1000),表αを更新(修正や,追加,削除)した瞬間に表βも更新されます.

それに対しピボットテーブルの集計表は,表αのように参照される表を更新(修正,追加,削除)しても,更新ボタンを左クリック,または元のデータの範囲を再指定(データベースの行を追加したり削除したりした場合)しないかぎり更新されません.

「更新」ボタンは,ピボットテーブルの集計表に含まれるセルの一部を選択しピボットテーブルツールを表示させ,それに含まれるオプションタブを左クリックすることで表示されます.

元のデータの再指定は,ピボットテーブルツールを表示させ,それに含まれるオプションタブを左クリックすることで表示される「データソースの変更」を左クリックして行います.希にさらに更新ボタンを左クリックしなければならない状態にエクセルが設定されている場合があるようです.

Q2.データを更新したものを使い続けていいのか迷った。
A2.演習に使うために取ってきたファイルは,そのままの状態で保存しておいた方が良いと思います.
そのファイルに対しては,開いて領域コピーするという処理しか行わないことにします.
そうすると,作業がめちゃくちゃになった場合でも,再びそのファイルを領域コピーし,最初から演習を行うことができます.

2010年12月6日月曜日

「訂正」12月6日について 第9回

第9回の演習9-2,演習9-5,演習9-8,演習9-9,演習SP9-2で値として「価格」を指定していたのですがこれは誤りでした.すいません.

本来,価格に個数をかけて得られた数値である「」を値として指定すべきでした.「価格」で示される値はその商品のいわば定価で,その値を合計した数値は特に何も意味を持ちませんので集計表に用いるのには不適切でした.申し訳ありませんでした.

それに対し「」は,購入された「商品の定価」に,その商品の購入数である「個数」をかけた値となるので,1回の注文で1種類の商品を購入するために支払われた金額という意味を持ちます.(注.一度の注文で数種類の商品が購入される場合もある.商品A×5個+商品B×1個 など)

各商品の「」を合計すると「総売上」となります.

この修正に関しては再提出していただかなくて結構です.


あと演習SP9-2なのですが,自分で作った問題の解法を忘れてしまいました(笑).もしかしたらピボットテーブルのみでも作成できていたのかもしれませんが,次のような方法もあります.

ピボットテーブルの集計表の値セルそれぞれに対応するセルで構成される表Aを作成する.

ピボットテーブルである行の「計」+ピボットテーブルである行の1つ上のセルの「計」表Aのある行に対応するセルとし,横軸に日付,縦軸に表Aでの対応する値,とする折れ線グラフを作成する.

それと,今後,講義で使用するファイルはこのサイトから入手していただくことにさせていただきます.講義が始まったらとりあえずこのページを見て,講義で使用するファイルがあるのであれば,そのファイルをダウンロードしておいてください.

12月6日講義資料

講義で使用するファイルはこれまで学内共有フォルダから取ってきてもらってたのですが,フォルダの共有設定のためか不具合も結構発生していたので,今後はウェブ上に置いていこうと思います.

講義で使用するファイルを以下のページに置きます.

https://docs.google.com/leaf?id=0B4PcAAwf2ieaOWYzMDZmNDUtZWUzMC00ZDgxLThlMzktNDNhYzUwOTM2ZWNk&hl=ja

以上のウェブサイトURLを左クリックし,講義ファイルダウンロードページを開いてください.

そしてダウンロードを左クリックし,保存先としてUSBメモリドライブを選んでください.

USBメモリにファイルが保存されます.

2010年12月1日水曜日

1つのセルに2行以上の文字を入れる


1つのセルに2行以上の文字を入れるには,

セルを選択して右クリック

セルの書式設定」を左クリック

「セルの書式設定」ウィンドウの「配置」タブを左クリック

文字の制御」項目の「折り返して全体を表示する」を左クリックしチェックを付ける

OKを左クリック

とします.