Excel 2007中的Application.InputBox方法

时间:2016-06-16 12:56:18

标签: excel-vba vba excel

几年前,使用Excel 97编写了一个使用

的VBA程序
Set R = Application.InputBox( Prompt etc. ... Type:=8) 

用户在打开的工作簿/工作表中选择单元格的方法。这当然没有问题,但现在我正在修改Excel 2007的程序,它只在用户输入A1格式地址时才有效。它不允许用户在打开的工作簿和工作表中移动,或滚动工作表,以找到他想要的单元格。

然而,奇怪的是,如果位于宏中,它确实可以像宣传的那样工作,但只能在与宏相同的工作簿中使用鼠标选择单元格。

我想知道是否有其他人遇到过这个问题,他们是否找到了解决方法?

1 个答案:

答案 0 :(得分:0)

你的代码对我来说似乎没问题。我从未在Excela 97中使用过这种方法,因此我不知道输入框是否显示不同。

我在2007年和2013年检查了它(将代码放在代码模块和工作表对象中),Application.InputBox(...,type:=8)允许用户从打开的工作簿中选择工作表和范围。

唯一的区别是2007年不允许用户离开显示输入框时处于活动状态的工作簿。

从范围对象中提取工作表是否有问题?这可以使用Set ws = r.WorksheetsheetName = r.Worksheet.Name完成。

希望这有帮助。