Мне было интересно, сталкивался ли кто-то с этим раньше, предположим, у нас есть следующий фрагмент кода:
Excel.Range vl_range = (Excel.Range)((Excel.Worksheet)Application.ActiveSheet).get_Range("A1");
Это безопасно возвращает диапазон A1.Однако, если мы введем строку "'new sheet'! $ C $ 1", то она выдаст ошибку HRESULT.
Но это можно решить с помощью следующего фрагмента кода:
Excel.Range vl_range = (Excel.Range)(Application.get_Range("'new sheet'!$C$1"));
Это похоже на работу.Теперь мне было интересно, если я введу «А1» только в последней строке кода, будет ли он автоматически предполагать, что я имею в виду активный лист?
Может кто-нибудь объяснить мне, почему это выглядит по-другому?в VBA?Где я могу легко определить диапазоны, используя метод Range, даже если я нахожусь на листе?
Верен ли мой вывод или я где-то совершаю ужасную ошибку?