Используйте строковую переменную в качестве ссылки на ячейку - PullRequest
0 голосов
/ 24 января 2019

У меня проблема с макросом Excel. У меня есть ссылки на ячейки в рабочей тетради. как: Sheets("Lam PVB").Cells(21,2)

Затем я создаю путь для доступа к значению ячейки в другой книге.

Dim wb As Workbook: Set wb = Workbooks("17.01.2019.xls")
Dim wbMahud As Workbook: Set wbMahud = Workbooks("mahudMakro.xlsm")
Dim ws As Worksheet: Set ws = wbMahud.Sheets("jaotus")
    dataStr = wb & "." & ws.Cells(2, 1).Value & ".Value"
    Debug.Print (dataStr)

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

Какое преобразование мне здесь не хватает?

1 Ответ

0 голосов
/ 24 января 2019

Вы не можете преобразовать строку в код VBA. Но вы можете использовать адрес.

Если вы поместите в ячейку на листе jaotus ячейку A2: 'Lam PVB'!B21, которая ссылается на ту же ячейку, что и Sheets("Lam PVB").Cells(21,2), то вы можете использовать:

Range(ws.Cells(2, 1).Value).Value

чтобы получить диапазон адресов 'Lam PVB'!B21.

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