我得到一个名为范围的VBA代码的运行时错误#1004?

为什么这个代码运行良好:

Sub SelectRange() Dim sourceBook As Workbook Dim sourceSheet As Worksheet Dim sourceSheetSum As Worksheet Set sourceBook = ActiveWorkbook Set sourceSheet = sourceBook.Sheets("Tabelle1") ActiveWorkbook.Names.Add _ Name:="ggg", _ RefersTo:="=Sheet1!A4:L37" sourceSheet.Select sourceSheet.Range("A4:L37").Select End Sub 

但是,如果我改变

 sourceSheet.Range("A4:L37").Select 

至:

 sourceSheet.Range("ggg").Select 

我收到一个运行时错误1004

尝试下面的代码,它会在“Tabelle1”表中的单元格“A4:L37”中创build名为范围的“ggg”范围。

之后,它将另一个Range MyNamedRange设置为Range("ggg") – 这一步不是必须的,我只是想处理Rangevariables。

最后,它selectMyNamedRange

 Sub SelectRange() Dim sourceBook As Workbook Dim sourceSheet As Worksheet Dim sourceSheetSum As Worksheet Dim MyNamedRange As Range Set sourceBook = ActiveWorkbook Set sourceSheet = sourceBook.Sheets("Tabelle1") ' create the named range "ggg" sourceBook.Names.Add _ Name:="ggg", _ RefersTo:="=" & sourceSheet.Name & "!A4:L37" Set MyNamedRange = Range("ggg") ' <-- set the Range to your NamedRange "ggg" sourceSheet.Activate '<-- activate the sheet first MyNamedRange.Select '<-- select the Named Range End Sub 

尝试这个:

SourceSheet.Range(Names.Item( “GGG”))。select