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

Excel VBA - Using Application Input Box To Get A Users Selection Of Cells - Is It Possible To Get Users Worksheet Details?

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

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

非常感谢您抽出宝贵时间提出任何意见(!)

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

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

您可以使用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

另请查看:

谢谢 ed2 - 你帮了大忙。在您的帮助下,我取得了很大进步,非常感谢您抽出宝贵时间 post。

是 - 我发现要获取您使用的工作簿的名称 rng.Parent.Parent.Name 并获取您使用的工作表的名称 rng.Parent.Name