Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7499 / 13644 ツリー ←次へ | 前へ→

【38791】Listbox指定 エヴァ 06/6/10(土) 11:56 質問[未読]
【38792】Re:Listbox指定 Blue 06/6/10(土) 12:04 質問[未読]
【38793】Re:Listbox指定 エヴァ 06/6/10(土) 12:36 質問[未読]
【38794】Re:Listbox指定 Kein 06/6/10(土) 12:41 回答[未読]
【38797】Re:Listbox指定 エヴァ 06/6/10(土) 13:18 質問[未読]
【38798】Re:Listbox指定 Kein 06/6/10(土) 13:34 回答[未読]
【38800】Re:Listbox指定 エヴァ 06/6/10(土) 15:07 質問[未読]
【38803】Re:Listbox指定 Kein 06/6/10(土) 15:20 発言[未読]
【38804】Re:Listbox指定 エヴァ 06/6/10(土) 16:16 お礼[未読]

【38791】Listbox指定
質問  エヴァ  - 06/6/10(土) 11:56 -

引用なし
パスワード
   Listboxへ別ブックのシートを表示したいのですが、指定の仕方がわかりません。
どなたか教えて下さい。

【38792】Re:Listbox指定
質問  Blue  - 06/6/10(土) 12:04 -

引用なし
パスワード
   ▼エヴァ さん:
>Listboxへ別ブックのシートを表示したいのですが、指定の仕方がわかりません。
>どなたか教えて下さい。
もう少し具体的に説明してください。

一般的にリストボックスにシートは表示できません。
シート名やセルの内容等の文字列なら表示できます。

【38793】Re:Listbox指定
質問  エヴァ  - 06/6/10(土) 12:36 -

引用なし
パスワード
   ▼Blue さん:
>もう少し具体的に説明してください。
>
>一般的にリストボックスにシートは表示できません。
>シート名やセルの内容等の文字列なら表示できます。
使用材料表を作成しようとしています。
別ブックへメーカー別にシートを作成し材料を入力しています。
listboxを2つ設定し、1のlistboxへメーカー名を入れ指定したメーカーの材料を
2のlistboxへ表示しようとしています。
同じブック内の場合は、rowsource指定でよかったのですが…

【38794】Re:Listbox指定
回答  Kein  - 06/6/10(土) 12:41 -

引用なし
パスワード
   Dim WS As Worksheet

For Each WS In Workbooks("Book2.xls").Worksheets
  ListBox1.AddItem WS.Name
Next

というように AddItem を使えばリストにすることが出来ます。

【38797】Re:Listbox指定
質問  エヴァ  - 06/6/10(土) 13:18 -

引用なし
パスワード
   ▼Kein さん:
>Dim WS As Worksheet
>
>For Each WS In Workbooks("Book2.xls").Worksheets
>  ListBox1.AddItem WS.Name
>Next
>
>というように AddItem を使えばリストにすることが出来ます。
質問が悪かったと思いますが、lsitboxへの表示は、別ブックのシート内の一定の
セル範囲です。
あらかじめ、別ブックのシートのセル範囲が分かっている時、listboxの
rowsourceのように一括で指定はできないでしょうか?
回りくどくなりましたが、アクティブでない別ブックのシートのセルの内容を
listboxへ表示したのですが、指定方法(別ブックの指定・フルパス)が分からないのです。よろしくお願いします。

表示

【38798】Re:Listbox指定
回答  Kein  - 06/6/10(土) 13:34 -

引用なし
パスワード
   シートに配置したものでなく、ユーザーフォームのリストボックスですか ?
そのへんを正確に伝えてください。
で、ユーザーフォームであれば、以下のように AddItem によって
リストを作成することが出来ます。

Private Sub UserForm_Initialize()
  Dim WB As Workbook
 
  On Error Resume Next
  Set WB = Workbooks("Book2.xls")
  If Err.Number <> 0 Then
   Set WB = Workbooks.Open(Application _
   .DefaultFilePath & "\Book2.xls")
   Err.Clear
  End If
  On Error GoTo 0
  For Each C In WB.Sheets("Sheet2").Range("B2:B11")
   Me.ListBox1.AddItem C.Value
  Next
  Set WB = Nothing
End Sub

【38800】Re:Listbox指定
質問  エヴァ  - 06/6/10(土) 15:07 -

引用なし
パスワード
   ▼Kein さん:
すみませんでした。
ユーザーフォームのリストボックスです。
>  For Each C In WB.Sheets("Sheet2").Range("B2:B11")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
でerrorになります。
変数のCは設定は必要では?
Cの変数の設定はどのように?

【38803】Re:Listbox指定
発言  Kein  - 06/6/10(土) 15:20 -

引用なし
パスワード
   Dim C As Range

と、宣言を追加して下さい。

【38804】Re:Listbox指定
お礼  エヴァ  - 06/6/10(土) 16:16 -

引用なし
パスワード
   ▼Kein さん:
keinさん 
表示ができました。
やっと、次の段階へ進めます。
ありがとうございました。

7499 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free