Присвойте диапазон переменной диапазона, используя функции ActiveCell.Offset в VBA. - PullRequest
0 голосов
/ 16 апреля 2020

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

Public Sub tester()
    Dim myRange As Range
    myRange = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 7))
    myRange.Font.Color = RGB(200, 100, 0)
End Sub

enter image description here

В отладчике:

enter image description here

Хотя это работает:

Public Sub tester()
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 7)).Font.Color = RGB(200, 100, 0)
End Sub

enter image description here

Что здесь происходит? Разве myRange не является диапазоном? Кажется, он не хочет назначать. Как мне выполнить операцию такого типа: поместить диапазон в переменную, а затем использовать эту переменную для ссылки на нее?

1 Ответ

0 голосов
/ 16 апреля 2020

В задании нет оператора «Set», который мне достоверно сообщен. Это будет работать:

Public Sub tester()
    Dim myRange As Range
    Set myRange = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 7))
    myRange.Font.Color = RGB(200, 100, 0)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...