Excel命名區(qū)域的創(chuàng)建、修改、引用及刪除
什么是Excel的命名區(qū)域? Excel中的命名區(qū)域,指的是給某個(gè)單元格或者已選定的多個(gè)單元格區(qū)域,取一個(gè)名字。換句話說就是,給選中的單元格(或者多個(gè)選中的單元格)取一個(gè)名字。 為什么要給單元格取名稱呢?,當(dāng)然,都是為了方便使用、引用,這在數(shù)據(jù)處理過程中,會相當(dāng)?shù)姆奖恪?/P> 一、命名單元格或區(qū)域的簡單方法 要想給選中的單元格命名一個(gè)區(qū)域名稱,方法非常簡單,先看下圖! 上圖中,是我們平時(shí)選擇多個(gè)單元格所看到的效果,如,選擇A1:C7范圍,我們會在A1的上面看到一個(gè)輸入框,框中的內(nèi)容是“A1”,如上圖紅線圈住的那部分。 要對A1:C7進(jìn)行區(qū)域命名,這個(gè)時(shí)候,就如下圖一樣。 在輸入框那個(gè)地方,把原來的A1刪除,然后,輸入一個(gè)名稱即可,如本例的abc。最后按下回車鍵,這樣,A1:C7這個(gè)區(qū)域,就有一個(gè)統(tǒng)一的名稱“abc”了。 二、使用VBA來命名區(qū)域 ① 創(chuàng)建全局命名區(qū)域 ActiveWorkbook.Names.Add Name:="MyName", RefersToR1C1:="=Sheet1!R2C2:R6C4" ActiveWorkbook.Names.Add Name:="MyName", RefersTo:="=Sheet1!$B$2:$D$6" 代碼將當(dāng)前工作簿中工作表Sheet1的單元格區(qū)域B2:D6命名為MyName,該名稱為全局名稱。 ②創(chuàng)建局部命名區(qū)域 在名稱前加上工作表名,將創(chuàng)建局部名稱,例如: ActiveWorkbook.Names.Add Name:="Sheet1!MyName1", RefersTo:="=Sheet1!$B$2:$D$6"上面的代碼在工作表Sheet1中將單元格區(qū)域B2:D6命名為MyName1,該名稱為局部名稱。 也可以通過引用指定的工作表創(chuàng)建局部名稱,例如: Worksheets("sheet2").Names.Add Name:="MyName2", RefersTo:="=Sheet2!$A$1:$B$3"上面的代碼在工作表Sheet2中創(chuàng)建一個(gè)局部名稱MyName2,代表Sheet2中的單元格區(qū)域A1:B3。 ③ 簡單的命名方法 Worksheets("Sheet1").Range("B8:C10").Name = "MyName3":將工作表Sheet1中的單元格區(qū)域B8:C10命名為MyName3,該名稱為全局名稱。 Worksheets("Sheet2").Range("H15:G16").Name = "Sheet2!MyName4":將工作表Sheet2中的單元格區(qū)域H15:G16命名為MyName4,該名稱為局部名稱。 注意,這種方法只能應(yīng)用于命名單元格區(qū)域,不能夠用來命名公式、數(shù)字等。 ④把其它表的單元格區(qū)域命名為當(dāng)前工作表的區(qū)域 Worksheets("Sheet1").Range("E6:F8").Name = "Sheet2!MyName5"或者:Worksheets("sheet2").Names.Add Name:="MyName5", RefersTo:="=Sheet1!$E$6:$F$8"上面的代碼在工作表Sheet2中命名工作表Sheet1中單元格區(qū)域E6:F8為MyName5,該名稱為Sheet2中的局部名稱。 ⑤命名數(shù)組 Dim MyArray(10) ⑥命名公式 Names.Add Name:="NameFormlas", RefersTo:="=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)"上面的代碼命名了一個(gè)公式,可以用來創(chuàng)建動態(tài)表格或引用動態(tài)的區(qū)域。 三、對命名區(qū)域的操作 ①重命名已有的名稱 Worksheets("Sheet2").Names("MyName5").Name = "MyName6"上面的代碼將工作表Sheet2中的局部名稱MyName5改名為MyName6。但這種方法只能在單元格或單元格區(qū)域中進(jìn)行重命名使用,而不能重命名代表公式、數(shù)組和字符串的名稱。 ②改變所選區(qū)域所命名的名稱的引用區(qū)域 Worksheets("Sheet1").Names.Add Selection.Name.Name,Sheet1.Range("B3:C4")上面的代碼將原來所選區(qū)域的名稱的引用區(qū)域改為單元格區(qū)域B3:C4,即該名稱所代表的區(qū)域已變?yōu)锽3:C4,原來命名區(qū)域名稱被取消。 ③提取命名區(qū)域 使用Evaluate方法,例如: Evaluate("MyName").Interior.ColorIndex = 3:將工作表中名稱MyName所代表的單元格區(qū)域的背景設(shè)置為紅色。 ④隱藏名稱 Names.Add Name:="HideName", RefersTo:="=$A$1:$C$3", Visible:=False將隱藏所創(chuàng)建的名稱。注意,如果以后創(chuàng)建的名稱與所隱藏的名稱相同,則被隱藏的名稱將被覆蓋。 ⑤刪除命名區(qū)域的名稱 Names("MyName3").Delete上面的代碼刪除當(dāng)前工作簿中的名稱MyName3。 注意,當(dāng)前工作簿中重命名已有名稱和刪除名稱時(shí),要注意所要操作的名稱是全局名稱還是局部名稱。如果為局部名稱,則必須在代碼中加上該名稱所在工作表的引用。 命名名稱注意事項(xiàng):名稱的最大長度為255個(gè)字符。 名稱可以字母、空格或下劃線開頭。 |
|