📅  最后修改于: 2023-12-03 15:00:38.631000             🧑  作者: Mango
在Excel VBA程序中,用户常常需要选择一定的范围或单元格,本文将介绍如何在VBA中获取用户选择的范围。
使用Application.Selection
可以获取用户选择的范围或单元格。
Sub getUserSelection()
Dim selectedRange As Range
Set selectedRange = Application.Selection
MsgBox "你选择了 " & selectedRange.Address(0, 0) & "。"
End Sub
上面的代码将会弹出一个消息框,告诉你所选范围的地址。
该方法的优点是简单易用,缺点是如果用户没有选择任何单元格,将会引发异常。为解决这个问题,可以添加一些错误处理语句。
使用InputBox
函数提示用户输入需要选择的范围地址,然后将该地址转换成范围对象。
Sub getUserSelectionByInputBox()
Dim rangeAddress As String
rangeAddress = InputBox("请输入选区的地址", "选区地址")
On Error Resume Next
Dim selectedRange As Range
Set selectedRange = Range(rangeAddress)
If selectedRange Is Nothing Then
MsgBox "地址无效。"
Else
MsgBox "你选择了 " & selectedRange.Address(0, 0) & "。"
End If
End Sub
该方法的优点是可以灵活设置需要选择的范围,并且可以添加一些错误提示。
以上就是获取用户选择的范围的两种方法,可以根据实际情况选择更适合自己的方法。