セルを操作する例題
セルに対する処理ができるようになったので、例題として素材別カロリー表のメニュー画面を考えてみたいと思います。各素材(野菜、魚類等)の素材名と品名、100グラム当たりのカロリーを表示した一覧表を作成しました。シートはメニュー画面用に「メニュー」、一覧表シートに「カロリー入力」、素材別に抽出したデータを表示する「素材別表示」の三つのシートを作成しています。
図10-2 カロリー入力シート |
メニュー画面作成
VBAを作成する前に「カロリー入力」の一覧表のデータ、「素材別表示」の枠組みは用意しておくものとします。ボタンを使ってメニュー画面を作成し、ボタンを押すと別のシートに移ります。移ったほうのシートにはメニューへ戻るボタンを作成します。
[リスト14]Menu01(素材別カロリー表.xlsm)
Sub Menu01()
Sheets("カロリー入力").Select
End Sub
メニューシートからカロリー入力シートに移ります。
[リスト15]Menu02(素材別カロリー表.xlsm)
Sub Menu02()
Sheets("素材別表示").Select
End Sub
メニューシートから素材別表示シートに移ります。
[リスト16]Menu03(素材別カロリー表.xlsm)
Sub Menu03()
Sheets("メニュー").Select
End Sub
各シートからメニューシートに戻ります。
ボタンの設定方法は前回説明しましたが、ここでもう一度ボタンの設定方法を図に表しておきます。
図12-1:ボタンの設定方法 |
図12-3:ボタンの設定方法 |
どこでもよいので、別の場所のセルをクリックするとボタンが確定されます。各ボタンとマクロの対応表を示します。
ボタンとマクロの対応表
シート名 | ボタン表示内容 | マクロ名 |
---|---|---|
メニュー | カロリー入力 | Menu01 |
メニュー | 素材別表示 | Menu02 |
カロリー入力 | 戻る | Menu03 |
素材別表示 | 戻る | Menu03 |
うまく実行できたでしょうか?。各シートに飛ぶボタンを作って、そのボタンの説明などをそのシートに書いておくと、他の人が使うときなどわかりやすいと思います。自分が作ったものでも、後になって見てみると、どうしてこんなふうに作ったのだろうと、疑問に思うことはよくあります。ちょっとコメントを書いていると、後からでも思い出せると思います。