フォームを作り、その上に2列×15個のテキストボックスを配置しました。(2列15行の「表」(ひょう)のような状態です。)
左列は入金関係、右列は出金関係金額を入力します。
一番下行のテキストボックス2つは各列の合計(入金合計・出金合計)を入れたいのです。
各列の、どれかのテキストボックスに値が入力されたら、即時にその列の合計を変えたいのです。
複数の(同種と仮定して)コントロールをグループ的にまとめて考えて、そのどれかにイベントが起こったことを捉える方法はあるのでしょうか。14×2個のテキストボックスのChangeイベントを書けば良いとかを思い付くのですが鬱陶しいのと、VBAプログラムのレパートリーを広げたくて、どなたか(不可能という結論も含めて)、ご存知の方は教えてください。
98・Access97・Access2000です。
No.1ベストアンサー
- 回答日時:
こんにちは。
maruru01です。おそらくかなり面倒だと思いますが、レパートリーを広げたいということなので、紹介します。
ただし、本に載っていた(しかもVB)だけで、実際に私は試してないので本当に出来るかどうかわからないですが。
やり方ですが、フレキシブルグリッドを使用する方法です。
フレキシブルグリッドは、ツールボックスのその他のコントロールの中の
「Microsoft FlexGrid Control, version 6.0」
を選択して配置します。
このフレキシブルグリッドは、エクセルの表のようなデザインをしています。ただし、ユーザーが直接入力出来ません。
そこで、テキストボックスをグリッドのセルと同じ大きさで用意します。
そして、グリッドのEnterかGotFocusイベントで、
1.どのセルが選択されたかを取得
2.そのセルの上にかぶせるようにテキストボックスを移動
3.テキストボックスにフォーカスを移動
4.テキストボックスにセルの内容を代入
ここでユーザーがテキストボックスに入力し、テキストボックスからフォーカスが移動したらそのExitかLostFocusイベントに
5.テキストボックスの真下のセルにテキストボックスの値を入力
6.グリッドのセルの値(変更後)を元に再計算
仮にテキストボックスからEnterや矢印キーで移動したら、別のセルへ移動して、また1.から繰り返す。
こんな感じです。
要は、いくつ入力欄があっても、実際に入力するのは1箇所だけなので、そこにテキストボックスを持ってきて入力するということです。
細かいところはいろいろ調整しないといけないと思います。
おそらく、全部のテキストボックスのイベントを書く方が、簡単で早く出来ると思いますが、まあ、時間に余裕があったら試してみて下さい。
では。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) Vba テキストボックスの文字列をボタンで入力するとテキストボックスの端の文字列が更新されない 2 2022/05/21 23:32
- Visual Basic(VBA) テキストボックスの値を該当セルに登録する方法 2 2022/11/23 18:47
- Visual Basic(VBA) Excel VBA ユーザーフォーム内のラベルにテキストボックスの小計を出す方法 5 2022/08/17 14:27
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA レジストリの値の読み方に...
-
VBAの計算で@が出てしまう件
-
2つのマクロでチェックボックス...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
Excel VBA 定義されたプロージ...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBA listBoxについて
-
Excelのマクロでワードのテキス...
-
Vba SelStart、SelLen教えてく...
-
現在のブックを閉じないで、マ...
-
VBA listBoxから
-
VBAで各列の"+"と"o"の合計数を...
-
エクセルのマクロについて教え...
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
ExcelVBA シート名を複数セルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
アクセスできない保護レベルエ...
-
VBAで入力数値について
-
visual basic初心者です。 visu...
-
ユーザーフォームへのデータ入...
-
【VB.NET】テキストボックスに...
-
Excel ユーザーフォームで計算 ...
-
VBでの入力値制限について
-
ACCESS 除算での小数点切上げ方法
-
テキストボックスを空白にする方法
-
【C#】コンボボックスにおけるS...
-
visual studio 2008 C# で、値...
-
TEXTBOXの表示形式の変...
-
テキストボックス1の値に対する...
-
256色で任意の色を作成する時、...
-
VBAのフォーム カーソル移動
-
VBAのユーザーフォームで、テキ...
-
Vba 電卓のテキストボックスに...
-
VBSのプログラム
-
TextBoxの内容を右寄せ
おすすめ情報