Excel VBA编程 引用命名区域
- 格式:doc
- 大小:33.76 KB
- 文档页数:2
Excel VBA编程引用命名区域
命名区域是指在工作表中为某个单元格区域设置的名称,通过这个名称,可以直接引用该单元格区域。
在Excel中,使用区域名称比用A1样式更容易标识单元格区域。
1.添加命名区域
在工作表中选择要命名的单元格区域,然后在编辑栏左端的名称框内输入一个名称,按Enter 键,即可为其指定名称。
同样,在VBA代码窗口也可以使用Names集合来指定单元格区域的名称
例如,在工作表Sheet1中,选择A1到B5的单元格区域,并为该区域命名为MyRange,如图14.1所示。
输入
选择
图14.1 为单元格区域命名
也可使用下面的语句来命名单元格区域:
s.Add Name:="myName", RefersToR1C1:= _
"=Sheet2!R1C1:R5C2"
每个工作簿中,命名区域的名称不能重复,有且只有一个。
提示
2.使用命名区域
在VBA中,引用命名区域有多种方式,用户可以跟据各种引用方法的特点,选择最适合的自己方式。
Range属性
为单元格区域命名后,可以在VBA语句中方便的使用该区域。
例如,在下面的过程中,引用名为“MyBook.xls”的工作簿中名为“MyRange”的区域。
Sub FormatRange()
Range("MyBook.xls!MyRange").Font.Italic = True
End Sub
上述代码中,直接从指定的工作簿中引用该区域命名。
如果通过工作表来引用命名区域,可在工作表前使用括号“[]”,并将工作簿名称放在括号中。
采用这种引用方式,更加便于代码的阅读。
例如,引用名称为“MyReport.xls”的工作簿中特定于工作表的区域“Sheet1!Books”。
Sub FormatSales()
Range("[MyReport.xls]Sheet1!Books").BorderAround Weight:=xlthin
End Sub
另外,使用Range属性,还可以同时处理多个命名区域。
例如,使用Range属性,同时将如下三个命名区域进行操作。
Sub ClearNamed()
Range("Myrange,YourRange,HisRange").ClearContents End Sub
提示使用Range属性同时操作多个命名区域时,必须为同一个工作表中的命名区域才可以应用。
GoTo方法
使用GoTo方法可以直接激活命名区域所在的工作簿和工作表,然后再选定该区域。
使用这种方法在操作时更加灵活。
要使用选定命名区域,请使用GoTo方法,然后选定该区域。
下列的代码中激活MyRange命名区域,并清除该区域的数据。
Sub ClearRange()
Application.Goto Reference: = "MyBook.xls!MyRange"
Selection.ClearContents
End Sub
根据Range对象的特点,还可将上述过程更改为如下的过程。
Sub ClearRange()
Application.Goto Reference: = "MyRange"
Selection.ClearContents
End Sub
提示
ClearContents方法用于清除指定区域的公式(包括数据),但保留其格式设置。