Как я ссылаюсь другому (открытый или закрытый) на рабочую книгу, и задерживаю значения в VBA? - Excel 2007

Кластерный индекс является по существу отсортированной копией данных в индексированных столбцах.

основное преимущество кластерного индекса состоит в том, что то, когда Ваш запрос (ищут), определяет местоположение данных в индексе тогда, никакой дополнительный IO не необходим для получения тех данных.

издержки поддержания кластерного индекса, особенно в часто обновляемой таблице, могут привести к низкой производительности, и по этой причине может быть предпочтительно создать некластерный индекс.

8
задан Rob A 26 November 2009 в 04:52
поделиться

1 ответ

Вам придется открыть файл тем или иным способом, если вы хотите получить доступ к данным в нем. Очевидно, один из способов - открыть его в экземпляре приложения Excel, например: -

(непроверенный код)

Dim wbk As Workbook
Set wbk = Workbooks.Open("C:\myworkbook.xls")

' now you can manipulate the data in the workbook anyway you want, e.g. '

Dim x As Variant
x = wbk.Worksheets("Sheet1").Range("A6").Value

Call wbk.Worksheets("Sheet2").Range("A1:G100").Copy
Call ThisWorbook.Worksheets("Target").Range("A1").PasteSpecial(xlPasteValues)
Application.CutCopyMode = False

' etc '

Call wbk.Close(False)

Другой способ сделать это - использовать поставщика Excel ADODB для открытия соединения с файлом, а затем использовать SQL для выбора данных из листа, который вам нужен, но, поскольку вы все равно работаете из Excel, я не думаю, что для этого есть какая-то причина, а не просто открывать книгу. Обратите внимание, что для метода Workbooks.Open () есть необязательные параметры, позволяющие открывать книгу только для чтения и т. Д.

11
ответ дан 5 December 2019 в 15:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: