首页 > 解决方案 > Excel VBA - 使用应用程序输入框获取用户选择的单元格 - 是否可以获取用户工作表详细信息?

问题描述

我正在尝试使用 Excel VBA 进行一些编码。(我对使用 Excel 编写 VBA 非常陌生。)

我想要做的是从 Application.InputBox 中获取用户对单元格的选择。我的问题是用户将选择将位于另一个打开的工作表中的单元格。我知道我可以使用 .Address 属性获取用户选择的详细信息。问题是,这仅返回单元格范围并省略文件和工作表的详细信息。我的问题是,是否可以获得用户文件和工作表的详细信息。当然,这一定是可能的,因为当用户选择他们的单元格时它在输入框中是可见的?

非常感谢您抽出宝贵时间发表任何评论(!)

到目前为止我使用的代码如下所示:

Sub UserSelectsCells()

Dim rng As Variant

On Error Resume Next
  Set rng = Application.InputBox( _
    Title:="Select Test Cells", _
    Prompt:="Please Select The Cells Which Test Whether The User Has Answered The Questions Correctly", _
    Type:=8)
On Error GoTo 0

'Test to ensure User Did not cancel
  If rng Is Nothing Then Exit Sub

MsgBox rng.Address
Range("M10").Value = rng.Address

End Sub

标签: excelvbauser-input

解决方案


您可以使用rng.Parent来获取工作表。

https://docs.microsoft.com/en-us/office/vba/api/excel.range.parent

您可以.Parent在工作表上使用来获取工作簿。

https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet.parent

另请查看: 从 Excel-VBA 中的范围获取工作簿名称和工作表名称


推荐阅读