12日目 14日目

13日目

目標

課題


課題 25

実践課題(家計簿管理)

手引き資料に従って家計簿シートを作成しなさい。 その後、これまでに学習した機能を利用してより使いやすいもの修正できないかを考え、実際に修正せよ。 なお、課題25で作成した家計簿を今後利用するつもりの場合は、ほかの課題と別の Book としてもよい。


マクロ

マクロとは(繰り返し行う)複雑な処理や煩雑な処理の操作を記録/記述し、自動的に実行する機能のことを言う。

エクセルでは、実際に処理を行って登録する「キーマクロ」と、 VBA(Visual Basic for Application)を用いて記述するマクロがあるが、情報処理A では「キーマクロ」のみを対象とする。

注意

マクロでは、様々な処理を(意図しなくても)実行することができるため、エクセルはマクロを含んだファイルを開く際に 次のような警告を表示する。

macro warning

これは、悪意を持った作製者が作成したマクロによるコンピュータの被害を防ぐ(マクロウィルスに感染する)のを 防ぐためである。 したがって、自分で作成したファイルや、内容が判っているものの場合にのみ 「マクロを有効にする(E)」を選択するようにすること。 特に、作製者のはっきりしないファイルや、メール等で送られてきたファイルを開く際には、安全であることを確認するまでは 「マクロを無効にする(D)」を選択するべきである。


マクロの作成

  1. 記録する操作内容の確認
    キーマクロを登録する際にはすべての作業内容が記録される。 間違った操作をした場合、その内容も登録されるため、やり直すか記録の修正作業が必要となる。 複雑な操作の場合には修正も複雑になるので、マクロを記録する前に処理の手順を再確認しておく方が良い。
     
  2. マクロ記録の準備
    キーマクロを登録するには、「ツール」→「マクロ」→「新しいマクロの記録」を選択すると 「マクロの記録」ウィンドウが開く。 あとから参照する際に分かりやすくするためには、「マクロ名」に適切な名前を設定したほうが良い。
    macro record dialog

     
  3. マクロ記録
    「OK」をクリックした後、実際に記録する内容を操作する。 操作している間は、macro recorderが表示されており、 操作が終了したら「■」を押して、マクロの記録を終了する。
     
  4. マクロの実行
    「ツール」→「マクロ」→「マクロ」を選択すると登録されているマクロ一覧が表示されるので、 実行するマクロを選択して「実行」をクリックするとマクロが実行される。
    なお、マクロで行った操作は元に戻せないため、実行内容が間違っていた場合、元に戻すことはできない。 マクロの実行結果が、意図しない内容となった場合は、保存しないでファイルを閉じ、再び開くしかない。

フォームボタン

「フォームボタン」を利用すると、作成したマクロを簡単に実行することが可能となる。 フォームボタンを作成するには「表示」→「ツールバー」から「フォームツールバー」を 表示するように設定する。

フォームボタンをクリックして選択し、ボタンを設置したい場所をクリックすると ボタンが作成され、そのボタンが押された際に実行するマクロを選択する画面が表示されるので、実行したいマクロを選択して「OK」を押す。


小ネタ

ウィンドウ枠の固定

大きな表を作成しているときなど、先頭の見出し行や、 左端の見出し列が見えなくなってしまうと、入力時や参照時に不便である。

このようなときには、スクロールしてもかまわない最左上端のセルをクリックした後、 「ウィンドウ(W)」→「ウィンドウ枠の固定(F)」を利用すると作業効率が上がる場合がある。

ワークシートの分割

ワークシートの複数の場所を見るためには、「分割」機能も利用できる。 スクロールバーの上または右にある分割ボックスをダブルクリックするか、ドラッグすると分割バーが表示され、ウィンドウが分割される。 分割バーをドラッグすると分割位置を変更できる。解除するには、分割バーをダブルクリックするか、もとの位置までドラッグする。 F6 または Shift+F6 キーでシートを移動することができる。

なお、「ウィンドウ枠の固定」と「ワークシートの分割」は同時には機能しない。

シートの複数表示

複数のシート(同じものでも良い)を同時に表示したい場合も考えられる。 そのような場合には「ウィンドウ(W)」→「新しいウィンドウを開く(N)」を実行した後、 「ウィンドウ(W)」→「整列(A)」を選択し、(たとえば)「左右に並べて表示」と 「作業中のブックのウィンドウを整列する」にチェックを入れて「OK」をクリックする。


作成のヒント

改良のヒント

実際に、使う側に立ってみて、使いにくい点がないかを考えて、可能な限り改良する。


改良の手法

上であげたヒントのうち、2つを実際に取り上げて改良する方法について解説する。 以下では、講義では取り扱わなかったものも利用するが、その方法にたどり着く手法も提示してあるつもりである。 今後、実際にエクセルを利用していく上での参考としてほしい。


費目入力について

費目コードを覚えないと使えないというのは、すこしつらい。 そこで、10日目の課題22で取り上げた「入力規則」を うまく使うことを考えてみる。

「費目」列のセルに「入力値の種類」に「リスト」を選択し、「元の値」に 費目テーブルの費目名を参照しようとしてもできない。 イルカに「入力規則」と聞いてみると、表示される「セルに入力できる値を設定する」を 見てみると

1. 同じワークシート上で、有効なデータのリストを1列または1行に入力します

とある。そのため、別のシートである費目テーブルを参照することができないのである。

しかし、あきらめるのはまだ早い。ヘルプを読んでいくと最後に、

・ 有効なデータのリストがほかのワークシートまたはブックに入力されている場合は、 作業中のワークシートに外部データに対する名前を定義します。…

という部分があることに気付くはずである。 また、その上の部分には

・ データのリストの変更が予想される場合は、リストの範囲に名前を付け、 [元の値]ボックスにその名前を入力します。…

という部分もある。どちらもリストの範囲に「名前をつける」ことで対応ができると 書いてあるので、費目テーブルの費目名に名前をつけることとする。

名前をつける方法は、上であげたヘルプの中にも書かれているが、行うことは単純で、 名前をつけたい範囲を選択した後、名前ボックスを変更するだけである。 下の図は、費目テーブルで、C2:C16 を選択したのち、もともと 「C2」と表示されていた 名前ボックスに「費目名」と入力したところである。 この操作のあとはシート「費目テーブル」の「C2:C16」の領域を参照するには「費目名」という 名前を使うことができるようになる。

つぎに、各月のシートに戻り、費目名に入力規則を設定する。 「元の値」欄は、費目名一覧につけた名前を先頭に「=」をつけて入力する。

なお、このようにすると、検索の手法も費目名から、費目コードや収支区分を検索することになる事に注意する。 また、「入力規則」で不正な入力は防ぐことができるので、LOOKUP 時のエラー処理は省略することができる。


繰越

前月の繰越残高を引っ張ってくるのは少し工夫が必要である。 なぜならば、お金の出入りがあった件数は、(ふつう)月ごとによってマチマチであり、参照するセルの位置が決めうちできないからである。 したがって、なんらかの関数を用いて処理することとなる。

単純な方法としては、検索で取り上げた(詳しくは説明していないが)、 INDEX関数を利用することである。 検索では、MATCH 関数で、探索した結果を表示するのに用いたが、 特定の列の最下行を表示するために用いる。 最下行の行数を用いるためには関数 COUNT が利用できる。 なお、COUNT 関数は空白セルは対象としないが、 残高の列には必ず式が代入されているので問題はないはずである。


12日目 表紙 14日目

tacha@tack.fukui-med.ac.jp
$Id: 13.html,v 1.1 2004/07/13 05:15:16 tacha Exp tacha $