- Excel VBA范例大全
- 羅剛君編著
- 1684字
- 2018-12-29 15:15:30
第12章 處理名稱
圖形、圖表有自己的名稱,單元格或者區(qū)域也可以定義為一個名稱。將區(qū)域定義為名稱應(yīng)用在公式或者圖表中可以更加形象化。例如,B列存放產(chǎn)品單價,則可以將B列定義為“單價”,求平均單價的公式“=AVERAGE(B:B)”則可以修改為“=AVERAGE(單價)”,此種方式可以讓人更容易理解公式的含義。本章通過4個實例講解使用名稱的技巧。
● 實例91對區(qū)域及圖片、圖表命名
● 實例92顯示與隱藏名稱
● 實例93將包含指定名稱的對象隱藏
● 實例94利用名稱動態(tài)求和
實例91 對區(qū)域及圖片、圖表命名
【技巧說明】 對區(qū)域及圖片、圖表命名。
【案例介紹】 單元格區(qū)域本身只能以有效格式的地址表示,只有定義名稱后才能使用其他字符表示;而圖片、圖表等一般都以“圖片1”、“圖表2”等方式表示,不夠形象,也不夠具體化。本例則對三個類型進(jìn)行名稱的修改,數(shù)據(jù)如圖2.109所示,現(xiàn)需要將B2∶B8命名為“成績”,將圖表命名為“成績柱形圖表”,將圖片命名為“影星朱茵”。
【案例實現(xiàn)】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進(jìn)入VBE(Visual Basic Editor)環(huán)境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub命名() Sheet1.Range("B2:B8").Name="成績" Sheet1.Shapes("圖表 1").Name="成績柱形圖表" Sheet1.Shapes("圖片 1").Name="影星朱茵" MsgBox "命名完成!", 64, "OK" End Sub
[4] 關(guān)閉VBE窗口返回到工作表。
[5] 利用快捷鍵Alt+F8調(diào)出運行宏窗口,然后單擊“執(zhí)行”按鈕,結(jié)果如圖2.110所示。

圖2.109 默認(rèn)名稱

圖2.110 修改后的名稱
提示
本實例參見光盤樣本:..\第2部分\實例91.xlsm。
【相關(guān)知識說明】
(1)Name:返回或設(shè)置一個String值,代表對象的名稱。
(2)Shape:代表工作表上的所有形狀。
實例92 顯示與隱藏名稱
【技巧說明】 顯示與隱藏名稱。
【案例介紹】 在名稱管理器中可以顯示及修改工作簿中所有名稱,如圖2.111所示。可以通過代碼將之完全隱藏或者顯示。
【案例實現(xiàn)】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進(jìn)入VBE(Visual Basic Editor)環(huán)境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub隱藏名稱() Dim mystr As Name For Each mystr In ThisWorkbook.Names mystr.Visible=False Next mystr MsgBox "名稱已完全隱藏!", 64, "提示" End Sub Sub顯示名稱() Dim mystr As Name For Each mystr In ThisWorkbook.Names mystr.Visible=True Next mystr MsgBox "名稱已完全顯示!", 64, "提示" End Sub
[4] 關(guān)閉VBE窗口返回到工作表。
[5] 利用快捷鍵Alt+F8調(diào)出運行宏窗口,選擇“隱藏名稱”,然后單擊“執(zhí)行”按鈕,結(jié)果如圖2.112所示。

圖2.111 工作簿中的名稱管理器

圖2.112 所有名稱已隱藏
提示
本實例參見光盤樣本:..\第2部分\實例92.xlsm。
【相關(guān)知識說明】
(1)ThisWorkbook:表示正在運行當(dāng)前宏代碼的工作簿。
(2)Visible:返回或設(shè)置一個Boolean值,它確定對象是否可見。可讀/寫。
實例93 將包含指定名稱的對象隱藏
【技巧說明】 將名稱中包含“箭頭”二字的對象隱藏。
【案例介紹】 工作表中有很多圖形對象,如圖2.113所示,現(xiàn)需要將所有帶有箭頭的對象隱藏。
【案例實現(xiàn)】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進(jìn)入VBE(Visual Basic Editor)環(huán)境。
[2] 單擊菜單【插入】\【模塊】,打開模塊代碼窗口。
[3] 在右邊代碼窗口輸入以下代碼:
Sub隱藏對象() Dim mystr As Shape For Each mystr In Sheet1.Shapes If mystr.Name Like "*箭頭*" Then mystr.Visible=False End If Next MsgBox "所有箭頭已完全隱藏!", 64, "提示" End Sub
[4] 關(guān)閉VBE窗口返回到工作表。
[5] 利用快捷鍵Alt+F8調(diào)出運行宏窗口,然后單擊“執(zhí)行”按鈕,結(jié)果如圖2.114所示。

圖2.113 工作簿中圖形

圖2.114 隱藏箭頭后的圖形
提示
本實例參見光盤樣本:..\第2部分\實例93.xlsm。
實例94 利用名稱動態(tài)求和
【技巧說明】 利用名稱動態(tài)求和。
【案例介紹】 如圖2.115所示,B、C、D三列存放成績數(shù)據(jù),單元格E2存放求和項目。現(xiàn)需要對三個科目進(jìn)行動態(tài)求和,即求和數(shù)據(jù)跟隨E2選擇的求和項目變化,并且人員數(shù)目增加或者減少時求和數(shù)據(jù)也同樣能適應(yīng)變化。
【案例實現(xiàn)】 參見以下步驟:
[1] 使用快捷鍵Alt+F11進(jìn)入VBE(Visual Basic Editor)環(huán)境。
[2] 使用快捷鍵Ctrl+R,顯示工程資源管理器。
[3] 雙擊左邊列表中的“Sheet1”,打開工作表代碼窗口。
[4] 在右邊代碼窗口輸入以下代碼:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address="$E$2" Then ActiveWorkbook.Names.Add Name:="語文", RefersToR1C1:="=Sheet1!" & Range([b2], Range("b1048576").End(xlUp)).Address(, , xlR1C1) ActiveWorkbook.Names.Add Name:="數(shù)學(xué)", RefersToR1C1:="=Sheet1!" & Range([c2], Range("c1048576").End(xlUp)).Address(, , xlR1C1) ActiveWorkbook.Names.Add Name:="地理", RefersToR1C1:="=Sheet1!" & Range([d2], Range("d1048576").End(xlUp)).Address(, , xlR1C1) MsgBox Target & "合計為:" & WorksheetFunction.Sum(Range(Target.Text)) End If End Sub
[5] 關(guān)閉VBE窗口返回到工作表。
[6] 在單元格E2下拉框中選擇一個求和項目,程序?qū)棾鲈擁椖康膮R總數(shù)據(jù),如圖2.116所示。

圖2.115 成績表

圖2.116 選擇求和項目并動態(tài)求和
提示
1.本實例參見光盤樣本:..\第2部分\實例94.xlsm。
2.為單元格命名必須使用R1C1樣式的單元格地址。
【相關(guān)知識說明】
Names.Add:添加一個名稱。
- 中文版Rhino 5.0實用教程
- Office 2013輕松辦公:Word/Excel/PowerPoint三合一超級應(yīng)用大全(實戰(zhàn)案例版)
- Word/Excel 2010辦公應(yīng)用實戰(zhàn)從入門到精通
- Word+Excel+PPT高效辦公從入門到精通
- Office 2016從新手到高手
- Excel 2010基礎(chǔ)入門與辦公應(yīng)用
- PowerPoint!讓教學(xué)更精彩:PPT課件高效制作(全彩)
- Excel人力資源管理必備的200個文件
- MATLAB及Mathematica軟件應(yīng)用
- Excel VBA基礎(chǔ)入門(第二版)
- 中文版Office 2016三合一辦公基礎(chǔ)教程
- Unity3D平臺AR與VR開發(fā)快速上手
- BIOS與注冊表完全自學(xué)手冊
- 全視頻600例!PPT設(shè)計實戰(zhàn)大全
- Word\Excel\PowerPoint2013三合一高效辦公應(yīng)用/微課堂學(xué)電腦