代码之家  ›  专栏  ›  技术社区  ›  RameshVel

如何用VBA查找范围选择中的单元格名称

  •  0
  • RameshVel  · 技术社区  · 14 年前

    我想找出用户在excel工作表中选择的单元格的名称。为了清楚起见,请查看下面的图片。在示例中,我需要使用VBA宏检索所有单元格名称(A1、B1、C1、D1、E1、F1)。

    alt text

    我可以找出选择了多少个单元格,但不知道如何检索它们的名称。

    1 回复  |  直到 9 年前
        1
  •  3
  •   Fink    14 年前

    如果要将名称存储到数组中,则需要遍历该范围中的所有单元格,并将每个单元格的地址存储到数组或集合中。下面是一个让您开始的示例:

    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