我需要在不同的工作表中引用范围,所以我使用了Worksheet_change事件但得到错误1004.下面是代码 -
Private Sub Worksheet_Change(ByVal Target As Range)
Dim inputSheetName As String
Dim dataSheetName As String
inputSheetName = Range("Selected_State").Worksheet.Name
dataSheetName = Range("Selected_City").Worksheet.Name
End Sub
此处范围 - " Selected_State"是Sheet1中的范围和" 范围 - " Selected_City是Sheet2中的范围
答案 0 :(得分:1)
范围始终位于特定工作表中。如果你使用
Range("Selected_State")
然后Excel假定此范围在活动工作表中。它与此完全相同:
ActiveSheet.Range("Selected_State")
因此,如果您想知道命名范围在哪个工作表中,您应该使用它:
ThisWorkbook.Names("Selected_State").RefersToRange.Worksheet.Name
注意:这仅在名称位于工作簿范围内时有效,但在工作表范围内时不起作用。因此,您需要遍历所有工作表才能找到该名称。