現在エクセルにて商品原価計算表を作成しています。
ユーザーフォームのリストボックスへシート名を表示して選択できるように作成していたのですが、部門別に表示できないかとの社内から意見があり困っております。(ほぼ完成前だった為)
それぞれのシートに部門記入欄を作成して、部門の一致する複数のシート名をユーザーフォームのリストボックスに表示するにはどのようなコードを入力すればよろしいでしょうか?
※シートはコピーして増やします。
※シート名は商品名です。
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
当方あまり詳しくなく、ご希望にそったものかはわかりませんが...
> それぞれのシートでドロップダウンリストを使用して"営業1課""営業2課"のように原価を求める部門を表示させているのですが、
>そのセルへ入力された部門毎にシート名を抜き出してユーザーフォームへそのシート名を反映させたいのです。
-------------------
ドロップダウンリストで各シートの"A1"セルに部門を入力させると仮定します。
で、
"A1"に"営業1課"と入力された"ところてん"、"からし"、"青海苔"というシートを、ListBox1へ表示。
"A1"に"営業2課"と入力された"豆腐"、"納豆"、"牛乳"というシートを、ListBox2へ表示。
"A1"に"営業3課"と入力された"にんじん"、"大根"、"白菜"というシートを、ListBox3へ表示。
で、
"ところてん"シートを例にとると、"A1"が"営業1課"から"営業2課"へ変更されたら、
"ところてん"シートは、今まで、ListBox1へ表示されていたが、変更後は、ListBox2へ表示。
という勝手な解釈をしました。
そのコードは、以下のとおりですが...私の解釈が間違っていたら、ごめんなさい。
確認のため、 MsgBox ("営業2課 シート名 = " & Worksheets(i).Name) で、例として
[営業2課 シート名 = ところてん]
と表示させるようにしました。
不要であれば、コメントブロックしてください。
-------------------
Option Explicit
-------------------
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To Worksheets.Count
If Worksheets(i).Range("A1") = "営業1課" Then
MsgBox ("営業1課 シート名 = " & Worksheets(i).Name)
UserForm1.ListBox1.AddItem Worksheets(i).Name
ElseIf Worksheets(i).Range("A1") = "営業2課" Then
MsgBox ("営業2課 シート名 = " & Worksheets(i).Name)
UserForm1.ListBox2.AddItem Worksheets(i).Name
ElseIf Worksheets(i).Range("A1") = "営業3課" Then
MsgBox ("営業3課 シート名 = " & Worksheets(i).Name)
UserForm1.ListBox3.AddItem Worksheets(i).Name
Else
Exit Sub
End If
Next i
End Sub
-------------------
Private Sub CommandButton1_Click()
Unload Me
End Sub
-------------------
リストボックスに表示させた後の処理は、わかりませんので、とりあえずここまで。
この処理で、よかったのですか?
ご回答ありがとうございます。
まさにこの処理が必要でした。
ご教授頂いた方法を参考に一部変更して、目的の処理もできるようになりました。
※お礼が遅くなりまして申し訳ございません。
No.2
- 回答日時:
No.1です!
たびたびごめんなさい!m(__)m
入力規則のリストと大きな勘違いをしていました。
先ほどの回答は無視してください。
どうもすみませんでした!
No.1
- 回答日時:
こんばんは!
Excelの別シートの参照先をドロップダウンリスト設定にしたいということでしょうか?
通常別シートの参照先はドロップダウンリストにはできないですよね?
↓のような方法があるみたいです。覗かれてみてはどうでしょうか?
リスト表示したいセル範囲を設定して
「セルの名前」をつければ出来るみたいです。
http://plaza.rakuten.co.jp/pasodairy/diary/20050 …
参考になれば幸いです。
もし的外れの回答ならごめんなさい。m(__)m
ご回答ありがとうございます。
私の説明が下手で申し訳ございません。
それぞれのシートでドロップダウンリストを使用して"営業1課""営業2課"のように原価を求める部門を表示させているのですが、そのセルへ入力された部門毎にシート名を抜き出してユーザーフォームへそのシート名を反映させたいのです。
例:部門
営業1課(シート名"ところてん")…営業1課のリストボックスへ表示
営業2課(シート名"豆腐")…営業2課のリストボックスへ表示
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルVBAでパスの¥マークに...
-
エクセルの複数シートの保護を...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
VBAで条件によりフォントサイズ...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
エクセルでファイル保存時に複...
-
シート名ではなく、相対位置で...
-
エクセルでシート名を自動入力...
-
前の(左隣の)シートを連続参...
-
エクセルで複数設定したハイパーリンク先...
-
エクセルで前のシートを連続参...
-
excelでシート毎の最終更新日を...
-
EXCEL VBAで別のシー...
-
複数シートの色付きセルがある...
-
Accessのスプレッドシートエク...
-
シートを追加・名前を次月に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
EXCELで同一フォーマットのシー...
-
VBAでシートコピー後、シート名...
-
Excel 連番を入力する方法
-
エクセル 計算式も入っていない...
-
エクセルで前シートを参照して...
-
エクセルでシート名を自動入力...
-
Accessのスプレッドシートエク...
-
複数シートの特定の位置に連番...
-
エクセルのシート名をリスト化...
おすすめ情報