excel copy cell из закрытой книги.

Я пытаюсь скопировать данные из ячейки в закрытой книге в другую книгу, не открывая ее.

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

Private Function GetValue(path, file, sheet, ref) ' Retrieves a value from a closed workbook Dim arg As String ' Make sure the file exists If Right(path, 1) <> "\" Then path = path & "\" If Dir(path & file) = "" Then GetValue = "File Not Found" Exit Function End If ' Create the argument arg = "'" & path & "[" & file & "]" & sheet & "'!" & _ Range(ref).Range("A1").Address(, , xlR1C1) ' Execute an XLM macro GetValue = ExecuteExcel4Macro(arg) End Function Sub TestGetValue2() p = "F:\excel_Project" f = "Book1.xlsx" s = "Sheet1" a = "A1" GetValue(p, f, s, a) = ("A1") End Sub 

Если вы хотите установить значение ячейки в значение, возвращаемое функцией GetValue , вы должны сделать следующее

 Range("A1") = GetValue(p, f, s, a) 

Тем не менее, вам нужно убедиться, что ваш пункт назначения (т. Е. Где вы хотите написать GetValue ) имеет тот же размер / размер, что и GetValue . Например, если GetValue является ячейкой, то вышеуказанное будет работать должным образом. Однако, если GetValue – это диапазон ячеек 1×2, и вы используете вышеуказанный код, только A1 будет заполнен значением (первое значение) из GetValue

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