Excel VBA возвращает верхний адрес ячейки на основе диапазона - PullRequest
0 голосов
/ 20 мая 2018

Я пытался получить верхний адрес ячейки на основе диапазона.«Верхняя ячейка» здесь означает ячейки в первой строке листа (номер строки всегда должен быть 1).Если диапазон содержит несколько столбцов, используйте первый столбец диапазона.

Мой код такой, как показано ниже:

Sub main()

    Dim rg As Range

    Set rg = Range(Cells(10, 2), Cells(100, 2))

    Debug.Print Range(rg.Cells(1, 1).EntireColumn.Address).Rows(1).Address(RowAbsolute:=False)
    ' Out put is $B1
End Sub

Работает как нужно.Но мне было интересно, есть ли более простой способ / выражение для достижения того же.Спасибо!

1 Ответ

0 голосов
/ 20 мая 2018

Использование Cells(1, rg.Column)


Option Explicit

Public Sub GetTopCell()

    Dim rg As Range

    With ActiveSheet

        Set rg = .Range(.Cells(10, 2), .Cells(100, 9))

        Debug.Print .Cells(1, rg.Column).Address(RowAbsolute:=False)    'Prints $B1

    End With

End Sub

rg.Column извлекает столбец верхней левой ячейки в заданном диапазоне

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