Как я могу ссылаться на отдельные ячейки в диапазоне адресов, таких как "$ A $ 2, $ C $ 2, $ E $ 2" - PullRequest
0 голосов
/ 09 февраля 2019

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

Вот мой пример кода VBA в Excel

Sub Testing()

Set WS = Excel.ActiveSheet : Set R = WS.Range("$C$2,$E$2,$G$2")

R.Select 'Success, highlights only the cells defined by my range address

Debug.Print R.Cells(, 1), R.Cells(, 2), R.Cells(, 3)

'Returns the values for $C$2, $D$2 and $E$2 - not what I wanted

End Sub

Поскольку метод R.Select знает, что нужно выделить только 3 ячейки в моем адресе, есть ли кодрешение для объекта R, чтобы вернуть только значения в моих трех ячейках и отсеять другие вещи между ними?

Ваша помощь очень ценится.Я просто пытаюсь начать работу.

1 Ответ

0 голосов
/ 10 февраля 2019

Когда вы создаете диапазон, состоящий из прерывистых диапазонов, каждый отдельный диапазон представляется отдельной областью.

Итак, для вашего примера, чтобы вернуть ячейки в выделении, вам нужно что-то вроде:

With R.Cells
    Debug.Print .Areas(1), .Areas(2), .Areas(3)
End With

Когда, как в вашем примере, вы не указываете Area, по умолчанию используется значение Areas(1), поэтому вы возвращаете смещение от первой ячейки в первой области.

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