使用Application.InputBox获取选中工作表名称时遇错求助
解决VBA获取选中工作表名称的错误问题
错误原因
你提供的代码报错是因为Application.InputBox(Type:=8)返回的是单元格区域(Range对象),而Range对象没有Worksheet这个属性,正确获取区域所属工作表的属性是Parent。
修正后的代码(选择单元格区域后获取对应工作表)
Sub GetSelectedWorksheetName() Dim selectedRange As Range Dim selectedSheet As Worksheet Dim selectedSheetName As String On Error Resume Next Set selectedRange = Application.InputBox("选择一个单元格区域", Type:=8) On Error GoTo 0 If Not selectedRange Is Nothing Then Set selectedSheet = selectedRange.Parent selectedSheetName = selectedSheet.Name MsgBox "选中的工作表名称: " & selectedSheetName Else MsgBox "未选择任何区域。" End If End Sub
更直接的方案(获取当前激活的工作表)
如果你的需求是直接获取当前选中(激活)的工作表名称,无需弹窗选择区域,代码可以更简洁:
Sub GetActiveWorksheetName() MsgBox "当前激活的工作表名称: " & ActiveSheet.Name End Sub
内容的提问来源于stack exchange,提问作者Makubexho PC
相关产品推荐
相关产品推荐

