📜  excel vba 获取用户选择的范围 - VBA (1)

📅  最后修改于: 2023-12-03 15:00:38.631000             🧑  作者: Mango

Excel VBA 获取用户选择的范围 - VBA

在Excel VBA程序中,用户常常需要选择一定的范围或单元格,本文将介绍如何在VBA中获取用户选择的范围。

方法一:使用Application.Selection属性

使用Application.Selection可以获取用户选择的范围或单元格。

Sub getUserSelection()
    Dim selectedRange As Range
    Set selectedRange = Application.Selection
    MsgBox "你选择了 " & selectedRange.Address(0, 0) & "。"
End Sub

上面的代码将会弹出一个消息框,告诉你所选范围的地址。

该方法的优点是简单易用,缺点是如果用户没有选择任何单元格,将会引发异常。为解决这个问题,可以添加一些错误处理语句。

方法二:使用InputBox函数

使用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

该方法的优点是可以灵活设置需要选择的范围,并且可以添加一些错误提示。

以上就是获取用户选择的范围的两种方法,可以根据实际情况选择更适合自己的方法。

参考文献