Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA-使用工作表更改在其他工作表中引用范围-错误1004_Vba_Excel - Fatal编程技术网

VBA-使用工作表更改在其他工作表中引用范围-错误1004

VBA-使用工作表更改在其他工作表中引用范围-错误1004,vba,excel,Vba,Excel,我需要参考不同工作表中的范围,因此我使用了工作表\u更改事件,但得到错误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

我需要参考不同工作表中的范围,因此我使用了工作表\u更改事件,但得到错误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
此处范围-选定的_状态为表1和中的范围
范围-所选城市是表2中的范围。范围始终在特定工作表内。如果你使用

Range("Selected_State")
然后Excel假定此范围在活动工作表中。与此完全相同:

ActiveSheet.Range("Selected_State")
因此,如果您想知道命名范围在哪个工作表中,您应该使用:

ThisWorkbook.Names("Selected_State").RefersToRange.Worksheet.Name

注意:仅当名称在工作簿范围内,而不在工作表范围内时,此选项才起作用。因此,您需要在所有工作表中循环查找该名称。

非常感谢我能够访问它now@VinayChhabra你可以考虑接受这个问题的解决方案,让其他用户知道它被解决了。看见