[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『リストボックス・コンボボックスの連動』(ちゅっぱ)
[リストボックス・コンボボックスの連動?セル参照]
初めまして。お世話になります。
UserFormリストボックス1で地域を選択後、リストボックス2で都道府県を選択。
この時にリストボックス2で選択した都道府県の列に記入してあるセルをコンボボックスに
参照させたいのですが、どうすればいいのか解りません。アドバイスの程をお願いします。
Excel2000, OS2000
以前教えていただきましたスレッドです。 [[20040105145400]]『UserFormのComboBoxの使い方』(ケン) (ケン)
ケンさん、こんにちは。レスが遅くなって申し訳ありません。
スレッドを見て自分なりに頑張ってはいるのですがどうも上手くいきません。
Private Sub CommandButton1_Click()
Dim rngF As Range
Set rngF = Worksheets(ListBox1.Value).Rows("1") _ .Find(What:=ListBox2.Value _ , LookIn:=xlFormulas _ , LookAt:=xlWhole _ , MatchCase:=False)
If rngF Is Nothing Then MsgBox "その県はありません。" Exit Sub End If
If IsEmpty(rngF.offset(1, 0).Value) Then rngF.offset(1, 0).Value = TextBox1.Value rngF.offset(1, 1).Value = CLng(Me.OptionButton1.Value) + 2 Else rngF.End(xlDown).offset(1, 0).Value = TextBox1.Value rngF.End(xlDown).offset(0, 1).Value = CLng(Me.OptionButton1.Value) + 2 End If
ここまでは出来たのですが、この時点でListBox2で選択した列(2行目〜最終セル)
までのセルをコンボボックスに参照させたいのです。
アドバイスの程を宜しくお願い致します。
こういう事でッか?
Private Sub ListBox2_Click() Dim i As Integer
ComboBox1.Clear maxrow = Range("b65536").End(xlUp).Row '←ここは実情にあわせて With ComboBox1 For i = 2 To maxrow .AddItem Cells(i, 2) Next End With End Sub (弥太郎)
チョット分かりにくいかも知れまへんのんで...
Private Sub ListBox2_Click() Dim i As Integer, col_no As Integer, maxrow As Integer
ComboBox1.Clear col_no = ListBox2.ListIndex maxrow = Cells(65536, col_no + 1).End(xlUp).Row With ComboBox1 For i = 2 To maxrow .AddItem Cells(i, col_no + 1) Next End With End Sub (弥太郎)
としたらこんな案配でッか?
Private Sub ListBox2_Click() Dim i As Integer, col_no As Integer, maxrow As Integer
ComboBox1.Clear col_no = ListBox2.ListIndex * 2 + 1 maxrow = Cells(65536, col_no).End(xlUp).Row With ComboBox1 For i = 2 To maxrow .AddItem Cells(i, col_no) & " " & Cells(i, col_no + 1) Next ’↑不要なら削除 End With End Sub
CommandButtonで削除するならそこへComboBox1.Clearを書き込めばよろしいんと ちゃいまっか。 勿論リストボックス2のComboBox1.Clearは不要になります。 (弥太郎)
弥太郎さん、素早い回答ありがとうございます。
お陰様で理想通りの物ができました。
もう1つだけ教えて下さい。
CommandButtonで削除するならそこへComboBox1.Clearを書き込めばよろしいんと ちゃいまっか。
これだとComboBoxで表示しているものが消えますよね?
ではなくイメージしているのは、ComboBox1で選択したセルを削除したいと
(ListBox2で選択した列(2行目〜最終セル)&隣りの列(数字)のセル)
思っています。もう少しだけお付き合い頂けると幸いです。
宜しくお願い致します。
>もう少しだけお付き合い へいへい。 '--------------------------------- Dim data As Integer, col_no As Integer, maxrow As Integer '↑General Declarations にコピペ '---------------------------------- Private Sub ComboBox1_Change()
data = ComboBox1.ListIndex 'コンボに追加 End Sub '--------------------------------- Private Sub CommandButton5_Click() Dim i As Integer '↓削除するボタンに追加 For i = 2 To maxrow If data + 2 = i Then Cells(i, col_no).Resize(, 2).Clear End If Next i End Sub '---------------------------------- Private Sub ListBox2_Click() Dim i As Integer ’←変更
ComboBox1.Clear col_no = ListBox2.ListIndex * 2 + 1 maxrow = Cells(65536, col_no).End(xlUp).Row With ComboBox1 For i = 2 To maxrow .AddItem Cells(i, col_no) & " " & Cells(i, col_no + 1) Next End With End Sub
(弥太郎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.