几年前,使用Excel 97编写了一个使用
的VBA程序Set R = Application.InputBox( Prompt etc. ... Type:=8)
用户在打开的工作簿/工作表中选择单元格的方法。这当然没有问题,但现在我正在修改Excel 2007的程序,它只在用户输入A1格式地址时才有效。它不允许用户在打开的工作簿和工作表中移动,或滚动工作表,以找到他想要的单元格。
然而,奇怪的是,如果位于宏中,它确实可以像宣传的那样工作,但只能在与宏相同的工作簿中使用鼠标选择单元格。
我想知道是否有其他人遇到过这个问题,他们是否找到了解决方法?
答案 0 :(得分:0)
你的代码对我来说似乎没问题。我从未在Excela 97中使用过这种方法,因此我不知道输入框是否显示不同。
我在2007年和2013年检查了它(将代码放在代码模块和工作表对象中),Application.InputBox(...,type:=8)
允许用户从打开的工作簿中选择工作表和范围。
唯一的区别是2007年不允许用户离开显示输入框时处于活动状态的工作簿。
从范围对象中提取工作表是否有问题?这可以使用Set ws = r.Worksheet
或sheetName = r.Worksheet.Name
完成。
希望这有帮助。