stegral の雑記

編入と勉強と映画

Excelを使って買い物リストを作るよ!!

買い物リストに欲しい機能

パソコンで買い物リストを作るときに自分なりにまとめたものを書いていきます。

  • 個数はボタンで上限する
  • 個数×価格の和を計算してくれる

この要件を満たすもの。意外と大変みたいです。

 

買い物リストがToDoリストのようにチェックをつけるだけだと何個買ったかなどがわかりません。なので、クリックすると個数が1増える、その分の合計金額がしっかり反映されていると分かりやすいと思いました。

以下想像図

f:id:stegral:20180228184823j:plain

結論は「スピンボタン+マクロ」

参考になったのは以下のページ

スピンボタンのリンクするセルを相対的に指定する方法 - Excel(エクセル) 解決済み| 【OKWAVE】

このベストアンサーさんがすごい画期的な方法を使っているので実践します。

 

思い出し用の簡易手順

  1. テーブルとして書式設定
  2. [開発]から[挿入]をクリックし、[フォームコントロール]の[スピンボタン]
  3. マクロの登録で、URL先のコードをコピー
  4. オートフィルでいくつも増やす

 

 

 

1.まず、表を作成

価格とモノだけ入力します。

 

f:id:stegral:20180228185534p:plain

[ホーム]から[テーブルとして書式設定]

今回は青のテーブルでやります。

f:id:stegral:20180228185730p:plain

範囲は表を囲うようにします。

[先頭行をテーブルの見出しとして使用する(M)]にチェックを入れて、[OK]です。

f:id:stegral:20180228185903p:plain

 

 

 

2.スピンボタンの設定

[開発]から[挿入]をクリックし、[フォームコントロール]の[スピンボタン]を選択します。

 

※[開発]がない場合は、以下のURL

[開発] タブを表示する - Office サポート

 

f:id:stegral:20180228190217p:plain

すると、「+」の形にカーソルが変化するのでドラッグし、セルの大きさに合わせて作ります。

f:id:stegral:20180228190630p:plain

ここから、先ほど紹介した質問と回答が役に立ちます。

ここでは、少しやり方を工夫します。

 

クリックで選択状態(図のようにボタンの周りに白い点が出てる)にして、更にクリックから[マクロの登録]を選択

f:id:stegral:20180228211818p:plain

この[編集]を選択すると、ウィンドウが開きます。

 

で、

手順:
「フォームコントロールのスピンボタン」を1個セル内に配置する
リンクするセルは設定しない

ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

sub macro1()
 with activesheet.shapes(application.caller)
  .topleftcell.offset(0, 1) = .oleformat.object.value
 end with
end sub

ファイルメニューから終了してエクセルに戻る
スピンボタンを右クリックしてマクロの登録を開始、macro1を登録する

上の英語の羅列をコピーしておく。

 

開いたウィンドウは以下の図。

f:id:stegral:20180228211914p:plain

 

コピーした英語の羅列を貼り付けると

 

f:id:stegral:20180228212201p:plain

名前が「macro1」なので、後々使いたいという人は適宜、図の反転部分を変更しましょう。

 

そしたら、終了させます。

左上の[ファイル]から[終了して...]を選択

 

元のシートに戻るので、もう一度、スピンボタンを右クリックから[マクロの登録]

f:id:stegral:20180228213008p:plain

すると、「macro1」が作られています!

これを選択し[OK]

 

あとは、スピンボタンの上と下で個数を変更できます。

 

※長押しすると一気に増えますが、ボタンを離した時に個数が表示されます

 

これはオートフィルで一気に増やせます。

f:id:stegral:20180228213341p:plain

 

合計金額は表のどこに書くものか.....