セルを操作する例題

セルに対する処理ができるようになったので、例題として素材別カロリー表のメニュー画面を考えてみたいと思います。各素材(野菜、魚類等)の素材名と品名、100グラム当たりのカロリーを表示した一覧表を作成しました。シートはメニュー画面用に「メニュー」、一覧表シートに「カロリー入力」、素材別に抽出したデータを表示する「素材別表示」の三つのシートを作成しています。

図10-1 メニューシート

図10-2 カロリー入力シート

図10-3 素材別表示シート

メニュー画面作成

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

各シートからメニューシートに戻ります。

図11:素材別カロリー表実行画面

ボタンの設定方法は前回説明しましたが、ここでもう一度ボタンの設定方法を図に表しておきます。

図12-1:ボタンの設定方法

図12-2:ボタンの設定方法

図12-3:ボタンの設定方法

どこでもよいので、別の場所のセルをクリックするとボタンが確定されます。各ボタンとマクロの対応表を示します。

ボタンとマクロの対応表

シート名 ボタン表示内容 マクロ名
メニュー カロリー入力 Menu01
メニュー 素材別表示 Menu02
カロリー入力 戻る Menu03
素材別表示 戻る Menu03

うまく実行できたでしょうか?。各シートに飛ぶボタンを作って、そのボタンの説明などをそのシートに書いておくと、他の人が使うときなどわかりやすいと思います。自分が作ったものでも、後になって見てみると、どうしてこんなふうに作ったのだろうと、疑問に思うことはよくあります。ちょっとコメントを書いていると、後からでも思い出せると思います。