- 締切済み
エクセル スピンボタンの設定方法 広範囲セル
販売業をやっております。 時間帯別の集客人数表をエクセルで作り、人数をクリックで増減(増だけで問題ないです)させたいと思っております。 使用しているエクセルのバージョンは2002です。 インターネットで調べ、スピンボタンという機能を使えば出来そうだというところまでは行きました。 B3セル~H27まで広範囲にセルを設定し、それぞれ1つごとのセルにスピンボタンの機能を反映させたいと思っております。 自分で作ってみたのですが、特定の1セル(B3)しかボタンのクリックに反映されなく、正しい設定方法を知りたいと思っております。 ※設定方法に関して、”スピンボタン→コントロールの書式設定→リンクするセル”で広範囲にセルを設定しても1つのセルしかボタンに反映されない状態です。 自身で調べたのですが解決できなかったため、詳しい方いらっしゃいましたらアドバイスお願い致します。 表は現物を見て頂いたほうが早いかと思い添付しております。 どなたかアドバイス宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- skp026
- ベストアンサー率45% (1010/2238)
セルひとつひとつにスピンボタンを、 配置するようにする方法が考えられます。 しきいは高いと思いますが、 選択されたセルにカウントアップするよう、 スピンボタンコントロールのイベントに、 VBAで記述する方法もあります。 あとは考え方を変える方法もあります。 ひとつのシートに行単位で顧客情報を追加し、 別途のシートで集計する方法です。 これですと、時間だけでなく、 性別をいれたり、推定年齢をいれたりして、 別途に集計することができます。
- imogasi
- ベストアンサー率27% (4737/17069)
スピンボタンやコマンドボタンなどの(部品という)ことを、コントロールと言います。 1シートや1フォームに、「同じ種類のコントロール」を複数(5個ぐらい以上かな)個貼りつけたとします(電卓を作る、VBAの練習問題を考えても、こういうことが起こります)。それらのどれか1個をクリックなどした時に、どの(1つの)コントロールをクリックしたのか知らないと、処理が進まないことが普通です。 しかし、こういうのは「コントロール配列」言い、可能であれば、システムが、どれをクリックしたか、(VBA)の引数で教えてくれます。しかしエクセルVBAでは正面からコントロール配列を使わしてくれない。そこでいろんな方策の解説がWEBにあります。そういうのを勉強して、むつかしさを、判ってください。 VBAの勉強を避けて、手操作や設定だけではできない世界のことと思います。 質問にはVBAのことは1言も出てきませんが、その状態だと、これからの大勉強が必要かなと思う。 VBAを勉強し、WEB解説を調べてください。 Googleで「vba コントロール配列」などで照会すること。何万件も記事があります。 たとえば、http://itpro.nikkeibp.co.jp/article/COLUMN/20070511/270730/?rt=nocnt 「複数のコントロールを配列のように処理したい」 など。 質問の具体的な説明が不足していると思います。 スピンボタンに行き着いたのが、素人考えのように思います。 お遊びですが、ご笑納下さい。 シートのセルをクリックして、増加数を出すことはVBAで可能かと思います。 例 Sheet1に A列 B列 日付 来店客数 6月1日 234 6月2日 345 6月3日 201 6月4日 478 と入れます。 Sheet1のシートモジュールに(どこにどうするかは勉強して) Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row <> 2 Then MsgBox Target - Target.Offset(-1, 0) Else MsgBox "月初日です" End If End Sub Sheet1のB列をクリックすると、前日比の人数が、画面に出ます。
- intin
- ベストアンサー率33% (8/24)
リンクするセルには「1つのセル」しか書かないのが普通ではないかと思います。 複数のセルのカウントを増やしたい場合には、1つのセルごとにスピンボタンを1つ作るのだと思います。 あるいは、 http://okwave.jp/qa/q4024270.html に書かれているようなマクロを作って、 参考URLのような感じで図形でボタンを作っても、同じことができると思いますよ。