2017-06-03 21 views
2

test1(3枚)とテスト(1枚あり)があります。 テスト別のブックのコンボボックスに1つのブックの名前を追加

私はComboBox1の .Iという名前のコンボボックスには、このComboBox1のにワークブックtest1のからのシートの名前を追加する必要がありました。

私は次のコード

Sub Workbook_open() 

Dim sht As Worksheet 

Set wkbSource = Workbooks.Open("test1.xls") 

For Each sht In wkbSource.Worksheets 

ActiveWorkbook.Worksheets(1).ComboBox1.AddItem sht.Name 

Next sht 

End Sub 

それは私にエラーを与えていると書かれている

ERROR:オブジェクトがライン上で、このプロパティまたはメソッドをサポートしていません ActiveWorkbook.Worksheets(1).ComboBox1 .AddItem sht.Name

どうすれば修正できますか?

答えて

3

ActiveWorkbookを使用しているため、このエラーが発生しています。 "test1.xls"を開いた後、それはアクティブになります。したがって、ActiveWorkbook.Worksheets(1).ComboBox1.AddItem sht.Nameという行は、コンボボックスが見つからないと失敗します。

私はブックを開くしたくない場合はどうThisWorkbook

ThisWorkbook.Worksheets(1).ComboBox1.AddItem sht.Name 
+0

はいperfect.Thanks :) でActiveWorkbookを交換し、ちょうどパスを設定したいですか? – user3126632

+0

シート名を取得するには、シート名を開く必要があります。そうでない場合は、ADODBを使用して閉じたブックからシート名を取得します –

関連する問題