Excel VBA質問箱 IV

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

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


7198 / 13646 ツリー ←次へ | 前へ→

【40601】コンボボックスのリストについて TANAKA 06/7/18(火) 18:19 質問[未読]
【40603】Re:コンボボックスのリストについて ハト 06/7/18(火) 18:41 回答[未読]
【40604】Re:コンボボックスのリストについて ichinose 06/7/18(火) 18:45 発言[未読]
【40607】Re:コンボボックスのリストについて TANAKA 06/7/18(火) 19:23 お礼[未読]

【40601】コンボボックスのリストについて
質問  TANAKA  - 06/7/18(火) 18:19 -

引用なし
パスワード
   いつも拝見させてもらっています。
今回、私もVEAを挑戦しましたが壁にぶち当たってしまいました。

ユーザーフォームのコンボボックスのリストについて質問させてください。
ワークシートAからユーザーフォームを呼び出して
ワークシートBのA1:Z1の行のデータをリストに表示させたいのですが
上手くいきません。
A1:A26の列のデータだと表示するのですが・・・

どうしてでしょうか?どなたか宜しくお願い致します。

【40603】Re:コンボボックスのリストについて
回答  ハト  - 06/7/18(火) 18:41 -

引用なし
パスワード
   ▼TANAKA さん:
>いつも拝見させてもらっています。
>今回、私もVEAを挑戦しましたが壁にぶち当たってしまいました。
>
>ユーザーフォームのコンボボックスのリストについて質問させてください。
>ワークシートAからユーザーフォームを呼び出して
>ワークシートBのA1:Z1の行のデータをリストに表示させたいのですが
>上手くいきません。
>A1:A26の列のデータだと表示するのですが・・・
>
>どうしてでしょうか?どなたか宜しくお願い致します。

コンボボックス等のリストは1行に複数項目を表示する事ができます
その為、RowSource に『A1:C2』 と設定した場合
リストには

1行目 A1 B1 C1
2行目 A2 B2 C2

と認識する仕様になっています

1行目 A1
2行目 B1

のようにA1:Z1 のデータをリスト表示したい場合、

RowSource を使わず

Private Sub UserForm_Initialize()

  For i = 1 To 26
    Me.ComboBox1.AddItem Cells(1, i).Value
  Next

End Sub

の様にAddItem等を使って、登録するような処理を記述する必要があります

【40604】Re:コンボボックスのリストについて
発言  ichinose  - 06/7/18(火) 18:45 -

引用なし
パスワード
   ▼TANAKA さん:
こんばんは。

>いつも拝見させてもらっています。
>今回、私もVEAを挑戦しましたが壁にぶち当たってしまいました。
>
>ユーザーフォームのコンボボックスのリストについて質問させてください。
>ワークシートAからユーザーフォームを呼び出して
>ワークシートBのA1:Z1の行のデータをリストに表示させたいのですが
>上手くいきません。
どういうコードを記述して駄目だったのですか?
With combobox1
  .list()=worksheets("B").range("a1:z1").value
  end with
なんてコードだと一行しか登録されませんね!!

List()にこだわるなら、

  With ComboBox1
    .List() = Application.Transpose(Worksheets("B").Range("a1:z1"))
    End With

他にも

  With ComboBox1
    .Column() = worksheets("B").Range("a1:z1").Value
    End With

こんな方法もあります。確認してください。


>A1:A26の列のデータだと表示するのですが・・・
>
>どうしてでしょうか?どなたか宜しくお願い致します。

【40607】Re:コンボボックスのリストについて
お礼  TANAKA  - 06/7/18(火) 19:23 -

引用なし
パスワード
   ハト様、ichinose様
早々のご回答有り難うございました。
解決しました。

結果的にはichinose様の
With ComboBox1
  .List() = Application.Transpose(Worksheets("B").Range("a1:z1"))
End With
を引用させていただきました。
他の引用も試したいと思います。
いつもながらどんなに悩んでいても道は一つではないという事を
実感させられます。

お二人とも今回は有り難うございました。
とても感謝しております。

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