Как узнать имена ячеек при выборе диапазона с помощью VBA - PullRequest
0 голосов
/ 22 ноября 2010

Я хотел узнать имена ячеек, выбранных пользователем в листе Excel. Проверьте изображение ниже для ясности. В этом примере мне нужно получить все имена ячеек (A1, B1, C1, D1, E1, F1) с помощью макроса VBA.

alt text

Я могу узнать, сколько ячеек выбрано, но не знаю, как получить их имена.

1 Ответ

3 голосов
/ 22 ноября 2010

Если вы хотите сохранить имена в массиве, вам нужно перебрать все ячейки в диапазоне и сохранить адрес каждой из ячеек в массиве или коллекции. Вот пример для начала:

Public Sub TestIt()

    Dim addressArr() As String
    Dim i As Long

    addressArr = GetSelectedCells(Selection)

    For i = LBound(addressArr) To UBound(addressArr)
        MsgBox addressArr(i)
    Next i
End Sub

Public Function GetSelectedCells(selectedRng As Range) As String()

    Dim cellArr() As String
    Dim cell As Range
    Dim i As Long

    ReDim cellArr(0 To (selectedRng.Cells.Count - 1))
    i = 0 'setup index for storing to array

    For Each cell In selectedRng

        cellArr(i) = cell.Address(False, False) 'modify the address here to get reference style

        i = i + 1
    Next cell

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