
エクセルVBA 別シートからのコンボボックス連動について
Book1(多人数入力用ブック)
・入力シート
・データ用シート
Book2(反映用ブック)
・シート1
Book1にコンボボックスが2列 テキストボックスが2列 * 6行のユーザーフォームを作成しました。
コンボボックス1 コンボボックス2 テキストボックス1 テキストボックス2
コンボボックス3 コンボボックス4 テキストボックス3 テキストボックス4
・
・
・
左のコンボボックスで「あ」が選ばれたときには、右のコンボボックスで「あ行の顧客」・・・というように連動させたいと考えております。
データ用シートのデータは、
A B C
1 あ あ行で始まる顧客 か行で始まる顧客
2 か
3 さ
4 た
5 な
6
Private Sub UserForm_Initialize()
Dim c As Range
ComboBox1.RowSource = "データ用シート!A1:A9"
End Sub
Private Sub ComboBox1_Change()
'Dim Rng As Range
'Dim i As Long
i = ComboBox1.ListIndex
If i > -1 Then
Dim c As Range
Set Sh = Worksheets("データ用シート")
Set Rng = Worksheets("データ用シート").Range("B2:I30")
ComboBox2.Value = ""
ComboBox2.RowSource = Rng.Columns(i + 1).Address
End If
End Sub
上記コードですと、コンボボックス2が入力シートのデータを表示してしまいうまくいきません。
欲をいえば、
Book1(多人数入力用ブック)入力シートの特定セルに
コンボボックス2・テキストボックス1 コンボボックス4・テキストボックス3というように続けて1セルに反映
Book2(反映用ブック)シート1に
コンボボックス2・テキストボックス1・テキストボックス2 を各1セル 1行に反映させたいと考えております。
まったく知識がないのですが 仕事上どうしても必要となったので、各種サイトを見よう見真似でやっております。
ご助力いただければ幸いです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> 上記コードですと、コンボボックス2が入力シートのデータを表示してしまいうまくいきません。
デバッグ用コードを3行追加します。出力をイミディエイトウィンドウで
確認してみて下さい。
> ComboBox2.RowSource = Rng.Columns(i + 1).Address
Debug.Print "設定値:" & Rng.Columns(i + 1).Address
Debug.Print "ComboBox2:" & ComboBox2.RowSource
Debug.Print "ComboBox1:" & ComboBox1.RowSource
デバッグして確認すればすぐ分かった話ですね。シート名が
指定されていないから Active なシートのセルからデータが
取られているだけです。
> 欲をいえば、
他の Book を開く方法は分かるの?って所から始まり、何ができて
何が分からないのかの説明をして下さい。
現時点では丸投げしてるだけなのでスルー対象ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。
Visual Basic(VBA)
-
テキストボックス(VBA)でEnterを押したときに作動するマクロ
Access(アクセス)
-
-
4
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
7
コンボボックスにリストが表示されません・・・
Excel(エクセル)
-
8
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
9
ExcelのComboboxでマウスのスクロールを有効にしたい
Excel(エクセル)
-
10
Excel コンボボックスの値参照
Excel(エクセル)
-
11
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
12
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
13
TextBoxから数字が文字として入力される?
Visual Basic(VBA)
-
14
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
15
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
16
EXCEL VBAのコンボボックスに取り込むリストについて
Excel(エクセル)
-
17
ユーザーフォームで動的(Me.Controls.Add)に作成したコントロールの削除
Visual Basic(VBA)
-
18
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
19
VBAのユーザーフォームで、テキストボックスを連携させたいのですが。
Visual Basic(VBA)
-
20
Excel VBA 自動で連番をわりふる
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー1004「Select メソ...
-
【ExcelVBA】全シートのセルの...
-
excelのマクロで該当処理できな...
-
Excel VBA リンク先をシート...
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
XL:BeforeDoubleClickが動かない
-
Access エクセルシート名変更
-
エクセルVBA ListBoxの並び...
-
ユーザーフォームに入力したデ...
-
Worksheet_Changeの内容を標準...
-
セルの値によって、シート見出...
-
【VBA】全ての複数シートから指...
-
EXCEL VBAで複数シートから該当...
-
ワークシートを追加したときの...
-
【VBA】シート名に特定文字が入...
-
PerlでExcelのワークシートを同...
-
エクセルVBA Ifでシート名が合...
-
エクセルで通し番号を入れてチ...
-
エクセルのマクロでアクティブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
エクセルで通し番号を入れてチ...
-
VBA 検索して一致したセル...
-
XL:BeforeDoubleClickが動かない
-
VBA 指定した回数分、別シート...
-
VBAマクロでシートコピーした新...
-
シートが保護されている状態で...
-
ブック名、シート名を他のモジ...
-
【VBA】全ての複数シートから指...
-
別のシートから値を取得するとき
-
ExcelのVBAのマクロで他のシー...
-
Excel チェックボックスにチェ...
おすすめ情報