2010-11-22 4 views
0

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

alt text

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

ответ

3

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

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 
+0

спасибо Fink, cell.Address - это то, что ищете, .. :) – RameshVel

Смежные вопросы