- 締切済み
エクセルマクロで参照して表示方法
エクセルマクロを作成しているのですが、以下のようなものが作りたいです。 (1)1シート(メインシート)A1セルに「媒体1」「媒体2」が選択があります。 (2)1シートB1セルには管理番号「100-000-000」とあります。 (3)2シートには、管理シートがあり、以下のようになっています。 この管理シートには、A1セルに「管理番号」記載。B1には媒体名が記載されています。 ■質問 ・メインシートで、媒体1を選択した場合、管理シートを参照して、 管理番号を自動で呼び出すにはどうすればいいのでしょうか。 (既に100-000-001が登録してあった場合は、メインシートのB1セルには100-000-002にしたいです。) ・媒体2を選択した場合、管理シートを同じように参照します。 (既に200-000-005が登録してあった場合、メインシートのB1セルには200-000-006にしたいです。) ※いずれも該当する媒体の数字が大きいものに+1になります。 ※200-000-999だった場合、数字を繰り上げて、200-001-000にしたいです。 ご教授お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
> この管理シートには、A1セルに「管理番号」記載。B1には媒体名が記載されています。 管理シートの A列 B列 管理番号 媒体名 100-000-001 媒体1 ・・・ とデータが上から順に入力されているということですよね。 私であれば 管理シートのA列は、表示形式を 000-000-000 と設定して、入力時は すべて数値を入れておき、表示だけが 3ケタごとに - が入るようにしておきます。 メインシートの次の管理番号を表示したいセルに =MAX(IF(管理シート!B:B=A1,管理シート!A:A,0)) と式を入れて Ctrl+Shift+Enter で決定させて配列関数にします。 管理シートのB列が A1で指定した媒体名の最大値に 1をプラスします。