我正在使用Excel上的VBA项目,并希望我的部分宏提示用户选择一系列单元格*,宏可以在以后进行处理。
*创建图表或使用GUI插入函数时获得的提示类型
e.g。这里:
在这里:
我在那里寻找符合
的内容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
是否可以访问内置的Excel功能来执行我所指的:CreateFunctionArgumentsPrompt()
注意:这与SO问题excel vba get range of user selected range by mouse类似,但不同之处
答案 0 :(得分:23)
这不是使用您在上面显示的内置功能,但允许您在收入提示后选择一系列单元格:
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
这是基于this MrExcel answer中给出的答案。
以下是它的使用方式:
答案 1 :(得分:0)
您正在寻找的是一个对话框(也称为常用对话框)。不幸的是你cannot add one to the existing built in objects(至少不使用VBA)。
如上所述,您可以使用InputBox和Forms模仿此功能。这就是说我见过基于Excel的专有程序,公司在那里添加了你描述的功能类型。但是,我相信您必须使用C ++或更深层次的语言来创建可以实现此目的的
有一点值得注意的是对话框:Excel内置Common File Dialog object library,允许您使用现有的Windows API对话框创建公共文件服务器对话框(如Open,Save& Select)。