Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


41540 / 76732 ←次へ | 前へ→

【40271】Re:ボタンは使わず表示(計算)
発言  ichinose  - 06/7/10(月) 13:51 -

引用なし
パスワード
   こんにちは。

これ意外と厄介なんですよ、VBAでは・・・。

テキストボックスが5個や6個なら、
TextboxコントロールのExitイベント、または、AfterUpdateイベントで
合計計算を行うコードを記述すればよいでしょうが・・・。


テキストボックスが146個という沢山の個数だとどうしても

Exit、または、AfterUpdateイベントに同じようなコードを記述しなければ
なりません(想像するに100個ぐらいのテキストボックスのイベントに似たようなコードを記述することになるのではないか、と思います)。

これを簡潔なコードにするには、クラスモジュールを使用するという方法がありますが

(これは、過去ログで「クラスモジュール」で調べてください)、

残念ながら、ExitやAfterUpdateイベントはクラスでは使えません。

では、他のイベントとして、Changeイベントでは、
一文字入力するたびにイベントが発生してしまうので合計を求めるイベントとしては
不向きだと思います。が、てつじさんが試してみてこれでよければ、
第一候補はChangeイベントです。


他には、KeyDownイベントで計算させる方法が考えられます。
このイベントだとクラスでも使えるし、キー(Enterキー)が押された時に
イベントが発生しますから、計算のタイミングも良いのですが、
マウスでテキストボックスを移動してしまうとイベントが発生しません。

ね、帯に短し、襷に・・・でしょう?

で、私なら、

1 Spreadsheetコントロールを使うか

2 現状のボタンのクリックで計算という仕様にするか

3 独自の擬似Exitイベントを作ってしまうか

ですが、

全部、検討してみてください。


>先ほどは、皆様アドバイスをありがとうございました。
>質問なんですが、現在はform上に横に42個、たてに4行の計168個のtextboxが配置してあり、box内に数値を打ち込み、別のtextboxに合計等表示させています。ボタン「集計」をクリックしたら表示させるようにしているのですが、ボタンをはぶいて、textboxに数値を記入すると同時に計算され別のtextboxに表示させることはできますか?
>form自体にコードを打っても意味はないし・・・。どうすればよいですか?
0 hits

【40261】ボタンは使わず表示(計算) てつじ 06/7/10(月) 11:39 質問
【40267】Re:ボタンは使わず表示(計算) Jaka 06/7/10(月) 13:18 回答
【40272】おまけ Jaka 06/7/10(月) 14:11 発言
【40271】Re:ボタンは使わず表示(計算) ichinose 06/7/10(月) 13:51 発言
【40274】Re:ボタンは使わず表示(計算) てつじ 06/7/10(月) 14:42 お礼

41540 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free