谷歌搜索"Can a VBA function in Excel return the cell ids of a range?"



我相信我正在寻找范围函数的反函数。 我的工作表和事件宏中有一个命名区域。我有兴趣取回范围定义字符串,例如"A1:A12"。

这是我正在处理的代码:

Private Sub UserForm_Initialize()
    Dim MyData As Range
    Dim r As Long
    With Me.ListBox1
        .RowSource = ""
        Set MyData = Worksheets("Sheet1").Range("A2:D100")   'Adjust the range accordingly
        .List = MyData.Cells.Value
        For r = .ListCount - 1 To 0 Step -1
            If .List(r, 3) = "" Then
                .RemoveItem r
            End If
        Next r
    End With
End Sub

我宁愿在上面的 "Set MyData =" 语句中使用 Range 的名称,而不是在事件宏中对范围进行硬编码。

如果您

只想要范围的地址,请使用

Dim MyRange as Range
Set MyRange = Worksheets("Sheet1").Range("A2:D100")
' Here do what you want
Msgbox MyRange.Address

.地址将返回"A2:D100"地址

https://msdn.microsoft.com/fr-fr/library/office/ff837625.aspx

相关内容

最新更新