プロが教える店舗&オフィスのセキュリティ対策術

現在エクセルにて商品原価計算表を作成しています。
ユーザーフォームのリストボックスへシート名を表示して選択できるように作成していたのですが、部門別に表示できないかとの社内から意見があり困っております。(ほぼ完成前だった為)
それぞれのシートに部門記入欄を作成して、部門の一致する複数のシート名をユーザーフォームのリストボックスに表示するにはどのようなコードを入力すればよろしいでしょうか?
※シートはコピーして増やします。
※シート名は商品名です。

宜しくお願い致します。

A 回答 (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
-------------------

リストボックスに表示させた後の処理は、わかりませんので、とりあえずここまで。

この処理で、よかったのですか?
「セルの値の一致する複数のシート名をユーザ」の回答画像3
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
まさにこの処理が必要でした。
ご教授頂いた方法を参考に一部変更して、目的の処理もできるようになりました。
※お礼が遅くなりまして申し訳ございません。

お礼日時:2009/03/18 08:18

No.1です!


たびたびごめんなさい!m(__)m

入力規則のリストと大きな勘違いをしていました。
先ほどの回答は無視してください。
どうもすみませんでした!
    • good
    • 0
この回答へのお礼

いえいえ気になさらないで下さい。

お礼日時:2009/03/11 21:39

こんばんは!


Excelの別シートの参照先をドロップダウンリスト設定にしたいということでしょうか?
通常別シートの参照先はドロップダウンリストにはできないですよね?

↓のような方法があるみたいです。覗かれてみてはどうでしょうか?
リスト表示したいセル範囲を設定して
「セルの名前」をつければ出来るみたいです。
http://plaza.rakuten.co.jp/pasodairy/diary/20050 …
参考になれば幸いです。
もし的外れの回答ならごめんなさい。m(__)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
私の説明が下手で申し訳ございません。
それぞれのシートでドロップダウンリストを使用して"営業1課""営業2課"のように原価を求める部門を表示させているのですが、そのセルへ入力された部門毎にシート名を抜き出してユーザーフォームへそのシート名を反映させたいのです。

例:部門
  営業1課(シート名"ところてん")…営業1課のリストボックスへ表示
  営業2課(シート名"豆腐")…営業2課のリストボックスへ表示

宜しくお願い致します。

お礼日時:2009/03/11 21:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!