Excel單元格操作_第1頁(yè)
Excel單元格操作_第2頁(yè)
Excel單元格操作_第3頁(yè)
Excel單元格操作_第4頁(yè)
Excel單元格操作_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第 3 章 單元格的基本操作第 3 章單元格的基本操作在本章中,將詳細(xì)講解如何操作 Excel 中的單元格對(duì)象。在 Excel 中,單元格對(duì)象是 用戶(hù)經(jīng)常需要處理的對(duì)象。同時(shí)單元格對(duì)象也是用戶(hù)操作 Excel 的最小單元。在本章中, 將對(duì)涉及到單元格的常見(jiàn)操作進(jìn)行介紹。3.1獲取單元格的引用在 Excel VBA 中,經(jīng)常要使用到對(duì)單元格的引用,然后使用屬性和方法對(duì)區(qū)域進(jìn)行操 作。根據(jù)單元格區(qū)域的使用屬性不同,主要包括以下幾種情況:?jiǎn)蝹€(gè)單元格;多個(gè)連續(xù)或者不連續(xù)單元格組成的區(qū)域;整行或整列。用戶(hù)如果希望使用 VBA 代碼對(duì)單元格區(qū)域進(jìn)行操作,就必須用將單元格區(qū)域賦值給 某個(gè)變量,也就是首先獲得

2、某個(gè)單元格區(qū)域的引用。案例 17使用 A1 樣式引用單元格1功能說(shuō)明在使用 Excel 中,A1 樣式是用戶(hù)最熟悉的一種引用樣式。A1 樣式其實(shí)就是列名和行 名的組合,確定對(duì)應(yīng)的單元格。在 Excel VBA 中,當(dāng)用戶(hù)需要對(duì)單元格進(jìn)行操作的時(shí)候, 需要首先使用代碼引用單元格。2語(yǔ)法說(shuō)明在 VBA 中,通過(guò) Range 對(duì)象的 Range 屬性返回 Range 對(duì)象。Range 屬性返回一個(gè)單 元格或單元格區(qū)域,對(duì)區(qū)域的引用如果使用 A1 樣式,需將引用字符串包含在引號(hào)中。另 外還可以使用以下方式引用單元格:A3:引用單元格“A3”; ActiveCell:當(dāng)前單元格。 在本例中,因?yàn)橐玫膯?/p>

3、元格為對(duì)象,因此需要?jiǎng)?chuàng)建對(duì)象變量。創(chuàng)建對(duì)象變量通常分兩個(gè)步驟:(1)聲明對(duì)象變量。與聲明普通變量類(lèi)似,用戶(hù)可以使用 Dim 語(yǔ)句或其他的聲明語(yǔ) 句之一來(lái)聲明對(duì)象變量。引用對(duì)象的變量必須是 Variant、Object,或是一個(gè)對(duì)象的指定類(lèi) 型。下面的聲明在 Excel 中都是有效的:59Dim MyRangeDim MyRange As Object Dim MyRange As Range'聲明 Variant 數(shù)據(jù)類(lèi)型'聲明 Object 數(shù)據(jù)類(lèi)型'聲明 Range 類(lèi)型(2)賦值對(duì)象變量給對(duì)象。在 Excel VBA 中,需要使用 Set 語(yǔ)句賦值對(duì)象給對(duì)象變量,

4、可以賦值對(duì)象表達(dá)式或是 Nothing。下面的賦值語(yǔ)句在 Excel VBA 中是有效的:Set MyRange = Range("B3")Set MyRange = Nothing' 賦值對(duì)象引用。' 中斷關(guān)聯(lián)。設(shè)置對(duì)象變量為 Nothing,會(huì)中斷此對(duì)象變量與其他對(duì)象的關(guān)聯(lián),可預(yù)防因意外改變變量而更改對(duì)象。在關(guān)閉關(guān)聯(lián)對(duì)象后,對(duì)象變量總是設(shè)置為 Nothing,所以可以檢測(cè)對(duì)象 變量是否指到有效的對(duì)象。3案例說(shuō)明本例中,用戶(hù)需要首先引用單元格 D3,然后在對(duì)應(yīng)的單元格中添加字符串“I love Excel VBA”。4編寫(xiě)代碼實(shí)現(xiàn) A1 樣式引用的代碼如下

5、:Sub ForCell()Dim RngCell As Range Set RngCell = Range("D3")With RngCell.Value = "I love Excel VBA".Font.Name = "Tahoma".Font.Italic = True End WithSet RngCell = Nothing End Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.1 所示。圖 3.1 A1 樣式引用結(jié)果6程序分析在上面的代碼中,通過(guò)下面的代碼段:Dim RngCell As Range Set RngC

6、ell = Range("D3")定義了 Range 變量,然后通過(guò) Range("D3")獲取對(duì)單元格 D3 的引用。案例 18使用 R1C1 樣式引用單元格1功能說(shuō)明在 Excel 中,R1C1 的引用格式在開(kāi)發(fā)過(guò)程中也是經(jīng)常用到的。在很多情況下,使用單 元格的行列序號(hào)來(lái)引用單元格,會(huì)給程序開(kāi)發(fā)帶來(lái)更大的便利。例如,當(dāng)用戶(hù)需要在單元 格區(qū)域內(nèi)進(jìn)行循環(huán)設(shè)置的時(shí)候,使用 R1C1 樣式就便利很多。因?yàn)椋瑢?duì)于循環(huán)而言,數(shù)字 會(huì)更加便利,而 A1 樣式中的列名字母則不適合循環(huán)。2語(yǔ)法說(shuō)明Excel 的工作表由行和列構(gòu)成。通過(guò)使用行列索引號(hào),可用 Cells

7、屬性引用單個(gè)單元格。 該屬性返回代表單個(gè)單元格的 Range 對(duì)象。Cells(3,2)返回對(duì)工作表中單元格 B3 的引用。 同時(shí),R1C1 樣式可以使用多種引用方式:絕對(duì)引用、相對(duì)引用和混合引用,得到的結(jié)果 都是一樣的。因此,用戶(hù)在實(shí)際的編程中,可以根據(jù)情況選擇合適的方法。使用 Cells 屬性引用單元格時(shí),用戶(hù)可以使用變量替代行列索引號(hào),所以 Cells 屬性適 合在單元格區(qū)域中循環(huán)。另外,使用 Cells 屬性還可按以下方式引用單元格區(qū)域: Cells(2, "B"):表示第 2 行 B 列 如果使用 Cells 屬性時(shí),不指定行列索引號(hào),程序?qū)⒎祷毓ぷ鞅砩纤袉卧?/p>

8、的 Range對(duì)象。3案例說(shuō)明運(yùn)行本例的效果如圖 4-2 所示,單擊“使用索引號(hào)引用單元格”按鈕,將在單元格區(qū) 域“A1:E10”中按順序填充數(shù)字。4編寫(xiě)代碼R1C1 樣式的代碼如下:Sub R1C1_cells() Dim i As Integer Dim j As IntegerFor i = 1 To 4For j = 1 To 4Cells(i, j).Value = (i - 1) * 4 + j NextNext End Sub 5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.2 所示。圖 3.2 R1C1 樣式引用單元格6程序分析從上面的例子中可以看出,當(dāng)用戶(hù)使用 R1C1 的樣式引

9、用單元格時(shí),可以很方便的使 用循環(huán)結(jié)構(gòu),進(jìn)行各種復(fù)雜的運(yùn)算。案例 19引用多個(gè)單元格區(qū)域1功能說(shuō)明在使用 Excel 分析數(shù)據(jù)或者處理問(wèn)題時(shí),有時(shí)需要同時(shí)選擇多個(gè)單元格,然后再進(jìn)行 處理。同時(shí),這些單元格區(qū)域在范圍上可能并不連續(xù),因此需要使用特殊方法引用單元格 區(qū)域。當(dāng)單元格區(qū)域范圍比較多,同時(shí)比較雜亂,沒(méi)有規(guī)律的時(shí)候,單個(gè)單元格區(qū)域依次 選擇,會(huì)很耽誤效率。因此,需要使用特定的語(yǔ)法對(duì)多個(gè)單元格區(qū)域進(jìn)行引用。2語(yǔ)法說(shuō)明在 Excel VBA 中,可以使用兩種法選擇單元格區(qū)域。如果是連續(xù)的單元格區(qū)域,可以 使用左上角和右下角的單元格來(lái)確定區(qū)域。例如,使用下面的代碼: Range("B2

10、:D3") 表示引用的是單元格 B2:D3 的區(qū)域。如果是不連續(xù)的單元格區(qū)域,可以選擇使用 Range屬性。其中,使用 Range 屬性的方法是,用逗號(hào)將不同的單元格區(qū)域隔開(kāi),例如: Range("B2:D3, E4:F8") 在上面的代碼中,逗號(hào)必須在引號(hào)的內(nèi)部。3案例說(shuō)明在本例中,用戶(hù)需要通過(guò)程序代碼同時(shí)選中單元格中多個(gè)不連續(xù)的單元格區(qū)域,然后 設(shè)置這些單元格區(qū)域的填充紅色。4編寫(xiě)代碼本例代碼如下:Sub select_range() Dim rng As RangeSet rng = Range("A1:B4, D1:G6, B8:C9"

11、)rng.Select Selection.Interior.ColorIndex = 3Set rng = Nothing End Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.3 所示。圖 3.3 選擇多個(gè)單元格區(qū)域6程序分析當(dāng)用戶(hù)使用代碼 Range("A1:B3","D4:E5")時(shí),程序選擇的單元格區(qū)域是 A1:E5,即以 第一個(gè)區(qū)域左上角單元格為起點(diǎn),第二個(gè)區(qū)域右下角單元格為終點(diǎn),連接成一個(gè)新的連續(xù) 區(qū)域。案例 20合并單元格區(qū)域1功能說(shuō)明前面的案例說(shuō)明了如何使用 Range 屬性來(lái)引用多個(gè)單元格區(qū)域。在 Excel VBA 中,用 戶(hù)還

12、可以使用 Union 方法來(lái)合并不同的單元格區(qū)域。在本小節(jié)中,將詳細(xì)講解如何使用 Union 方法來(lái)合并單元格的區(qū)域。2語(yǔ)法說(shuō)明使用 Application 對(duì)象的 Union 方法,可將多個(gè)單元格區(qū)域組合到 Range 對(duì)象中。Application.Union 方法的語(yǔ)法格式如下:表達(dá)式.Union(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13,Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg

13、23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)用戶(hù)在使用 Union 方法時(shí),至少需要兩個(gè)單元格區(qū)域,最多可合并 30 個(gè)單元格區(qū)域。例如: Union(Range("A1:C3"), Range("E1:F5") 3案例說(shuō)明在本例中,用戶(hù)需要引用多個(gè)單元格區(qū)域,然后在引用區(qū)域的單元格中添加隨機(jī)數(shù)。4編寫(xiě)代碼合并單元格區(qū)域的具體代碼如下:Sub union_range()Dim rng1 As Range Dim rng2 As Range Dim rng3 As RangeSet rng1 =

14、Range("A1:B3") Set rng2 = Range("D4:F6") Set rng3 = Union(rng1, rng2)rng3.Formula = "=int(100*RAND()+20)" End Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.4 所示。圖 3.4 合并單元格區(qū)域的結(jié)果6程序分析在本例的代碼中,首先使用兩個(gè)對(duì)象變量獲取單元格區(qū)域,然后使用 Union 方法將兩 個(gè)區(qū)域合并為一個(gè)區(qū)域。案例 21引用合并區(qū)域的子區(qū)域1.功能說(shuō)明當(dāng)用戶(hù)同時(shí)選中多個(gè)單元格區(qū)域時(shí),某些操作不能在選定區(qū)域內(nèi)同時(shí)執(zhí)行,必須

15、在選 定區(qū)域內(nèi)的單個(gè)子區(qū)域上循環(huán),對(duì)每個(gè)單獨(dú)的子區(qū)域分別執(zhí)行該操作。因此,這個(gè)時(shí)候有 必要引用合并區(qū)域的子區(qū)域。2語(yǔ)法說(shuō)明在 Excel VBA 中,用戶(hù)選定多個(gè)區(qū)域后,將生成 Areas 集合。Areas 集合的每個(gè)成員 是 Range 對(duì)象。選定區(qū)域內(nèi)每個(gè)離散的連續(xù)單元格區(qū)域都有 Range 對(duì)象。如果選定區(qū)域內(nèi) 只有一個(gè)子區(qū)域,則 Areas 集合包含一個(gè)與該選定區(qū)域?qū)?yīng)的 Range 對(duì)象。使用 Areas(index)可從集合中返回單個(gè) Range 對(duì)象。該索引號(hào)對(duì)應(yīng)選定這些區(qū)域的順 序。下例中,如果當(dāng)前選定區(qū)域包含多個(gè)子區(qū)域,就清除該選定區(qū)域中的第一個(gè)子區(qū)域。 3案例說(shuō)明選擇工作表

16、中的多個(gè)單元格式區(qū)域,將其單元格區(qū)域進(jìn)行合并,然后依次遍歷合并后 的單元格區(qū)域的各個(gè)子區(qū)域。4編寫(xiě)代碼引用合并區(qū)域的子區(qū)域的具體代碼如下:Sub Get_Part_rubrange() Dim rng1 As Range Dim rng2 As RangeDim i As Integer Dim str As StringSet rng1 = Range("A1:C2, B3:D4, E4:F6")rng1.SelectFor i = 1 To rng1.Areas.Count Set rng2 = rng1.Areas(i)str = "子區(qū)域" &a

17、mp; i & "的地址是:" & vbCr & vbCrstr = str & rng2.Address MsgBox strNextSet rng1 = Nothing Set rng2 = NothingEnd Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.5 所示。圖 3.5 遍歷第一個(gè)子區(qū)域的結(jié)果單擊對(duì)話(huà)框中的“確定”按鈕,然后依次運(yùn)行程序代碼,得到的最后一個(gè)子區(qū)域的結(jié) 果如圖 3.6 所示。圖 3.6 遍歷最后一個(gè)子區(qū)域的結(jié)果6程序分析在本例的代碼中,Areas 集合包括三個(gè)子區(qū)域,通過(guò)循環(huán)分別顯示每個(gè)子區(qū)域的地址, 然后顯示

18、在對(duì)話(huà)框中。案例 22當(dāng)前單元格的前一單元格1功能說(shuō)明Excel 表格是一個(gè)二維結(jié)構(gòu),所有的單元格組成了一個(gè)工作表。這些單元格在物理位 置上是相互關(guān)聯(lián)的:前、后、左和右等。這些都是相鄰單元格的區(qū)域關(guān)系,在 Excel 中, 用戶(hù)通過(guò) VBA 代碼還可以處理非相鄰的單元格物理關(guān)系。在本小節(jié)中,將首先講解如何 引用當(dāng)前單元格的前一單元格。2語(yǔ)法說(shuō)明使用 Range 對(duì)象的 Previous 屬性,可獲取對(duì)指定單元格的前一個(gè)單元格的引用。其語(yǔ) 法格式如下:表達(dá)式. Previous 如果表達(dá)式為一個(gè)對(duì)象為區(qū)域,則 Previous 屬性會(huì)模擬 Shift+Tab 鍵,但此屬性只是 返回上一單元格,并

19、不選定它。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)。本例中,用 戶(hù)在選中某單元格后,需要查看該單元格的前面一個(gè)單元格數(shù)據(jù)。原始數(shù)據(jù)如圖 3.7 所示。圖 3.7 原始數(shù)據(jù)4編寫(xiě)代碼獲取當(dāng)前單元格前一單元格的引用的代碼如下:Sub pre_cells()Dim rng As RangeSet rng = ActiveCell.PreviousMsgBox "當(dāng)前單元格的前一單元格的值為:" & rng1.ValueSet rng = Nothing End Sub5運(yùn)行結(jié)果選擇單元格 D6,運(yùn)行程序代碼,得到的結(jié)果如圖 3.8 所示。圖

20、 3.8 運(yùn)行結(jié)果6程序分析在上面的程序代碼中,通過(guò) Previous 屬性獲取了前一單元格的引用,然后顯示該單元 格的數(shù)值。案例 23當(dāng)前單元格的后一單元格1功能說(shuō)明前面小節(jié)的例子中,已經(jīng)詳細(xì)介紹了如何獲取當(dāng)前單元格的前一單元格的引用。類(lèi)似 的,Excel 中同樣可以引用當(dāng)前單元格的后一單元格。在本節(jié)中,將詳細(xì)介紹如何獲取當(dāng) 前單元格的后一單元格。2語(yǔ)法說(shuō)明使用 Range 對(duì)象的 Next 屬性,可獲取對(duì)指定單元格的后一個(gè)單元格的引用。其語(yǔ)法 格式如下:表達(dá)式. Next 如果表達(dá)式為一個(gè)對(duì)象為區(qū)域,則 Next 屬性會(huì)模 Tab 鍵,但此屬性只是返回下一單 元格,并不選定它。3案例說(shuō)明某

21、公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)。本例中,用 戶(hù)在選中某單元格后,需要查看該單元格的后面一個(gè)單元格數(shù)據(jù)。原始數(shù)據(jù)如圖 3.9 所示。圖 3.9 原始數(shù)據(jù)4編寫(xiě)代碼取當(dāng)前單元格的后一單元格的引用的代碼具體如下:Sub next_cells()Dim rng As RangeSet rng = ActiveCell.NextMsgBox "當(dāng)前單元格的后一單元格的值為:" & rng.Value Set rng = NothingEnd Sub5運(yùn)行結(jié)果選擇單元格 C7,運(yùn)行程序代碼,得到的結(jié)果如圖 3.10 所示。圖 3.10 運(yùn)行結(jié)果6程

22、序分析在上面的程序代碼中,通過(guò) Next 屬性獲取了后一單元格的引用,然后顯示該單元格 的數(shù)值。案例 24引用整行或者整列單元格1功能說(shuō)明在使用 Excel VBA 進(jìn)行數(shù)據(jù)處理的時(shí)候,經(jīng)常會(huì)需要對(duì)某列或某行單元格進(jìn)行設(shè)置的 情況。這個(gè)使用,用戶(hù)就需要首先選擇整行或者整列單元格區(qū)域。2語(yǔ)法說(shuō)明在 Excel VBA 中,可以使用多種方法選擇整行或者整列。首先,可用 Rows 屬性或 Columns 屬性來(lái)處理整行或整列。這兩個(gè)屬性返回代表單元格區(qū)域的 Range 對(duì)象。在下面 的代碼中,將返回工作表的第二行,然后將區(qū)域字體加粗。 Worksheets("Sheet1").R

23、ows(2).Font.Bold = True 下面列出了使用 Rows 和 Columns 屬性的一些行和列的引用。Rows(2)Rows Columns(3) Columns("C")Columns第二行工作表上所有的行 第三列第三列 工作表上所有的列同時(shí),用戶(hù)可以直接使用 Range 屬性來(lái)返回整行或者整列單元格,如下:Range("D:D").SelectRange("D :F").SelectRange("2:2").SelectRange("2:4").Select Range(&q

24、uot;D:D").EntireColumn Range("E1").EntireColumn選擇 D 列選擇 D 列至 F 列 選擇第二行選擇第 2 行至第 4 行 選擇 D 列選擇 E 列3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)。本例中,需 要設(shè)置工作表的最后一行的格式,原始數(shù)據(jù)如圖 3.11 所示。圖 3.11 原始數(shù)據(jù)4編寫(xiě)代碼獲取整行單元格引用的代碼具體如下:Sub All_RowCol()Range("11:11").Select With Selection.Font.Bold = True.Ita

25、lic = True End WithEnd Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.12 所示。圖 3.12 運(yùn)行結(jié)果6程序分析在上面的程序代碼中,通過(guò)代碼“Range("11:11").Select”引用了第 11 行的所有數(shù)據(jù)。案例 25引用相對(duì)其他單元格的單元格1功能說(shuō)明前面小節(jié)已經(jīng)講解了多種不同的引用方法。使用不同的引用樣式,用戶(hù)可以應(yīng)用不同 的單元格區(qū)域。其中,以某單元格為基準(zhǔn)單元格,然后根據(jù)偏移數(shù)引用其他單元格應(yīng)用十 分廣泛。理論上分析,使用這種方法可以引用任何相對(duì)位置。2語(yǔ)法說(shuō)明在 Excel VBA 中,用戶(hù)可以使用 Range 對(duì)象的 Offs

26、et 屬性返回 Range 對(duì)象,代表位于 指定單元格區(qū)域的一定的偏移量位置上的區(qū)域。其使用格式為: Offset(RowOffset, ColumnOffset) 兩個(gè)參數(shù)的含如下:RowOffset 為行偏移量,區(qū)域偏移的行數(shù)可為正數(shù)、負(fù)數(shù)或 0(零)。正數(shù)表示向下偏 移,負(fù)數(shù)表示向上偏移。默認(rèn)值是 0;ColumnOffset 為列偏移量,區(qū)域偏移的列數(shù)可為正數(shù)、負(fù)數(shù)或 0(零)。正數(shù)表示向右 偏移,負(fù)數(shù)表示向左偏移。默認(rèn)值是 0。例如下面的程序代碼:Range("E4").Offset(, -1)Range("B2").Offset(2, 2)表

27、示單元格 D4表示單元格 D43案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)。根據(jù)用戶(hù)選 擇的單元格,設(shè)置該單元格右下方單元格的背景。原始數(shù)據(jù)如圖 3.13 所示。圖 3.13 原始數(shù)據(jù)4編寫(xiě)代碼引用相對(duì)其他單元格的單元格的具體代碼如下:Sub Offset_Cells() Dim rng As RangeSet rng = ActiveCell.Offset(1, 1) rng.Select Selection.Interior.ColorIndex = 3 Set rng = NothingEnd Sub5運(yùn)行結(jié)果選擇工作表的單元格 C5,如圖 3.14 所示。圖

28、 3.14 選中單元格運(yùn)行程序代碼后,得到的程序結(jié)果如圖 3.15 所示。圖 3.15 運(yùn)行的程序代碼結(jié)果6程序分析在上面的程序代碼中,是以當(dāng)前單元格為基準(zhǔn),所以每執(zhí)行一次上面的子過(guò)程,當(dāng)前 單元格就向下移動(dòng)三行、向右移動(dòng)三列。案例 26引用當(dāng)前區(qū)域1功能說(shuō)明當(dāng)前區(qū)域是 Excel 工作表中一個(gè)十分特殊的單元格區(qū)域,是指以空行與空列的組合為 邊界的區(qū)域。當(dāng)前區(qū)域這個(gè)概念在數(shù)據(jù)處理領(lǐng)域使用的十分普遍,特別是當(dāng)用戶(hù)需要添加、 編輯或者修改當(dāng)前數(shù)據(jù)的時(shí)候。在工作表中,選擇“開(kāi)始”|“編輯”|“查找和選擇”|“定位條件”命令,在“定位 條件”對(duì)話(huà)框中,選中“當(dāng)前區(qū)域”選項(xiàng)按鈕,也能獲取關(guān)于當(dāng)前區(qū)域的信

29、息,如圖 3.16 所示。圖 3.16 選擇“當(dāng)前區(qū)域”選項(xiàng)2語(yǔ)法說(shuō)明在 Excel VBA 中,使用 Range 對(duì)象的 CurrentRegion 屬性,可返回表示當(dāng)前區(qū)域的 Range對(duì)象。其語(yǔ)法格式如下:表達(dá)式.CurrentRegion 該屬性對(duì)于許多自動(dòng)展開(kāi)選擇區(qū)域,以包括整個(gè)當(dāng)前區(qū)域的操作很有用。注意:該屬性不能用于被保護(hù)的工作表。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)。現(xiàn)在需要通 過(guò) VBA 代碼獲取當(dāng)前區(qū)域的信息。原始數(shù)據(jù)如圖 3.17 所示。圖 3.17 原始數(shù)據(jù)4編寫(xiě)代碼引用當(dāng)前區(qū)域的具體代碼如下:Sub Current_Region()

30、 Dim rng As RangeSet rng = Range("A1")Set rng = rng.CurrentRegion rng.SelectSet rng = NothingEnd Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.18 所示。圖 3.18 引用當(dāng)前區(qū)域6程序分析在當(dāng)前區(qū)域范圍內(nèi),無(wú)論活動(dòng)單元格是哪一個(gè)單元格,所在的當(dāng)前區(qū)域均為同一區(qū)域。 如上例中的 A1:D11 區(qū)域,活動(dòng)單元格 B2 的當(dāng)前區(qū)域?yàn)?A1:D11,當(dāng)活動(dòng)單元格為 D2 時(shí), 其當(dāng)前區(qū)域仍為 A1:D11。案例 27引用已使用區(qū)域1功能說(shuō)明已使用區(qū)域在 Excel 中是一個(gè)十分常

31、用的概念,其主要功能是顯示當(dāng)前使用的單元格 的范圍區(qū)域。和當(dāng)前區(qū)域不同,已使用區(qū)域表示的是所有工作表中所使用單元格的區(qū)域。 2語(yǔ)法說(shuō)明在 Excel VBA 中,UsedRange 屬性返回指定工作表中已使用區(qū)域的 Range 對(duì)象,即返 回工作表中已使用的單元格區(qū)域。因此,該屬性也可以用于選取單元格區(qū)域。UsedRange 屬性與上例中的 CurrentRegion 屬性的區(qū)別:UsedRange 屬性是 Worksheet 對(duì)象的一個(gè)屬性,返回指定工作表中所有已使用單元格 區(qū)域,無(wú)論各單元格之間是否有空行或空列隔開(kāi)。CurrentRegion 屬性是 Range 對(duì)象的一個(gè)屬性,返回的是一

32、個(gè)由空行空列圍起來(lái)的區(qū)域, 空行空列之外的單元格不被包含在內(nèi)。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)。現(xiàn)在需要通 過(guò) VBA 代碼獲取已使用區(qū)域的信息。原始數(shù)據(jù)如圖 3.19 所示。圖 3.19 原始數(shù)據(jù)4編寫(xiě)代碼選擇已使用區(qū)域的程序代碼如下:Sub used_range()Dim rng As RangeSet rng = ActiveSheet.UsedRange rng.SelectSet rng = NothingEnd Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.20 所示。圖 3.20 選擇已使用區(qū)域6程序分析當(dāng)用戶(hù)使用 UsedRange

33、屬性來(lái)獲取已使用的區(qū)域時(shí),可以通過(guò) Address 屬性返回該區(qū) 域的地址。例如,在上面的程序代碼中添加下面的代碼: MsgBox rng.Address 運(yùn)行程序代碼后,會(huì)顯示對(duì)應(yīng)的地址,如圖 3.21 所示。圖 3.21 顯示區(qū)域的地址案例 28調(diào)整單元格區(qū)域的大小1功能說(shuō)明在前面小節(jié)中,用戶(hù)已經(jīng)了解了如何使用 VBA 來(lái)引用單元格區(qū)域的方法。在實(shí)際應(yīng) 用中,用戶(hù)可能在程序代碼中需要調(diào)整引用的單元格區(qū)域。這個(gè)時(shí)候,用戶(hù)就需要首先調(diào) 整單元格區(qū)域的大小。在本小節(jié)中,將詳細(xì)講解如何調(diào)整單元格區(qū)域的大小。2語(yǔ)法說(shuō)明在 Excel VBA 中,使用 Range 對(duì)象的 Resize 屬性,可以調(diào)整

34、指定單元格區(qū)域的大小, 并返回一個(gè) Range 對(duì)象,該對(duì)象代表調(diào)整后的區(qū)域。其語(yǔ)法格式如下:表達(dá)式.Resize(RowSize, ColumnSize) 兩個(gè)參數(shù)的含義如下:RowSize 為新區(qū)域中的行數(shù)。如果省略該參數(shù),則該區(qū)域中的行數(shù)保持不變。ColumnSize 為新區(qū)域中的列數(shù)。如果省略該參數(shù)。則該區(qū)域中的列數(shù)保持不變。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)。現(xiàn)在需要通 過(guò) VBA 代碼引用除標(biāo)題行之外的單元格。原始數(shù)據(jù)如圖 3.22 所示。圖 3.22 原始數(shù)據(jù)4編寫(xiě)代碼調(diào)整單元格區(qū)域大小的代碼如下:Sub Change_Cells() Dim

35、 rng As RangeSet rng = ActiveCell.CurrentRegion rng.Offset(1, 0).Resize(rng.Rows.Count - 1, _rng.Columns.Count).Select Set rng = NothingEnd Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.23 所示。圖 3.23 引用結(jié)果6程序分析在上面的代碼中,先用 Offset 將當(dāng)前區(qū)域向下偏移一個(gè)單元格,然后使用 Resize 屬性, 將區(qū)域的行數(shù)減少 1。這個(gè)方法有廣泛的使用范圍,可以選擇多種數(shù)據(jù)區(qū)域。案例 29引用命名的單元格區(qū)域1功能說(shuō)明在 Excel 的

36、基本操作中,對(duì)單元格區(qū)域進(jìn)行命名是常見(jiàn)的操作。對(duì)一些特定的單元格 區(qū)域進(jìn)行命名,可以方便用戶(hù)使用函數(shù)和公式,也可以更加便利其他讀者閱讀。在 Excel VBA 中,用戶(hù)同樣可以通過(guò)代碼引用命令的單元格區(qū)域。2語(yǔ)法說(shuō)明在本小節(jié)中,主要涉及到 Range 屬性的用法。關(guān)于 Range 屬性的具體用法,前面小節(jié) 已經(jīng)講解過(guò)。本例中講解的是,使用 Range 引用命名區(qū)域的方法。其具體的表達(dá)是: Range(”name”) 其中的參數(shù) name 表示的是命名區(qū)域的名稱(chēng)。該表達(dá)法返回的是 Range 類(lèi)型的變量。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū),并對(duì)該原始 數(shù)據(jù)進(jìn)

37、行命名。現(xiàn)在需要通過(guò) Excel VBA 引用該命名的區(qū)域,原始數(shù)據(jù)如圖 3.24 所示。圖 3.24 原始數(shù)據(jù)4編寫(xiě)代碼為了演示本案例,用戶(hù)需要首先設(shè)定原始數(shù)據(jù)的名稱(chēng),然后再通過(guò) VBA 代碼對(duì)該名 稱(chēng)進(jìn)行引用。具體步驟如下:(1)選擇定義名稱(chēng)。選擇單元格區(qū)域 A1D11,然后選擇“公式”|“定義的名稱(chēng)”|“定義名稱(chēng)”|“定義名稱(chēng)”選項(xiàng),如圖 3.25 所示。圖 3.25 選擇定義名稱(chēng)(2)設(shè)置名稱(chēng)。在打開(kāi)的“新建名稱(chēng)”對(duì)話(huà)框中,在“名稱(chēng)”選框中輸入“Source”, 引用位置保持默認(rèn)范圍,如圖 3.26 所示。圖 3.26 輸入定義的名稱(chēng)(3)查看結(jié)果。單擊上面對(duì)話(huà)框中的“確定”按鈕,查看

38、名稱(chēng)設(shè)定的結(jié)果,如圖 3.27所示。圖 3.27 查看定義名稱(chēng)的結(jié)果(4)引用名稱(chēng)單元格區(qū)域的代碼如下:Sub UseDataName() Dim rng As RangeSet rng = Range("Source")rng.SelectSet rng = Nothing End Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.28 所示。圖 3.28 引用結(jié)果6程序分析在 Excel VBA 中,在很多情況下,使用命名區(qū)域的方法選擇單元格會(huì)比引用單元格區(qū) 域便利,用戶(hù)可以嘗試使用命令單元格區(qū)域的方法解決引用問(wèn)題。案例 30引用交叉區(qū)域1功能說(shuō)明在數(shù)據(jù)分析中,很多情況

39、下需要引用交叉領(lǐng)域的單元格區(qū)域。這種引用區(qū)域和前面小 節(jié)例子中講解的區(qū)域引用在性質(zhì)上會(huì)有不同。在前面的案例中,用戶(hù)引用的大多是單個(gè)區(qū) 域,而交叉區(qū)域則主要是多個(gè)區(qū)域的交集運(yùn)算。在本小節(jié)中,將詳細(xì)講解如何引用交叉區(qū) 域的內(nèi)容。2語(yǔ)法說(shuō)明在 Excel VBA 中,使用 Application 對(duì)象的 Intersect 方法,可返回 Range 對(duì)象,該對(duì)象 包含將兩個(gè)或多個(gè)區(qū)域重疊的矩形區(qū)域。其語(yǔ)法格式如下:表達(dá)式.Intersect(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12,Arg13,

40、 Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)使用 Intersect 方法時(shí),至少需要 2 個(gè) Range 區(qū)域,最多 30 個(gè) Range 區(qū)域進(jìn)行計(jì)算。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)數(shù)據(jù)。在本例 中,用戶(hù)希望通過(guò)交叉區(qū)域來(lái)引用單元格,并設(shè)置單元格的底紋,原始數(shù)據(jù)如圖 3.29 所示。圖 3.29 原始數(shù)據(jù)4編寫(xiě)代碼引用交叉區(qū)域的代碼如下。Sub inters

41、ect_range()Dim rng As RangeSet rng = Application.Intersect(Range("3:3"), Range("D:D")rng.Select Selection.Interior.ColorIndex = 3Set rng = Nothing End Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.30 所示。圖 3.30 運(yùn)行程序代碼結(jié)果6程序分析在上面的例子中,為了方便講解,用的直接選擇單元格區(qū)域,然后選擇交叉的區(qū)域。 在實(shí)際應(yīng)用中,用戶(hù)也可以使用命名區(qū)域來(lái)完成交叉引用。案例 31引用區(qū)域內(nèi)的單元格

42、1功能說(shuō)明在使用 Excel 處理數(shù)據(jù)的時(shí)候,很多情況下處理都是某些區(qū)域范圍內(nèi)的單元格。為此, 當(dāng)用戶(hù)需要處理區(qū)域內(nèi)的數(shù)據(jù)時(shí),則需要首先引用區(qū)域內(nèi)的單元格。在本小節(jié)中,將詳細(xì) 講解如何引用區(qū)域內(nèi)的單元格。2語(yǔ)法說(shuō)明在 Excel VBA 中,獲取選擇區(qū)域中的某個(gè)單元格值,可以使用 Range 對(duì)象的 Item 屬 性來(lái)訪(fǎng)問(wèn)。Item 屬性返回 Range 對(duì)象,代表對(duì)指定區(qū)域某一偏移量處的區(qū)域。其語(yǔ)法格式 如下:表達(dá)式.Item(RowIndex, ColumnIndex) 其中參數(shù) RowIndex 是必選的,表示要訪(fǎng)問(wèn)的單元格的索引號(hào),順序?yàn)閺淖蟮接遥?后往下。例如:Range.Item

43、(1)Range.Item(2)返回區(qū)域左上角單元格;返回緊靠左上角單元格右側(cè)的單元格。參數(shù) ColumnIndex 可省略,用來(lái)指明要訪(fǎng)問(wèn)的單元格所在列的列號(hào)的數(shù)字或字符串,用數(shù)字 1 或字符“A”表示區(qū)域中的第一列。例如: Range("A1:E5").Item(2,2) 表示單元格 B2,這個(gè)單元格處于以指定區(qū)域中左上角單元格 A1(為起點(diǎn)的第 2 行第2 列。因?yàn)?Item 屬性為默認(rèn)屬性,因此也可以簡(jiǎn)寫(xiě)為: Range("A1:E10")(2,2) 當(dāng)省略 ColumnIndex 參數(shù)時(shí),計(jì)數(shù)方式為從左向右,即在區(qū)域中的第一行開(kāi)始從左向 右計(jì)數(shù)

44、,第一行結(jié)束后,然后從第二行開(kāi)始從左到右接著計(jì)數(shù),依此類(lèi)推。技巧:Item 屬性的值即可為正數(shù),也可為負(fù)數(shù)。其序號(hào)值指定的單元格不一定包含在引用的區(qū)域內(nèi)。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)數(shù)據(jù)。現(xiàn)在需 要引用數(shù)值單元格區(qū)域中的某個(gè)單元格,原始數(shù)據(jù)如圖 3.31 所示。第 3 章 單元格的基本操作圖 3.31 原始數(shù)據(jù)4編寫(xiě)代碼引用區(qū)域內(nèi)單元格的具體代碼如下:Sub Choose_range() Dim rng1 As Range Dim rng2 As Range Dim str As StringSet rng1 = Range("A1&quo

45、t;).CurrentRegionSet rng2 = rng1.Offset(1, 1).Resize(rng1.Rows.Count - 1, rng1.Columns.Count - 1) rng2.Selectstr = "所選區(qū)域:" & Selection.Address & vbCrLfstr = str & "區(qū)域第 5 行第 3 列單元格的數(shù)值是:" & Selection.Item(5, 3) MsgBox strEnd Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,得到的結(jié)果如圖 3.32 所示。圖 3.32 運(yùn)行程

46、序的結(jié)果6程序分析在上面的代碼中,使用 Range 對(duì)象的 Address 屬性顯示引用區(qū)域的地址。案例 32引用最后一行單元格1功能說(shuō)明在 Excel 的數(shù)據(jù)表中,最后一行單元格是比較特殊的單元格區(qū)域。當(dāng)用戶(hù)需要更新數(shù) 據(jù)的時(shí)候,都需要從區(qū)域的最后一行單元格開(kāi)始。因此,用戶(hù)需要特別處理區(qū)域最后一行 單元格的情況。在本小節(jié)中,將詳細(xì)講解如何引用最后一行單元格。2語(yǔ)法說(shuō)明在 Excel VBA 中,用戶(hù)可以通過(guò)使用 Range 對(duì)象的 End 屬性來(lái)實(shí)現(xiàn)類(lèi)似的操作。使用 Range 對(duì)象的 End 屬性將返回 Range 對(duì)象,該對(duì)象代表包含源區(qū)域的區(qū)域尾端的單元格。 其語(yǔ)法格式如下:表達(dá)式.E

47、nd(Direction) 參數(shù) Direction 指定移動(dòng)的方向,具體的參數(shù)選擇如下: xlDown:向下; xlToLeft:向左; xlToRight:向右; xlUp:向上。在本例中,由于要確定的是末行單元格,因此參數(shù)選擇應(yīng)該是 xlDown。通過(guò)程序代 碼確定工作表的末行,這是十分常用的方法。在 Excel 的基礎(chǔ)操作中,按組合鍵“Ctrl+光 標(biāo)鍵”,可定位動(dòng)作表的數(shù)據(jù)區(qū)域邊界。例如,按“Ctrl+向下光標(biāo)”,用戶(hù)就可以定位工作 表的末行,如圖 3.33 所示。圖 3.33 引用最后一行單元格第 3 章 單元格的基本操作3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員

48、工所處的地區(qū)數(shù)據(jù)。由于數(shù) 據(jù)不完整,現(xiàn)在需要在沒(méi)有完成的數(shù)據(jù)后面添加新數(shù)據(jù),原始數(shù)據(jù)如圖 3.34 所示。圖 3.34 原始數(shù)據(jù)4編寫(xiě)代碼添加新數(shù)據(jù)的具體代碼如下:Sub Add_Data()Dim rng As Range Dim Data As Integer'Set rng = ActiveSheet.Range("D1").End(xlDown)Data = InputBox("輸入新數(shù)據(jù)", "輸入銷(xiāo)量")'rng.Offset(1, 0).SelectSelection.Value = Data '

49、End Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,提示輸入新的數(shù)據(jù),如圖 3.35 所示。圖 3.35 提示輸入新的數(shù)據(jù)單擊對(duì)話(huà)框中的“確定”按鈕,查看添加的結(jié)果,如圖 3.36 所示。圖 3.36 添加的結(jié)果6程序分析上面的代碼本身并不復(fù)雜,但是應(yīng)用十分廣泛。例如,用戶(hù)可以重復(fù)運(yùn)行上面的代碼, 然后依次添加新的數(shù)據(jù),或者繼續(xù)擴(kuò)展或者細(xì)化代碼,這里就不詳細(xì)介紹。案例 33引用列末單元格1功能說(shuō)明在 Excel 的數(shù)據(jù)表中,用戶(hù)需要有引用行末單元格的需要之外,還需要引用列末單元 格。作為二維數(shù)據(jù)表的 Excel,列和行是兩個(gè)經(jīng)常用來(lái)處理的對(duì)象。因此,在前面例子講 解了如何引用最后一行單元格后,本小節(jié)將講解如

50、何引用列末單元格。2語(yǔ)法說(shuō)明在 Excel VBA 中,使用 Range 對(duì)象的 End 屬性將返回一個(gè) Range 對(duì)象,該對(duì)象代表包 含源區(qū)域的區(qū)域尾端的單元格。其語(yǔ)法格式如下:表達(dá)式.End(Direction) 參數(shù) Direction 指定移動(dòng)的方向,可為以下常量之一: xlDown:向下 xlToLeft:向左 xlToRight:向右 xlUp:向上在本例中,由于要確定的是末行單元格,因此參數(shù)選擇應(yīng)該是 xlToRight。通過(guò)程序代 碼確定工作表的末列,這是十分常用的方法。在 Excel 的基礎(chǔ)操作中,按“Ctrl+向右光標(biāo)”, 用戶(hù)就可以定位工作表的末行,如圖 3.37 所示

51、。圖 3.37 引用列末單元格3案例說(shuō)明在本例中,將演示如何使用 Excel VBA 代碼來(lái)引用列末的單元格。4編寫(xiě)代碼引用列末單元格的具體代碼如下:Sub selectendcells() Dim rng As RangeSet rng = ActiveCell.End(xlToRight) rng.SelectSet rng = NothingEnd Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,提示輸入新的數(shù)據(jù),如圖 3.38 所示。圖 3.38 運(yùn)行程序代碼結(jié)果996程序分析在實(shí)際的數(shù)據(jù)處理中,用戶(hù)需要確定所需處理單元格的列向范圍,這個(gè)時(shí)候用戶(hù)就需 要選擇列末的單元格,或者單元格的地址。案例 33引用

52、整行數(shù)據(jù)1功能說(shuō)明引用整行已經(jīng)有數(shù)據(jù)的單元格是數(shù)據(jù)處理中經(jīng)常遇到的操作。特別是當(dāng)某行單元格的 數(shù)據(jù)恰好是某類(lèi)數(shù)據(jù)的時(shí)候,引用該行數(shù)據(jù)就代表著可以對(duì)整類(lèi)數(shù)據(jù)進(jìn)行處理分析。在本 小節(jié)中,將詳細(xì)講解如何引用整行數(shù)據(jù)。2語(yǔ)法說(shuō)明本小節(jié)依然使用 Range 對(duì)象的 End 屬性獲取指定數(shù)據(jù)行最右端的單元格。為了確定區(qū) 域范圍,除了需要選中單元格區(qū)域之外,還需要獲列數(shù)信息。需要用到 Column 屬性, Range.Column 屬性返回指定區(qū)域中第一塊中的第一列的列號(hào)。語(yǔ)法表達(dá)式如下:表達(dá)式.Column 表達(dá)式是代表 Range 對(duì)象的變量。在結(jié)果中,A 列返回?cái)?shù)值 1,B 列返回?cái)?shù)值 2,依 此類(lèi)推

53、。3案例說(shuō)明某公司統(tǒng)計(jì)了部分員工上、下兩半年銷(xiāo)量,同時(shí)提供了員工所處的地區(qū)數(shù)據(jù)。現(xiàn)在需 要通過(guò) VBA 代碼選擇整行,原始數(shù)據(jù)如圖 3.39 所示。圖 3.39 原始數(shù)據(jù)4編寫(xiě)代碼選擇整行單元格的具體代碼如下:Sub SelectRow()Dim rng As RangeDim IndexNumber As Integer Dim Intcol As IntegerIndexNumber = Application.InputBox(prompt:="輸入引用的行數(shù):", Type:=1) Intcol = Range("A" & IndexNu

54、mber).End(xlToRight).ColumnSet rng = Range(Cells(IndexNumber, 1), Cells(IndexNumber, Intcol) rng.SelectSet rng = Nothing End Sub5運(yùn)行結(jié)果運(yùn)行程序代碼,提示輸入需要引用的數(shù)據(jù)行,如圖 3.40 所示。圖 3.40 提示輸入的行數(shù)單擊對(duì)話(huà)框中的“確定”按鈕,查看引用的數(shù)據(jù)結(jié)果,如圖 3.41 所示。圖 3.41 引用單元格的結(jié)果6程序分析在上面的代碼中,設(shè)置 Application 對(duì)象的 InputBox 方法的 Type 參數(shù)為 1,表示接收 用戶(hù)輸入的數(shù)據(jù)為數(shù)值型

55、。代碼 Range("A" & i).End(xlToRight).Column 獲取最右側(cè)的列數(shù)。案例 34引用不同長(zhǎng)度的非連續(xù)列1功能說(shuō)明在 Excel 處理數(shù)據(jù)的時(shí)候,很多時(shí)候用戶(hù)需要選擇不規(guī)則的單元格區(qū)域。例如,當(dāng)兩 個(gè)數(shù)據(jù)列代表不同類(lèi)型的數(shù)據(jù),用戶(hù)需要同時(shí)選中兩個(gè)數(shù)據(jù)列的數(shù)據(jù)。同時(shí),這兩個(gè)數(shù)據(jù) 列的行數(shù)未必相同。因此,需要引用不同長(zhǎng)度的非連續(xù)列。本小節(jié)將詳細(xì)講解如何引用不 同長(zhǎng)度的非連續(xù)列。2語(yǔ)法說(shuō)明在 Excel VBA 中,如果用戶(hù)希望引用不同長(zhǎng)度的非連續(xù)列,則需要使用 Range 對(duì)象的End 屬性和 Union 方法。具體的步驟如下:(1)使用 End 屬性獲取多個(gè)數(shù)據(jù)列的行數(shù),確定引用的單元

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論