Excel VBA質問箱 IV

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

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


6951 / 76732 ←次へ | 前へ→

【75377】コンボボックスのRowSourceを使ったフォームでの選択
質問  Domingo  - 14/3/14(金) 17:04 -

引用なし
パスワード
   初めて投稿します。Excel VBAで以下のことを行いたいと考えています。

データ参照用のシートに、世界の大陸と所属する国のデータを用意します。
縦方向に大陸が、横方向に各大陸の国が記載されています。

各大陸から1つの大陸を選択し、その大陸の中から1つの国を選択します。
その結果をExcelの別のシートに書き出すというものです。
これを行うため、ComboBoxのRowSource機能を用いて、データ参照用のシート上で
大陸の範囲を縦方向に特定し、その後国の範囲を横方向に特定する方法で行います。

問題は、最初に大陸を選択する時にドロップダウンボタンを押すと、縦方向にデータが表示され正常に選択もできるのですが、国で行うと横方向のため、横表示となり、選択すると常に一番左の国名しか選択できません。

どのようにすれば、国名も縦方向に表示され、国が1つだけ選択することができるでしょうか?お知恵を拝借したいと存じます。なお、以下にソースの一部を掲載します。また、Transpose関数を使って何かできないか考えましたが、良い考えが浮かびませんでした…

(大陸の選択に関する記述)
With Selection
  column = .Rows.Count       '同上領域の列数を取得する
  area = .Cells(1, 1).Address & ":" & .Cells(column, 1).Address '同上領域のアドレスを変数に
End With
  
ComboBox1.RowSource = sht_name & "!" & area 'コンボボックスのリストのソースを設定する

(国の選択に関する記述)
With Selection
  row = .Columns.Count       '同上領域の列数を取得する
  area2 = .Cells(column, 2).Address & ":" & .Cells(column, row).Address '同上領域のアドレスを変数に
End With
  
ComboBox2.RowSource = sht_name & "!" & area2 'コンボボックスのリストのソースを設定する

1 hits

【75377】コンボボックスのRowSourceを使ったフォームでの選択 Domingo 14/3/14(金) 17:04 質問
【75378】Re:コンボボックスのRowSourceを使ったフォ... kanabun 14/3/14(金) 20:09 発言

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