您可以使用范围的Row
和Column
属性来获取范围的数值范围。
Dim Selected As String
Dim SelectedRange() As String
Dim BeginSel As String
Dim EndSel As String
' Get the range of cells selected by the user.
Selected = Selection.Areas(1).Address(False, False)
MsgBox "Selected range: " & Selected
' Split the selected range into begin and end cells.
SelectedRange = Split(Selected, ":")
BeginSel = SelectedRange(0)
EndSel = SelectedRange(1)
MsgBox "Begin Selected range: " & BeginSel
MsgBox "End Selected range: " & EndSel
' Convert the begin and end cells to row and column values
MsgBox Range(BeginSel).Row & ", " & Range(BeginSel).Column
MsgBox Range(EndSel).Row & ", " & Range(EndSel).Column
在这里,我拆分":"
字符上的选定范围以获取范围的开始和结束单元格。您可能需要检查Split
函数返回的数组的长度,以确保用户选择了实际的单元格范围而不是单个单元格(或什么都没有)。
例如,这会将所选范围A1:E3
转换为坐标 (1, 1) 和 (3, 5)。