• ベストアンサー

マクロ??<EXCELに関する質問>

うまく説明が出来るかどうかわかりませんが、よくインターネット販売などで、「項目が何項目かあり、その中からチェックをすると、チェックをしたものだけ計算をして合計を自動で出す」という計算式(VBA??)を作りたいのですがどうしたらいいのでしょうか。あまりEXCELは得意ではないですが難しいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

#2のmshr1962です。初心者だとフォームの方が楽でしょうね。 ツールバーのフォームは表示できましたか? チェックボックスをセットしたら「□チェック1」となるのでここの文字を編集 編集後、ダブルクリックで表示するダイアログに「リンクするセル」が出ます。 金額を入れた隣のセルを選択してOKで閉じてください。 チェックボックスの□にマウスカソールを合わせて指の形になったらクリックしてみてください。 リンクするセルの表示が変わります。

hirovonne
質問者

お礼

すっごくよく分かりました。やりたいことができました!ありがとうございました!!

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

ウィンドウシステムでよく見かける、画面上の部品を「コントロール」といいます。 表示--ツールボックスでツールボックスをだし、コントロールを選んで、シートなどに貼り付けます。 そのコントロールの中で多いのは、操作者が「値を決めるもの」が主要なものです。 テキストボックス、リストボックス、コンボボックス、チェックボックス、オプションボタンなどはそれで、ピクチャーボックスは値を決めるとは言わないでしょうが。選択して決めた値を、エクセルの場合は、どのセルに設定するか(リンク(連結)するか、LinkedCell)が、重要で必須になります。そしてそのためそのセルを指定できるようになってます。チェックボックスの場合もON,OFFに応じてどこかのセルに値をセットできます。しかしそれがシート上見えてしまうので(値とダブって見えるので)、かえって困るのです。一たんセルに値をセットされれば、=SUMIF()のようにたとえば「B列セルの値が1であれば同行のC列の値を足せ」というような関数式が使えます。 VBAでも他の言語でも、チェックボックスの値は変数という、見えないメモリの場所に記憶されますので、その値を参照し、ONかOFFを判断し、足すか足さないかをプログラマが左右できます。 エクセル関数式には、セルを通さず、直接チェックボックスのセットする値を聞く、方法はありません。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

「ツールバー」の「コントロールツールボックス」か「フォーム」を表示させる。 ここの「チェックボックス」や「オプションボタン」をエクセル上に設置する。 リンクするセル(LinkdCell)を設定する。 A     B    C □商品名 2,000円 リンクしたセル として 合計金額=SUMIF(C列の範囲,True,B列の範囲) ※C列は非表示にするか、書式で見えないようにすること。 これならVBAを使わずにすみます。

hirovonne
質問者

補足

Cのリンクしたセルというのがちょっと分からないのですが、どのようにリンクさせればいいのでしょうか。例えば、 1. りんご   100円 2. みかん   50円 3. ばなな   30円 として、みかんとばななにだけチェックした場合どのようにしたらいいのでしょうか。。。 すみません・・・

  • lovesens
  • ベストアンサー率30% (48/158)
回答No.1

仰りたいことはわかります。 が、プログラムを書かないといけないので初心者の方には大変じゃないかな。 やり方としては 1.新規のフォーム作成 2.フォーム上にチェックする項目や実行ボタンのアイテム配置 3.実行ボタン内にプログラム記述 (各チェック項目についてアイテム.value=trueならば変数加算) これ以上は、内容もアイテム名称も良くわかりませんし書きようがないです。。。

関連するQ&A