我們在Excel中整理祷蝌、分析和處理數(shù)據(jù)時(shí)毡们,都是圍繞單元格進(jìn)行大多數(shù)操作,因此Range對象是Excel VBA中最常用的對象从铲,也是最重要的對象。在《ExcelVBA解讀》系列第2季中澄暮,我們詳細(xì)講解了Range對象的大多數(shù)方法和屬性名段,現(xiàn)整理于此,以饗讀者泣懊。
在這里伸辟,我們匯總了《ExcelVBA解讀》系列第2季的目錄并介紹了每篇文章的主要內(nèi)容,同時(shí)對每篇文章進(jìn)行了鏈接(只要你點(diǎn)擊標(biāo)題即可轉(zhuǎn)入相應(yīng)的文章頁面)馍刮,方便有興趣的讀者查找并學(xué)習(xí)相應(yīng)的內(nèi)容信夫。
回顧了在《ExcelVBA解讀》第1季中初步介紹的Excel對象模型以及一些Range對象和屬性,粗略介紹了接下來的文章中要詳細(xì)講解的內(nèi)容卡啰。
選取單元格是最基本的操作静稻。本文詳細(xì)介紹了選取單元格或單元格區(qū)域的Select方法和確定當(dāng)前活動單元格的Activate方法,以及它們之間的差別匈辱。
詳細(xì)地講解了Range對象的Offset屬性振湾,包括該屬性的作用、語法及參數(shù)說明亡脸,以及一些幫助理解該屬性的代碼和示例恰梢,優(yōu)化了前面文章中的員工管理系統(tǒng)代碼。
為方便后續(xù)文章中示例的講解梗掰,本文簡要地介紹了VBA中一些對單元格字體和背景進(jìn)行格式化的操作,包括:操作Font對象(Bold屬性嗅回、Name屬性及穗、Color屬性、ColorIndex屬性等)設(shè)置單元格中的字體屬性绵载,操作Interior對象(Color屬性埂陆、ColorIndex屬性)設(shè)置單元格背景色苛白。(使用GRB函數(shù)組合出不同的顏色)
回顧了前面介紹的Rows屬性和Columns屬性,詳細(xì)講解了Row屬性及示例代碼焚虱。Column屬性用法類似购裙。
35.對單元格進(jìn)行統(tǒng)計(jì)——Count屬性
詳細(xì)講解了用來獲取單元格數(shù)或者行列數(shù)的Count屬性。
詳細(xì)講解了在單元格區(qū)域中大范圍移動的End屬性:包括End屬性的語法及說明鹃栽,示例代碼及獲取最后一行的通用代碼躏率,進(jìn)一步優(yōu)化了前面文章中的員工管理系統(tǒng)代碼。
詳細(xì)講解了基于給定的單元格或單元格區(qū)域擴(kuò)展或縮小單元格區(qū)域的Resize屬性:包括Resize屬性的語法及說明民鼓、示例代碼薇芝。
詳細(xì)講解了快速獲取當(dāng)前單元格所在區(qū)域的CurrentRegion屬性,試驗(yàn)了該屬性在不同情形下所獲取的具體區(qū)域丰嘉,給出了兩個示例夯到。
39.快速確定工作表中已使用的區(qū)域——UsedRange屬性
詳細(xì)講解了獲取工作表已使用區(qū)域的UsedRange屬性,試驗(yàn)了該屬性在不同情形下所獲取的具體區(qū)域饮亏。
40.告訴你單元格住哪兒——使用Address屬性獲取單元格地址
詳細(xì)講解了Address屬性的語法及參數(shù)說明耍贾,演示了設(shè)置不同參數(shù)時(shí)所獲取的地址形式。
41.藏得再好也能找到——使用Find方法實(shí)現(xiàn)查找
通過示例演示了Range對象的Find方法路幸,詳細(xì)講解了Find方法的語法和參數(shù)說明荐开,并講解了相關(guān)方法:FindNext方法和FindPrevious方法的使用及示例。(這些方法在代碼中非常有用劝赔,值得花時(shí)間理解)
42.學(xué)生管理系統(tǒng)開發(fā)V1.3
進(jìn)一步完善前面文章中的學(xué)生管理系統(tǒng):使用了動態(tài)名稱來定義數(shù)據(jù)有效性誓焦,從而實(shí)時(shí)更新數(shù)據(jù),然后利用Find方法查找指定的數(shù)據(jù)內(nèi)容并自動填充相應(yīng)單元格着帽。
43.快速定位到特定的單元格——SpecialCells方法
詳細(xì)講解“定位條件”對話框中的選項(xiàng)在VBA代碼中的實(shí)現(xiàn)杂伟,即SpecialCells方法的語法及參數(shù)說明,給出了一個示例:查找最后的單元格仍翰。
講解了將不同的區(qū)域組合成一個區(qū)域的Union方法赫粥,給出了一個示例:查找并獲取工作表中指定內(nèi)容的所有單元格。
45.查找重疊的單元格區(qū)域——Intersect方法
講解了能夠獲取單元格區(qū)域中重合部分的Intersect方法予借,給出了2個應(yīng)用示例:①判斷兩個單元格區(qū)域是否有重疊越平、②用VBA實(shí)現(xiàn)保護(hù)單元格功能。
46.選取非連續(xù)的單元格區(qū)域——Areas集合
詳細(xì)講解了代表工作表中所選取的由一塊塊單元格區(qū)域組成的非連續(xù)區(qū)域的Areas集合對象的使用灵迫,給出了2個示例:①為不同單元格區(qū)域(或者根據(jù)條件)設(shè)置不同的背景色秦叛、②將工作表中的常量區(qū)域的背景色設(shè)置為紅色(將Areas集合與SpecialCells方法結(jié)合使用,為我們操作特定區(qū)域提供了一種新思路)瀑粥。此外挣跋,還補(bǔ)充講解了如何表示單元格區(qū)域中的單元格。
47.獲取整行或整列——EntireRow屬性和EntireColumn屬性
介紹了代表指定單元格所在的整行或整列的EntireRow屬性和EntireColumn屬性狞换,給出了兩個示例:隱藏空行避咆、高亮顯示當(dāng)前單元格所在的行和列舟肉。
對前面講解的找到想要的單元格的屬性或方法進(jìn)行小結(jié),以助于讀者加深對這些屬性或方法的理解查库。
詳細(xì)介紹了如何在VBA中實(shí)現(xiàn)Excel中最頻繁使用的復(fù)制或剪切操作路媚,即使用Copy方法和Cut方法,包括它們的語法及參數(shù)說明樊销、使用情形等整慎。給出了2個示例:①查找滿足條件的數(shù)據(jù)并將相關(guān)數(shù)據(jù)復(fù)制到指定區(qū)域、②復(fù)制特定的數(shù)據(jù)到指定區(qū)域现柠。
詳細(xì)講解了如何在VBA中使用Range對象的PasteSpecial方法進(jìn)行粘貼操作院领,包括PasteSpecial方法的語法及詳細(xì)參數(shù)說明。給出了5個示例:①只粘貼格式而不粘貼值够吩、②只粘貼值比然、③粘貼值并保持列寬、④對粘貼的區(qū)域進(jìn)行運(yùn)算周循、⑤將行列轉(zhuǎn)置强法。同時(shí),指出了使用粘貼時(shí)容易出錯的2點(diǎn)陷阱湾笛。
詳細(xì)講解了VBA中實(shí)現(xiàn)數(shù)據(jù)替換的Replace方法饮怯,包括該方法的語法及詳細(xì)的參數(shù)說明,并給出了2個示例:①用不同的值同時(shí)替換不同的區(qū)域嚎研、②替換格式(FindFormat屬性和ReplaceFormat屬性)蓖墅。
詳細(xì)講解了在VBA中實(shí)現(xiàn)自動篩選功能的AutoFilter方法,包括該方法的語法及詳細(xì)的參數(shù)說明临扮,并提供了6個有用的示例:①移除自動篩選提供的下拉箭頭论矾、②一次執(zhí)行多個列字段的篩選、③復(fù)制篩選結(jié)果杆勇、④刪除篩選出的數(shù)據(jù)(AutoFilterMode屬性贪壳、Delete方法)、⑤根據(jù)當(dāng)前單元格內(nèi)容篩選數(shù)據(jù)蚜退、⑥根據(jù)當(dāng)前單元格內(nèi)容實(shí)時(shí)篩選數(shù)據(jù)并將數(shù)據(jù)粘貼到指定位置闰靴。
詳細(xì)講解了在VBA中實(shí)現(xiàn)高級篩選功能的AdvancedFilter方法,包括不同情形下的篩選技巧钻注、AdvancedFilter方法的語法及參數(shù)說明蚂且,并提供了5個實(shí)用的技巧示例:①獲取不重復(fù)值、②獲取兩列或多列組合后的不重復(fù)值幅恋、③根據(jù)條件區(qū)域篩選膘掰、④設(shè)置邏輯條件篩選(不同組合代表的邏輯、使用公式作為篩選條件)、⑤找出兩列中不相同的內(nèi)容(Clear方法)识埋。
詳細(xì)講解了VBA中Sort方法的語法及參數(shù)說明,提供了7個技巧示例:①查找滿足某項(xiàng)條件的所有數(shù)據(jù)并按順序排列零渐、②查找滿足某項(xiàng)條件的不重復(fù)數(shù)據(jù)(與高級篩選組合)窒舟、③雙擊列標(biāo)題自動排序、④根據(jù)活動單元格排序诵盼、⑤根據(jù)顏色排序(ClearContents方法)惠豺、⑥排序有部分相同數(shù)據(jù)的行、⑦自定義排序(介紹了Application對象的AddCustomList方法风宁、GetCustomListNum方法洁墙、DeleteCustomList方法)。
55.在VBA中使用公式1——Formula屬性和FormulaR1C1屬性
首先介紹了Excel中的A1引用樣式和R1C1引用樣式戒财,然后講解Range對象的Formula屬性和FormulaR1C1屬性的代碼及相關(guān)說明热监,以及在VBA中使用R1C1樣式公式的優(yōu)點(diǎn)及相應(yīng)的例子。
56.在VBA中使用公式2——FormulaArray屬性及相關(guān)屬性
講解了在VBA中使用FormulaArray屬性輸入數(shù)組公式的代碼饮寞,給出了一個實(shí)用示例:匯總每類水果的銷售額(結(jié)合AdvancedFilter方法實(shí)現(xiàn))孝扛。接著講解了相關(guān)屬性:FormulaHidden屬性、HasFormula屬性幽崩、HasArray屬性苦始。最后提供了3個應(yīng)用示例(含技巧):①找出兩列中不相同的內(nèi)容(IsError函數(shù))、②快速填充單元格區(qū)域中的空單元格慌申、③查找數(shù)據(jù)并計(jì)算(公式中有變量時(shí)的正確書寫方式)陌选。
講解了在VBA中實(shí)現(xiàn)自動填充單元格的AutoFill方法,包括語法及參數(shù)說明蹄溉,并提供了6個實(shí)用技巧示例:①使用代碼在列中輸入序號咨油、②自動更新列中的序號、③按自定義列表填充类缤、④自動填充月份臼勉、⑤自動填充工作日、⑥自動填充公式餐弱。
詳細(xì)講解了VBA中實(shí)現(xiàn)單元格向下填充的FillDown方法宴霸,提供了2個示例:①自動填充公式、②用空單元格上方的單元格數(shù)據(jù)填充單元格區(qū)域中的空單元格膏蚓,并介紹了相關(guān)的FillUp方法瓢谢、FillLeft方法、FillRight方法驮瞧。
詳細(xì)講解了在VBA中實(shí)現(xiàn)合并單元格操作的Merge方法氓扛,包括其語法和參數(shù)說明,介紹了相關(guān)的方法和屬性:UnMerge方法、MergeArea屬性采郎、MergeCells屬性千所。提供了3個應(yīng)用示例:①判斷單元格是否為合并單元格并取消單元格合并、②判斷單元格是否包含在合并單元格區(qū)域蒜埋、③合并內(nèi)容相同的單元格(與AdvancedFilter方法結(jié)合淫痰、DisplayAlerts屬性)。
集中介紹了Range對象與單元格尺寸和位置相關(guān)的屬性和方法:ColumnWidth屬性整份、RowHeight屬性待错、UseStandardHeight屬性、UseStandardWidth屬性烈评、Width屬性火俄、Height屬性、Left屬性讲冠、Top屬性瓜客,以及AutoFit方法。提供了5個應(yīng)用示例:①設(shè)置所選區(qū)域的列寬為所在列中最大列的列寬沟启、②獲取單元格的行高忆家、③設(shè)置輸入行行高的最小值、④恢復(fù)工作表中行高列寬的標(biāo)準(zhǔn)尺寸德迹、⑤在工作表單元格中添加組合框(DropDown對象)芽卿。
概要地介紹了設(shè)置單元格格式的對象、屬性和方法:Font對象胳搞、Interior對象卸例、Border對象、BordersAround方法肌毅、HorizontalAlignment屬性筷转、VerticalAlignment屬性、Orientation屬性悬而、WrapText屬性呜舒、ShrinkToFit屬性、Justify方法笨奠、Style屬性袭蝗。提供了幾段代碼:①列出xlPattern常量表示的圖案、②列出顏色面板中的顏色及索引值般婆、③列出xlBordersIndex常量對應(yīng)的邊框到腥、④列出邊框線條型式。
介紹了在VBA中設(shè)置或者獲取數(shù)字格式的NumberFormat屬性及相關(guān)代碼蔚袍。列舉了5個示例:①單元格數(shù)值VS.單元格文本值乡范、②獲取單元格數(shù)字格式、③統(tǒng)計(jì)單元格區(qū)域中某數(shù)字格式出現(xiàn)的次數(shù)、④將所選單元格區(qū)域中的電話號碼設(shè)置為指定格式晋辆、⑤替換格式渠脉。
講解在VBA中實(shí)現(xiàn)單元格批注的一系列操作,包括設(shè)置批注的相關(guān)屬性和方法:AddComment方法栈拖、Comment屬性连舍、Visible屬性、Text方法涩哟、ClearComments方法、Author屬性盼玄、Shape屬性贴彼、Previous屬性、Next屬性埃儿、Delete方法器仗。給出了3個示例:①添加單元格批注、②獲取單元格批注童番、③在單元格批注中放置圖片精钮。
主要介紹Range對象關(guān)于名稱的屬性和方法,為進(jìn)一步理解名稱及其應(yīng)用打下基礎(chǔ)剃斧。包括Range對象的Name屬性轨香、CreateNames方法、ApplyNames方法幼东、ListNames方法臂容。給出了5個示例:①列出工作簿中的所有命名區(qū)域的名稱、②對命名區(qū)域進(jìn)行格式化操作根蟹、③以命名區(qū)域?yàn)榛鶞?zhǔn)移動區(qū)域、④以命名區(qū)域?yàn)榛鶞?zhǔn)擴(kuò)展區(qū)域、⑤遍歷命名區(qū)域男旗。
主要介紹前面系列文章中還沒有講解的Range對象的一些屬性和方法:Insert方法巨缘、Delete方法、Clear方法系列散庶、CopyPicture方法蕉堰、CurrentArray屬性、Characters屬性督赤、Item屬性嘁灯、Next屬性、Previous屬性躲舌、Errors屬性丑婿、Calculate方法、Validation屬性、FormatConditions屬性羹奉,給出了相應(yīng)的圖文對照秒旋。
您覺得以上關(guān)于Range對象的屬性和方法的介紹還有遺漏的嗎?可以更簡單些嗎诀拭?形式還可以更生動活潑些嗎迁筛?
歡迎您在下面留言。
本文及文中介紹的30多篇文章均首發(fā)于[ 完美Excel ]微信公眾號:excelperfect耕挨。