Извлечение данных из закрытой книги без ее открытия - PullRequest
0 голосов
/ 19 апреля 2019

Код для выполнения этой проблемы на самом деле работает, но у меня проблемы с проводником. Когда я выполняю код, файловый менеджер открывается дважды один раз в нужной точке, когда выполняется строка «mydata», но затем снова в строке .Formula = mydata, и я не знаю почему.

Кроме того, представляется, что значения, введенные в ячейки, представляют собой значения из рабочей книги, выбранные в строке .Formula = mydata моего кода, а не в строке mydata кода.

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


Public Sub CreateCharts()

Dim ws As Worksheet
Dim wb As Workbook
Dim SelectedFiles As Variant
Dim mydata As String

    SelectedFiles = Application.GetOpenFilename(MultiSelect:=True)


        For i = LBound(SelectedFiles) To UBound(SelectedFiles)

            mydata = "='C:\Users\ME\Desktop\FOLDER\[SelectedFiles]CATS'!" & Range(Cells(1, 1), Cells(11, 21)).Address

            With ThisWorkbook.Worksheets("MASTER CHART").Range(Cells(1, 1), Cells(11, 21))

            .Formula = mydata 

            .Value2 = .Value2 

            End With

        Next i


End Sub

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

1 Ответ

0 голосов
/ 19 апреля 2019

Вы не можете сделать это, не открывая книгу.

Вы можете извлечь данные с помощью соединения в Excel и получить данные из таблицы в Excel.

Использовать библиотеку ADODB

U может использовать adodb.connection и создать строку подключения в Excel!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...