Excel VBA: ссылка на предыдущий лист - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь динамически ссылаться на ячейку в Листе слева. Для этого я написал эту функцию

Function PrevSheet(RCell As Range)
    Dim xIndex As Long
    Application.Volatile
    xIndex = RCell.Worksheet.Index
    If xIndex > 1 Then _
        PrevSheet = Worksheets(xIndex - 1).Range(RCell.Address)
End Function

В большинстве случаев работает нормально, но если в ячейке, на которую есть ссылка, указана дата, например, 25.06.2018, я получаю неправильную дату (в данном случае 26.06.2022). Это происходит, только если я установил опцию использования 1904 форматов даты, но мне нужна эта опция для форматов с отрицательным временем. Конечно, есть очевидный обходной путь: я могу просто вычесть 1462 из результата, но есть ли более точный способ решить это?

1 Ответ

0 голосов
/ 25 июня 2018

Используйте свойство Value2 для Range, т.е.

PrevSheet = Worksheets(xIndex - 1).Range(RCell.Address).Value2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...