2017-04-10 43 views
0

2つの列を持つ項目でリストボックスを読み込み、各項目をスプレッドシートでチェックし、その項目が見つかるとその行を選択しようとしています。VBA複数列の複数選択リストボックスで項目を事前に選択

結果は顧客リストを読み込み、既にメーリングリストに登録されている項目を特定して選択し、選択した内容を編集して更新された選択肢でスプレッドシートを更新できるようにします。

私はリストボックスの読み込み中にチェックを試みましたが、エラーが発生していたので、より明確にするためにそれを分けたので、以下のコードでエラーが発生しますCRM_Edit_Groups.ListBox1(j) .Selected =真

With Rows(1) 
     Set c = .Find(What:=showgroup, LookIn:=xlValues, LookAt:=xlWhole) 
    End With 

    For i = 0 To wk.Sheets("temp").UsedRange.Rows.count + 1 
     code = wk.Sheets("temp").Range("a" & mycount) 
     company_name = wk.Sheets("temp").Range("b" & mycount) 

     CRM_Edit_Groups.ListBox1.ColumnCount = 2 
     CRM_Edit_Groups.ListBox1.ColumnWidths = "40;80" 
     CRM_Edit_Groups.ListBox1.AddItem 
     CRM_Edit_Groups.ListBox1.list(i, 0) = code 
     CRM_Edit_Groups.ListBox1.list(i, 1) = company_name 
     mycount = mycount + 1 
    Next 


    For j = 0 To Me.ListBox1.ListCount - 1 
     check = Me.ListBox1.list(j, 0) 
     With Columns(c.Column) 
      Set d = .Find(What:=check, MatchCase:=False) 
     End With 
     If Not d Is Nothing Then CRM_Edit_Groups.ListBox1(j).Selected = True 
     If Not d Is Nothing Then Set d = Nothing 
    Next 

私を含む多くの組み合わせ試した、スプレッドシートに対してそれぞれをチェックするリストボックスをロードするためのコード、ならびにループを含んでいる:

CRM_Edit_Groups.ListBox1(j,0).Selected = True 
CRM_Edit_Groups.ListBox1(j,1).Selected = True 
CRM_Edit_Groups.ListBox1(j.row).Selected = True 

...しかし、すべての結果は "実行時エラー '424':Object required"と表示されますが、私はここで行を操作するのではなく、サイトとGoogleを検索するだけで、選択した項目をリストボックスではなく、初期化時の選択方法についてはあまりよくありません。

答えて

0

あなたはあなたのリストが複数選択を可能にすることを確認して、また

CRM_Edit_Groups.ListBox1.Selected(j) = True 

を使用する必要があります。ユーザーフォームウィンドウでリストボックスを選択し、オブジェクトのプロパティに移動します。プロパティMultiSelectが見つかり、オプション1を選択しました。

+0

マリウスはそれをやったことがあり、私が間違っていた場所を見ることができます!ありがとうございました –

関連する問題