Получить массив значений из закрытой книги с VBA / ADO?

Я пытаюсь загрузить переменный диапазон значений из каждого листа в закрытой книге в словарь с форматом «workheet.name: [range]», чтобы не открывать указанную книгу и не перебирать листы, а затем проходить через ячейки в заданном диапазоне ячеек («для каждого» цикла бесконечны!). Я нашел, что многие люди рекомендуют популярный Excel4Macro, называемый GetValues, но этот макрос, из того, что я видел, может принимать или возвращать только один адрес ячейки, где, как мне нужно будет возвращать переменный диапазон, то есть C5: L12 или C5: K12. Я обманывался с ADOX и коллекциями, но я не получаю большого прогресса (любая идея, как вернуть запись «cell» в объекте Catalog.Table? Клавиши доступа и SQL и поля мне чужды). Кто-нибудь пробовал что-то подобное раньше? Любые указатели или советы? Спасибо вам всем.

Это код, с которым я работаю в настоящее время. Я хочу выполнить это, не открывая книгу, из которой я вывожу значения. Как я могу это сделать?

Set WB = Workbooks.Open(c:\work\book\path.xlsm) 'loop through the worksheets in WB and create a master dictionary with key:value ws.name:[wsvalues] Set wsdict = CreateObject("Scripting.Dictionary") For Each ws In WB.Worksheets Set wsccoll = New Collection With ws maxcols = .Cells(5, .Columns.Count).End(xlToLeft).Column 'get the last column in the search area basewsc = .Range(.Cells(5, 3), .Cells(12, maxcols)).Value 'get the searchable area on the worksheet, which starts at C5 and goes to maxcols12 For Each i In basewsc 'start getting a list of all non-blank cells with no repeats isincollection = False If i <> vbNullString Then For Each Item In wsccoll If Item = i Then isincollection = True Exit For End If Next Item If Not isincollection Then wsccoll.Add i End If End If Next i wsdict.Add .Name, wsccoll 'populate the dictionary with the sheetname: [non-blank cells in sheet search area] End With Next ws 'close the workbook because we don't need it anymore WB.Close SaveChanges:=False Set WB = Nothing 

    Давайте будем гением компьютера.