Тема: VBA: напрямую "закачать" диапазон в ComboBox1 из закрытого файла Excel?

Есть открытая книга Excel и закрытая книга Excel . В открытой книге есть форма с ComboBox1.
Как не открывая закрытую книгу и не перенося содержимое ячеек в открытую книгу - напрямую "закачать" диапазон в ComboBox1?
Я уже неделю Уокенбаха читаю, ГОЛОВА ДЫМИТЬСЯ!!!
Уважаемое сообщество, помогите!!!
Попробовал так-неполучается!!!
Private Sub CommandButton1_Click()
'ГОРОД
With UserForm1.ComboBox001
.RowSource = "D:\ORDER_WEST\CITY.xls\CITY!A2:A100"
'КСТАТИ ДАЛЕЕ :ЗАПРЕТ ИЗМЕНЕНИЯ ИНФОРМАЦИИ В ComboBox001 ПОЛЬЗОВАТЕЛЕМ. ОЧЕНЬ УДОБНО,
'БУХГАЛТЕРА ПЕРЕСТАЛИ ВСЯКУЮ ЧУШЬ В ФОРМЫ ВВОДИТЬ
.Style = fmStyleDropDownList
End With
  UserForm1.Show
End Sub
VBA ругается на строку
.RowSource = "D:\ORDER_WEST\CITY.xls\CITY!A2:A100"
Пожалуйста, если возможно выложите решение с пояснениями, а то я этот вопрос уже много где искал и думаю что не я один такой

Re: VBA: напрямую "закачать" диапазон в ComboBox1 из закрытого файла Excel?

> Dan-K
Опасаюсь за твою голову :)
http://www.rondebruin.nl/copy7.htm
~'J'~

Re: VBA: напрямую "закачать" диапазон в ComboBox1 из закрытого файла Excel?

ПРОЧИТАЛ В ОРИГИНАЛЕ (КАК ШЕКСПИРА) РАЗОБРАЛСЯ НА 70%.
ОПАСАЮСЬ ЗА СВОЮ ГОЛОВУ САМ.
см http://forum.msexcel.ru/microsoft_excel … 173.0.html

Re: VBA: напрямую "закачать" диапазон в ComboBox1 из закрытого файла Excel?

> Dan-K
Спробуй мою версию:

'' Добавить в проект ссылки на библиотеки:
'' Microsoft ActiveX Data Objects 2.X Library
'' Microsoft Excel XX.0 Object Library
'' Microsoft Access XX.0 Object Library
Private Sub UserForm_Activate()
Dim cn As ADODB.Connection
Dim rst As ADODB.Recordset
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & ThisDrawing.Path & "\dumbyand pokey.xls;Extended Properties=Excel 8.0;" ''<---измени полное имя файла здесь
.CursorLocation = adUseClient
.Open
End With
Set rst = New ADODB.Recordset
Dim strQuery As String
strQuery = "SELECT * FROM [Sheet1$A1:D1000]" '' <---измени адрес диапазона здесь
          rst.Open strQuery, cn, adOpenDynamic, adLockOptimistic
          Dim varFld As Variant
          Dim i As Integer
          Dim j As Integer
          varFld = rst.GetRows
          ReDim dataarr(0 To UBound(varFld, 2), 0 To UBound(varFld, 1)) As Variant
          For i = 0 To UBound(varFld, 2)
               For j = 0 To UBound(varFld, 1)
                    dataarr(i, j) = varFld(j, i)
               Next j
          Next i
Me.ComboBox1.ColumnCount = UBound(dataarr) + 1
Me.ComboBox1.List = dataarr
Me.ComboBox1.ListIndex = 0
Set rst = Nothing
cn.Close
Set rst = Nothing
Set cn = Nothing
End Sub

~'J'~

Re: VBA: напрямую "закачать" диапазон в ComboBox1 из закрытого файла Excel?

Если кому интересно тут нашел примерно
такую же тему, но с более подробными
пояснениями:
http://www.sql.ru/forum/actualthread.as … l=workbook
~'J'~