使用VBA提示用户选择单元格(可能在不同的工作表上)

Jon*_*nny 13 excel vba excel-vba excel-2010

我正在使用Excel上的VBA项目,并希望我的部分宏提示用户选择一系列单元格*,宏可以在以后进行处理.

*创建图表或使用GUI插入函数时获得的提示类型

例如: Screengrab显示所需的功能 -  Excel'Sum'函数参数弹出窗口

和这里: Screengrab显示所需的功能 -  Excel函数参数弹出窗口

我在那里寻找类似的东西

Sub MyMacro()
    MsgBox "Please select data range"

    ' allow user to select range (as images above)
    CreateFunctionArgumentsPrompt()    

    'do stuff with user selected range of cells
    ...
End Sub
Run Code Online (Sandbox Code Playgroud)

是否可以访问内置的Excel功能来执行我所指的: CreateFunctionArgumentsPrompt()

注意:这类似于SO问题excel vba通过鼠标获取用户选择范围的范围,但不同之处

  1. 我想使用Excel的内置GUI功能,如上所示
  2. 我需要能够选择并引用除活动工作表之外的工作表上的范围

Chr*_*ser 25

这不是使用您在上面显示的内置,但允许您在收入提示后选择一系列单元格:

Sub RangeSelectionPrompt()
    Dim rng As Range
    Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)

    MsgBox "The cells selected were " & rng.Address
End Sub
Run Code Online (Sandbox Code Playgroud)

这是基于MrExcel答案给出的答案.

以下是它的外观:

在此输入图像描述

  • 这段代码只有一个问题.如果选择来自不同的工作表或不同的工作簿,则返回的范围地址不是完全限定的.所以你也必须照顾它:)你可能想看到我在问题下面发布的链接... (3认同)