Возьмите значение из другой книги, сохраняя ссылку - PullRequest
1 голос
/ 13 июня 2019

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

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

Function NuevoMes(dir As String, fila As Integer) As Boolean

   Dim objWorkbook As Workbook
   Set objWorkbook = Workbooks.Open(dir)

   Cells(fila, 4) = objWorkbook.Worksheets("ENTRADAS DIARIAS").Cells(9, 267)

   objWorkbook.Close

End Function

Как я уже сказал, я ожидаю, что значение будет скопировано в ячейку (как это происходит), но связано с направлением, откуда оно поступает ( dir )

1 Ответ

0 голосов
/ 13 июня 2019

Вам нужна ссылка на Cell в другой книге.

Этого можно достичь с помощью VBA или просто с помощью формулы .

  • Используя формулу

Если у вас нет особых причин написать Function для этого, выможно просто использовать этот Formula, изменив путь , имя рабочей книги и ваше имя листа :

='C:\myDir\[myWorkbook.xlsx]Sheet1'!A1

  • Использование функции

Если вам нужен Function, вы можете использовать что-то вроде этого:

Private Function GetLinkToWorkbookCell(wBookPath As String, wBookName As String, wSheetName As String, _
                                        row As Integer, column As Integer) As String
    Dim Ret As String
    Ret = "='" & wBookPath & "[" & wBookName & "]" & _
          wSheetName & "'!" & Cells(row, column).Address(False, False)

    GetLinkToWorkbookCell = Ret
End Function

Надеюсь, это поможет.

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