Dzwebs.Net

撰写电脑技术杂文十余年

Excel命名区域的创建、修改、引用及删除

Admin | 2010-6-3 21:23:40 | 被阅次数 | 36183

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  什么是Excel的命名区域?

  Excel中的命名区域,指的是给某个单元格或者已选定的多个单元格区域,取一个名字。换句话说就是,给选中的单元格(或者多个选中的单元格)取一个名字。

  为什么要给单元格取名称呢?,当然,都是为了方便使用、引用,这在数据处理过程中,会相当的方便。

  一、命名单元格或区域的简单方法

  要想给选中的单元格命名一个区域名称,方法非常简单,先看下图!

  上图中,是我们平时选择多个单元格所看到的效果,如,选择A1:C7范围,我们会在A1的上面看到一个输入框,框中的内容是“A1”,如上图红线圈住的那部分。

  要对A1:C7进行区域命名,这个时候,就如下图一样。

  在输入框那个地方,把原来的A1删除,然后,输入一个名称即可,如本例的abc。最后按下回车键,这样,A1:C7这个区域,就有一个统一的名称“abc”了。

  二、使用VBA来命名区域

  ① 创建全局命名区域

  ActiveWorkbook.Names.Add Name:="MyName", RefersToR1C1:="=Sheet1!R2C2:R6C4"

  ActiveWorkbook.Names.Add Name:="MyName", RefersTo:="=Sheet1!$B$2:$D$6"

  代码将当前工作簿中工作表Sheet1的单元格区域B2:D6命名为MyName,该名称为全局名称。

  ②创建局部命名区域

  在名称前加上工作表名,将创建局部名称,例如:

  ActiveWorkbook.Names.Add Name:="Sheet1!MyName1", RefersTo:="=Sheet1!$B$2:$D$6"上面的代码在工作表Sheet1中将单元格区域B2:D6命名为MyName1,该名称为局部名称。

  也可以通过引用指定的工作表创建局部名称,例如:

  Worksheets("sheet2").Names.Add Name:="MyName2", RefersTo:="=Sheet2!$A$1:$B$3"上面的代码在工作表Sheet2中创建一个局部名称MyName2,代表Sheet2中的单元格区域A1:B3。

  ③ 简单的命名方法

  Worksheets("Sheet1").Range("B8:C10").Name = "MyName3":将工作表Sheet1中的单元格区域B8:C10命名为MyName3,该名称为全局名称。

  Worksheets("Sheet2").Range("H15:G16").Name = "Sheet2!MyName4":将工作表Sheet2中的单元格区域H15:G16命名为MyName4,该名称为局部名称。

  注意,这种方法只能应用于命名单元格区域,不能够用来命名公式、数字等。

  ④把其它表的单元格区域命名为当前工作表的区域

  Worksheets("Sheet1").Range("E6:F8").Name = "Sheet2!MyName5"或者:Worksheets("sheet2").Names.Add Name:="MyName5", RefersTo:="=Sheet1!$E$6:$F$8"上面的代码在工作表Sheet2中命名工作表Sheet1中单元格区域E6:F8为MyName5,该名称为Sheet2中的局部名称。

  ⑤命名数组

  Dim MyArray(10)
  Dim i As Integer
  For i = 1 To 10
     MyArray(i) = i
  Next i
  Names.Add Name:="NameArray", RefersTo:=MyArray上述代码先对数组赋值,然后指定名称。

  ⑥命名公式

  Names.Add Name:="NameFormlas", RefersTo:="=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)"上面的代码命名了一个公式,可以用来创建动态表格或引用动态的区域。
使用上面的方法命名数字、字符串、数组或公式,在名称中存储经常要使用的值,比将该值存放在单元格中更有优势,它可以避免该值被易外修改并减少了对象的引用。

  三、对命名区域的操作

  ①重命名已有的名称

  Worksheets("Sheet2").Names("MyName5").Name = "MyName6"上面的代码将工作表Sheet2中的局部名称MyName5改名为MyName6。但这种方法只能在单元格或单元格区域中进行重命名使用,而不能重命名代表公式、数组和字符串的名称。

  ②改变所选区域所命名的名称的引用区域

  Worksheets("Sheet1").Names.Add Selection.Name.Name,Sheet1.Range("B3:C4")上面的代码将原来所选区域的名称的引用区域改为单元格区域B3:C4,即该名称所代表的区域已变为B3:C4,原来命名区域名称被取消。

  ③提取命名区域

  使用Evaluate方法,例如:

  Evaluate("MyName").Interior.ColorIndex = 3:将工作表中名称MyName所代表的单元格区域的背景设置为红色。

  ④隐藏名称

  Names.Add Name:="HideName", RefersTo:="=$A$1:$C$3", Visible:=False将隐藏所创建的名称。注意,如果以后创建的名称与所隐藏的名称相同,则被隐藏的名称将被覆盖。

  ⑤删除命名区域的名称

  Names("MyName3").Delete上面的代码删除当前工作簿中的名称MyName3。

  注意,当前工作簿中重命名已有名称和删除名称时,要注意所要操作的名称是全局名称还是局部名称。如果为局部名称,则必须在代码中加上该名称所在工作表的引用。

  命名名称注意事项:名称的最大长度为255个字符。

  名称可以字母、空格或下划线开头。
  名称中不能包含空格、连字线等字符。
  避免命名与单元格引用相同的名称,如A1、G11等。
  避免在名称中使用Excel的保留字,如:Criteria、Database、Extract、Print_Area、Print_Titles等。


该杂文来自: Excel杂文

上一篇:Excel模拟运算表应用实例

下一篇:vba创建、读写记事本txt文件代码示例

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计