
現在エクセルにて商品原価計算表を作成しています。
ユーザーフォームのリストボックスへシート名を表示して選択できるように作成していたのですが、部門別に表示できないかとの社内から意見があり困っております。(ほぼ完成前だった為)
それぞれのシートに部門記入欄を作成して、部門の一致する複数のシート名をユーザーフォームのリストボックスに表示するにはどのようなコードを入力すればよろしいでしょうか?
※シートはコピーして増やします。
※シート名は商品名です。
宜しくお願い致します。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで同一フォーマットのシー...
-
エクセルの複数シートの保護を...
-
EXCELで1ヶ月分の連続した日付...
-
別シート参照のセルをシート毎...
-
複数シートの特定の位置に連番...
-
特定のシートの削除を禁止した...
-
シートの保護のあとセルの列、...
-
特定のセルだけ結果がおかしい...
-
Excelで同じシートのコピーを一...
-
エクセルで前シートを参照して...
-
前の(左隣の)シートを連続参...
-
エクセルで毎回1枚目のシートを...
-
エクセルVBA 串刺し計算の際、...
-
Excelマクロ:複数シート同座標...
-
②Excel 簡単にシートコピーした...
-
シートを任意の日付で自動で作...
-
ピボットテーブルの集計セルを...
-
複数のピボットを同じフィルタ...
-
【Excel】 左のシートの特定セ...
-
エクセルで複数シートを別のシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
エクセル 計算式も入っていない...
-
EXCEL:同じセルへどんどん足し...
-
エクセルで前シートを参照して...
-
Excelのシートを、まとめて表示...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
Excelで金銭出納帳。繰越残高を...
-
特定のシートの削除を禁止した...
-
エクセルで複数設定したハイパーリンク先...
-
EXCELで1ヶ月分の連続した日付...
-
VBAで条件によりフォントサイズ...
-
シートの保護のあとセルの列、...
-
至急お願いします。エクセルシ...
-
VBAでシートコピー後、シート名...
-
エクセルで毎回1枚目のシートを...
-
エクセルで前のシートを連続参...
おすすめ情報