• ベストアンサー

チェックボックスをセルの中で操作したい

添付画像のような表を作っております。Excel 2007です。 表横に書いてある通りなのですが、チェックボックスと現在の○を置き換え、かつそれを表内の計算に連動させたいのです。 エクセルは普段使ったことが無く、この表だけでも3時間程かかったくらいのエクセル音痴です。 おそらくVBAがからんでくると思うのですが、教えてください。

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

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

>チェックボックスと現在の○を置き換え、かつそれを 普通はこんな方法は取らない。 まして初心者が、思いつきで複雑なことを考えないこと。 チェックボックスなどコントロールというが、このら利用はVBAが出来て初めて自在に使えるもの。 ○をセルに入れることが、チェックボックスをクリックすることに当たるのではないのか? そう考えれば、ある列の丸の数を、エクセル関数(COUNTIFで勘定)でだし、大複の単価に当たるセルの数と掛け算すれば仕舞いではないか。 =COUNTIF(B3:B10,"○") B3:B10の丸のセルの数。 問題を私が誤解している? 丸の入力を出来るだけ簡単にしたいのならそういう質問もありえるだろう。 ○の入力は1つどこかのセルに入れておき、望むセルにD&Dすれば、セル位置を間違えないようにすれば○が入る。 CTR++C,CTRL+Vでも良いだろう。 >VBAがからんでくると思うのですが 絡ませないようにすべきなのだ。VBAでも中級の課題。

bouyatetu0
質問者

お礼

ありがとうございます。 まさにやりたかったのはこのことです。VBAすら使わずに出来てしまうんですね。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 別案です。 セルをダブルクリックすると「〇」が表示される方法はどうでしょうか? VBAになってしまいますが・・・ ↓の画像でダブルクリックで「〇」表示範囲をB6~H20セルの範囲としています。 操作したいSheet見出し上でみぎクリック → コードの表示 → VBE画面が出ますので、 ↓のコードをコピー&ペーストして範囲内をダブルクリックしてみてください。 ※ 範囲内は「〇」のみの表示とします。 ※ すでに「〇」が入っているセルをダブルクリックすると「〇」が消えるようにしています。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("B6:H20")) Is Nothing Then Exit Sub Cancel = True If Target = "" Then Target = "〇" Else Target = "" End If End Sub 'この行まで ※ セルの操作範囲を変更したい場合は >Range("B6:H20") の部分で適宜変更してみてください。 そして「〇」数と合計額は別セルにしています。 B21セルに =IF(COUNTA(B6:B20),COUNTA(B6:B20),"") B22セルに =IF(B21="","",B21*B5) という数式を入れ、B21・B22セルを範囲指定 → B22セルのフィルハンドルでH22セルまでオートフィルでコピーします。 以上で画像のような感じになります。 ご希望の方法でなかったらごめんなさいね。m(_ _)m

bouyatetu0
質問者

お礼

ありがとうございます。 VBAを使う機会があれば、参考に致します。

すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

別にマクロとか,ワザワザ使う必要はありません。丁寧に手を動かしていけば,特に難しい内容は何も無しで作成できます。 画面左上の丸いOfficeボタンからExcelのオプションの基本設定で,開発タブを表示にチェックする 開発タブにある「挿入▼」から上段にある「フォーム」のチェックボックスを,○のセルの上に描画する。まず一個目の○のセル,B6:C6がセル結合してあるのかな?のその上に置くって事です。 チェックボックスを右クリックしてコントロールの書式設定から,リンクするセルとして自分が乗っているセル(B6)を設定する。 ただし自分が複数セルに跨って乗ってるからといって,B6:C6を設定するんじゃないので,間違えて余計なことをしないように。 同じ手順でマス目の全てにチェックボックスを載せ,リンクするセルとしてそれぞれ自分が載っているセル(B6,B7,B8…,D6,D7,D8…)を設定する リンクするセルにしたセル範囲を選び,フォントの色を白にする B20に個数の集計(いま3になってるセル)があるとすると,B20に =SUMPRODUCT(B6:B19*1) と数式を記入する。他の列も同様に。 個数の集計が出来たら,隣のセルに個数×単価の計算式を入れておく。これはもうできてますね? 以上です。

bouyatetu0
質問者

お礼

ありがとうございます。 ファイルが重くなることと、エラーが起きてしまいやすいことから、この方法は躊躇しておりました。

すると、全ての回答が全文表示されます。

関連するQ&A