2016-06-01 7 views
0

に、私は以下のコードに424エラーを取得していると私は間違っているかを把握することはできません。基本的に私は別のブック内のテーブルの列からのデータとのコンボボックスを移入しようとしています。私は、私も変数としてコンボボックスオブジェクトを渡したかった...しかし、私はここにこだわってすなわち...範囲でこれを行うと同じくらい私はできる限り自動化するためにあなたの助けをVBAエラー424オブジェクトが範囲オブジェクト

感謝を考えていました!

Sub PopListBoxTbl(tbl As String) 
Dim popv As Range, col As Range 
Dim cmb As ComboBox 
Dim wb As Workbook 
Dim sheet As Worksheet 
Set cmb = UserForm1.ComboBox2 
Set wb = Workbooks.Open(path, False, True) 
Set sheet = wb.Worksheets(tbl) 
Set col = sheet.Range(tbl) 
wb.Close 
cmb.Clear 
For Each popv In col.Cells 'here's the error line 
With cmb 
    .AddItem popv.Value 
End With 
Next popv 
End Sub 
+0

エラーが任意のファイルを開くように設定なし 'PATH'がないため、' WB = Workbooks.Open(パス、FALSE、TRUE)を設定行 'に発生する必要があります。あなたがその行に取得しているエラーは、おそらくあなたは、そのファイルからデータをつかん/読む前にファイルを閉じたという事実によるものです。その行をサブの終わりに移動することを検討したいかもしれません。 – Ralph

答えて

0

ソースブックを閉じるとすぐに、col変数は何もありません。それはあなたのエラーを引き起こすものだ - あなたは、閉じたブック内の範囲を参照Rangeオブジェクトを持つことができません。コントロールを実装した後に閉じてください。または、データを最初に配列にロードしてください。

+0

ありがとうございました!出来た。閉じられたワークブックの範囲を参照するRangeオブジェクトを持つことができないという考えはありませんでした。 – Alinas

関連する問題