• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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/7940)
回答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

  • チェックボックスにチェックしたセル(?)のみ合計計算(エクセル)

    エクセルで注文表を作りたいのですが、注文したい商品のチェックボックスにチェックした商品の金額のみ合計計算することはできますでしょうか? チェックボックスを貼り付けるところまではわかるのですが、関数などをつければよいのか全くわかりません。 詳しくないのでどなたかわかる方がおられましたら教えて下さい。

  • Excelで各行にチェックボックスを設けたのですが

    よろしくお願いします。 Excel2000で表計算をしており、各行にチェックボックスをつけているのですが、行を並び替えするとチェックボックスは並び替えされません。 一緒に並び替えされるようにはできないのでしょうか?

  • エクセル VBA チェックボックスについて

    エクセルVBAを勉強中で、入力フォーム作成に挑戦中です。(エクセル2010) 質問ですが、 数量表の入力ホームなので、出来るだけキーボードのテンキーでの操作が出来るようにと考えております。 チェックボックスを使用し、テキストボックスの入力制限を掛けていますが、チェックボックス上でキーボード操作(1とかAを押す)を行うとチェックが入るように出来るのでしょうか? よろしくお願いします。

  • エクセルでチェックボックスって使えるのでしょうか?

    ある様式を作っておいて、お客さんごとにその様式に記入しているのですが、 たとえば ○○○○さん  ■男 □女 の「 ■□ 」をいつも「しかく」と打ち込んで変換しています。 エクセルの表の中にチェックボックスを作ってクリック1つでチェックすることって出来るのでしょうか?また、そのチェックを計算に発展することは出来るのでしょうか? どなたか教えてください。よろしくお願いします。

  • テキストボックスに入力するとチェックボックスのチェックが入るようにするには

    Excelのユーザフォームについて質問させていただきます。 チェックボックスとテキストボックスがそれぞれ複数あります。 テキストボックスに入力すると、横にあるチェックボックスに 自動的にチェックが入るようにしたいのですが、 どのようにすればいいのでしょうか。        

  • VBAチェックボックスについて教えて下さい。

    EXCELのActiveXのチェックボックスを使用して、下記のようなことができるのか。 また、できるのであれば、方法を教えていただければと思います。 他の方法でこちらのほうが最適などあれば、教えていただければと思います。 表の入力をする際 添付のようにチェックボックスにチェックを入れるとabdfの項目の下に◯が入力されるということをしたいです。 直接入力することが有りますので、関数を入れることが出来ません。 ご回答の程よろしくお願い致します。

  • チェックボックスの数をセルの数と連動させる方法

    VBA初心者です。 特定のセルに表示される数を読み取り、表示するチェックボックスの数と連動させたいのですが、 どうしたらよいか分かりません。 ※現状は。。 チェックボックスは必ず1つは表示させるため、 チェックボックスを増やす方法はFor ~ NEXTを使い、コピー&ペーストで、できるのでは?と思っているのですが。。。 セルに表示される数だけ繰り返しをさせる方法が分かりません。。。。 もしアイディアがありましたら、何卒よろしくお願いいたします。

  • エクセルVBAでのチェックボックス操作

    エクセルを利用した、VBAで困っています。 所定のsheetに埋め込まれたチェックボックスに対して、 別sheet内のセルの値を参照し、結果をオン、オフという 操作を行いたいのですが、チェックボックスに対するVBAでの指定方法 が分かりません。 イメージとしては (1)Sheet1内にチェックボックスがある。  該当チェックボックスは7個のチェックボックスで構成されており  それぞれにchb1~chb7といったオブジェクト名がある。 (2)sheet2のA1セルに特定の値が入っていればチェックボックス(chb1)  がオン値がなければオフのまま (3)sheet2のB1セルに特定の値が入っていればチェックボックス(chb2)  がオン値がなければオフのまま という感じです。 先方より指定された様式なのでsheet1の内容や書式を変更することが出来ないので、なんとか埋め込まれたオブジェクトを操作したいのですが・・・ 良い方法があれば教えてください。

  • Excel VBAのチェックボックスについて

    こんばんは、Excel vbaのチェックボックスについてご教授をお願いします。 Userformを作成しています。 チェックボックスを横に4つ配置したとします。その際、常にどれか一つのチェックボックスにしかチェックできないようにしたいのです(チェックしたあとに、違うチェックボックスにチェックしたら、先にチェックしてあるのもはチェックを消したい)。 このような事をしたい場合、マクロ記述での操作になるのでしょうか?それとも、何か違う操作かコマンドがあるのでしょうか?4つ一組でたくさん並べたいので、すべてにマクロ記述となると大変かな?と思いまして・・・。もし、マクロ記述でしか方法が無い場合、マクロ記述の内容も教えて頂ければと思います。 申し訳ありませんが、よろしくお願いします。 ※Excel2000を使用しています。

  • エクセルVBA チェックBoxとテキストBox

    VBA勉強中の者です。エクセル2010使用 前回も同じような件で質問したのですが、入力フォームを作成中。 数量表の入力ホームなので、出来るだけキーボードのテンキーでの操作が出来るようにと考えております。 チェックボックスのon/off でテキストボックスの入力の可否を出来るようにしています。これが7組あるとします。(チェックボックス1に対してテキストボックス1に数値が入力出来るように) 質問(1) チェックが入っていれば、呼応したテキストボックスへエンターキーで移動。 チェックを入っていなければ、エンターキーで次のチェックボックスへ移動するようにしたいのです。 質問(2) シートへの転記の際は、7組の間に『、』カンマを入れたいのですが、当然チェックのないものは必要ないので、カンマが要らない事になります。初心者の考えでは単純に条件式をその通り数書くことになるのかと思うとゾッとしますが、少しでも条件式を減らす方法があれば、ご教授願います。 分かり難くて、すみません。

専門家に質問してみよう