excelvbarange對象基本操作應(yīng)用示例_第1頁
excelvbarange對象基本操作應(yīng)用示例_第2頁
excelvbarange對象基本操作應(yīng)用示例_第3頁
excelvbarange對象基本操作應(yīng)用示例_第4頁
excelvbarange對象基本操作應(yīng)用示例_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Excel VBA Range對象基本操作應(yīng)用示例示例01賦值給某單元格示例 01-01Sub testl ()Worksheets (/zShee tl) Range (A5 )V alue = 22MsgBox 工作表Sheetl內(nèi)單兀格A5中的值為&Worksheets (Sheetl“). Range(A5)Value End Sub示例 01-02Sub test2 ()Worksheets (Z/Sheetl) Range (Z,A1 “)Value = _Worksheets (Sheetl) Range(A5) ValueMsgBox 現(xiàn)在Al單元格中的值也為& _Worksh

2、eets (Sheetl) Range(A5) ValueEnd Sub示例 01-03Sub test3 ()MsgBox ”用公式填充單元格,本例為隨機(jī)數(shù)公式Range(Z,A1:H8/z)Formula = /=Rand()z,End Sub示例 01-04Sub test4 ()Worksheets (1). Cells(1, 1).Value = 24MsgBox 現(xiàn)在單元格Al的值為24End Sub示例 01-05Sub test5 ()MsgBox ”給單元格設(shè)置公式,求B2至B5單元格區(qū)域之和”ActiveSheet .Cells (2, 1)F ormula 二 /=Sum

3、(Bl :B5)z/End Sub示例 01-06Sub test6 ()MsgBox 設(shè)置單元格C5中的公式Worksheets (1). Range (/zC5:C10z,). Cells (1, 1). Formula = 二Rand()End Sub示例02引用單元格Sub Random ()Dim myRange As Range設(shè)置對單元格區(qū)域的引用Set myRange = Worksheets (Sheetl) Range (A1 :D5)對 Range 對象進(jìn) 彳丁操作 myRange. Formula = 二RAND() myRange. Font. Bold = True

4、 End Sub 示例說明:可以設(shè)置Range對象變量來引用單元格區(qū)域,后對該 變量所代表的單元格區(qū)域進(jìn)行操作。示例03清除單元格示例03-01清除單元格中的內(nèi)容(ClearContents方法)Sub testClearContents ()MsgBox 清除指定單元格區(qū)域中的內(nèi)容Worksheets(1) Range (A1:H8) ClearContentsEnd Sub示例03-02清除單元格中的格式(ClearFormats方法)Sub testClearFormats()MsgBox 清除指定單元格區(qū)域中的格式Worksheets(1) Range(A1:H8) ClearForm

5、atsEnd Sub示例03-03清除單元格中的批注(ClearComments方法)Sub testClearComments()MsgBox ”清除指定單元格區(qū)域中的批注Worksheets(1) Range(A1:H8) ClearCommentsEnd Sub示例03-04清除單元格中的全部,包括內(nèi)容、格式和批注(Clear 方法)Sub testClear ()MsgBox 徹底清除指定單元格區(qū)域Worksheets(1) Range(A1:H8) ClearEnd Sub 不例 04 Range 禾口 CellsSub test ()設(shè)置單元格區(qū)域A1:J1O的邊框線條樣式With

6、 Worksheets (1) Range ( Cells (1, 1), _Cells (10, 10)Borders.LineStyle = xlThickEnd WithEnd Sub其中不例說明:可用Range(celll, cell2)返回一個(gè)Range對象, celll和cell2為指定起始和終止位置的Range對象。示例05選取單元格區(qū)域(Select方法)Sub testSelect ()選取單元格區(qū)域A1:D5Worksheets (Sheet1) Range(A1:D5) SelectEnd Sub 示例06基于所選區(qū)域偏離至另一區(qū)域(Offset屬性示例 06-01Sub

7、 testOffset ()Worksheets (Sheetl) ActivateSelection.Offset (3, 1) SelectEnd Sub不例說明: 可用0ffset(row, column)(其中row和column為彳丁偏 移量和列偏移量)返回相對于另一區(qū)域在指定偏移量處的區(qū)域。 如上例選定位于當(dāng)前選定區(qū)域左上角單元格的向下 三行且向右一列處單元格區(qū)域。示例06-02選取距當(dāng)前單元格指定行數(shù)和列數(shù)的單元格Sub ActiveCellOffice()MsgBox 顯示距當(dāng)前單元格第3列、第2行的單元格中的值HMsgBox ActiveCell. Offset (3, 2)

8、. Value End Sub 示例 07調(diào)整區(qū)域的 大小 (Resize 屬性 )Sub ResizeRange()Dim numRows As Integer, numcolumns As IntegerWorksheets (/zSheetl) Activate numRows = Selection. Rows Count numcolumns = Selection. Columns .Count Selection. Resize(numRows + 1, numcolumns + 1). Select End Sub示例說明:本示例調(diào)整所選區(qū)域的大小,使之增加一行一列。示例08選

9、取多個(gè)區(qū)域(Union方法)Sub testUnion ()Dim rngl As Range, rng2 As Range, myMultiAreaRangeAs RangeWorksheets(sheetl) ActivateSet rngl = Range (Z/A1: B2/z)Set rng2 = Range (C3:D4)Set myMultiAreaRange = Union(rngl, rng2) myMultiAreaRange.SelectEnd Sub 不例說明:可用Union(rangel, range2,.)返回多塊區(qū)域,即該 區(qū)域由兩個(gè)或多個(gè)連續(xù)的單元格區(qū)域所組成。

10、如上例創(chuàng)建由單元 格區(qū)域A1:B2和C3:D4組合定義的對象,然后選 定該定義區(qū)域。示例09激活已選區(qū)域中的單元格Sub ActivateRange()MsgBox ”選取單元格區(qū)域B2:D6并將C4選中”ActiveSheet Range (B3:D6) SelectRange (C5) ActivateEnd Sub 示例10選取指定條件的單元格(SpecialCells方法)Sub SelectSpecialCells ()MsgBox 選擇當(dāng)前工作表中所有公式單元格ActiveSheet Cells SpecialCells(xlCellTypeFormulas) Selec tEnd

11、 Sub 不例11選取矩形區(qū)域(CurrentRegion屬性)選取包含當(dāng)前單元格的矩形區(qū)域該區(qū)域周邊為空白行和空白列Sub SelectCurrentRegion ()MsgBox ”選取包含當(dāng)前單元格的矩形區(qū)域”ActiveCel1 CurrentRegion.SelectEnd Sub示例12選取當(dāng)前工作表中已用單元格(UsedRange屬性 廠選取 當(dāng)前工作表中已使用的單元格區(qū)域Sub SelectUsedRange()MsgBox 選取當(dāng)前工作表中已使用的單元格區(qū)域 _& vbCrLf & 并顯示其地址ActiveSheet UsedRange SelectMsgBox Active

12、Sheet UsedRange AddressEnd Sub 示例13選取最邊緣單元格(End屬性廠選取最下方的 單元格Sub SelectEndCell()MsgBox 選取當(dāng)前單元格區(qū)域內(nèi)最下方的單元格ActiveCell End(xlDown) SelectEnd Sub示例說明:可以改變參數(shù)xlDown以選取最左邊、最右邊、最上方 的單元格。示例14設(shè)置當(dāng)前單元格的前一個(gè)單元格和后一個(gè)單元格的值Sub SetCellValue()MsgBox 將當(dāng)前單元格中前面的單元格值設(shè)為我前面的單元格 & vbCrLf _& ”后面的單元格值設(shè)為”我后面的單元格”ActiveCell. Previ

13、ous. Value = 我前面的單兀格ActiveCell. Next. Value = 我后面的單兀格End Sub示例15確認(rèn)所選單元格區(qū)域中是否有公式(HasFormula屬 性)Sub IfHasFormula()If Selection. HasFormula = True ThenMsgBox 所選單元格中都有公式ElseMsgBox 所選單元格中,部分單元格沒有公式End IfEnd Sub 示例16公式單元格操作示例16-01獲取與運(yùn)算結(jié)果單元格有直接關(guān)系的單元格SubCalRelationCell()MsgBox 選取與當(dāng)前單元格的計(jì)算結(jié)果相關(guān)的單元格ActiveCell-

14、 DirectPrecedents. SelectEnd Sub示例16-02追蹤公式單元格Sub Call()MsgBox 選取計(jì)算結(jié)果單元格相關(guān)的所有單元格ActiveCel1 Precedents SelectEnd SubSub TrackCell()MsgBox 追蹤運(yùn)算結(jié)果單元格ActiveCell ShowPrecedentsEnd SubSub DelTrackOMsgBox 刪除追蹤線ActiveCel1. ShowPrecedents Remove:=TrueEnd Sub 示例17復(fù)制單元格(Copy方法)Sub CopyRange()MsgBox ”在單元格B7中寫入公

15、式后,將B7的內(nèi)容復(fù)制到C7:D7 內(nèi)Range (Z/B7Z,). Formula = 二Sum (B3: B6) Range (B7). Copy Destination:=Range (C7:D7)End Sub不例18獲取單兀格行列值(Row屬性和Column屬性)SubRangePosition()MsgBox ”顯示所選單元格區(qū)域的彳亍列值MsgBox 第 & Selection. Row & 彳丁 & Selection. Column & 歹!End Sub示例19獲取單元格區(qū)域的單元格數(shù)及行列數(shù)(Rows屬性、Columns屬性和Count屬性)Sub GetRowColum

16、nNum()MsgBox 顯示所選取單元格區(qū)域的單元格數(shù)、行數(shù)和列數(shù)”MsgBox 單兀格區(qū)域中的單兀格數(shù)為: & Selection. CountMsgBox 單兀格區(qū)域中的彳丁數(shù)為: & Selection. Rows. CountMsgBox 單兀格區(qū)域中的列數(shù)為: & Selection. Columns. CountEnd Sub 示例20設(shè)置單元格中的文本格式示例20-01對齊文 本 Sub HorizontalAlign()MsgBox 將所選單元格區(qū)域中的文本左右對齊方式設(shè)為居中Selection. HorizontalAlignment = xlHAlignCenter En

17、d SubSub VerticalAlign()MsgBox 將所選單元格區(qū)域中的文本上下對齊方式設(shè)為居中Selection. RowHeight = 36 Selection.VerticalAlignment = xlVAlignCenterEnd Sub示例20-02縮排文本(Insertindent方法)Sub Indent ()MsgBox 將所選單元格區(qū)域中的文本縮排值加1Selection. Insertlndent 1MsgBox 將縮排值恢復(fù)Selection. Insertlndent TEnd Sub示例20-03設(shè)置文本方向(Orientation屬性)Sub Chan

18、geOrientation()MsgBox 將所選單元格中的文本順時(shí)針旋轉(zhuǎn)45度Selection. Orientation = 45MsgBox 將文本由橫向改為縱向Selection. Orientation = xlVerticalMsgBox 將文本方向恢復(fù)原值 Selection. Orientation =xlHorizontal End Sub示例20-04自動(dòng)換行(WrapText屬性)Sub ChangeRow ()Dim iMsgBox 將所選單元格設(shè)置為自動(dòng)換行”i = Selection. WrapText Selection. WrapText = True MsgB

19、ox 恢復(fù)原狀Selection. WrapText = i End Sub示例20-05將比單元格列寬長的文本縮小到能容納列寬大小(ShrinkToFit 屬性)Sub AutoFit ()Dim iMsgBox 將長于列寬的文本縮到與列寬相同”i = Selection.ShrinkToFit Selection.ShrinkToFit = TrueMsgBox 恢復(fù)原狀Selection.ShrinkToFit = iEnd Sub示例21設(shè)置條件格式(Formatconditions屬性)Sub FormatConditions()MsgBox 在所選單元格區(qū)域中將單元格值小于10的單

20、元格中的文 本變?yōu)榧t色Selection. FormatConditions. Add Type:=xlCel1Value, _Operator:=xlLessEqual, Formulal:二10Selection.FormatConditions(l)FontColorindex = 3MsgBox 恢復(fù)原狀Selection.FonnatConditions(l)FontColorindex = xlAutomaticEnd Sub 示例 22插入批注(AddComment 方法)Sub EnterComment ()MsgBox 在當(dāng)前單兀格中輸入批注ActiveCell. AddCo

21、mment(Hello) ActiveCell. Comment. Visible = True End Sub 不例 23隱藏 /顯示單元格批注Sub CellComment()MsgBox 切換當(dāng)前單元格批注的顯示和隱藏狀態(tài)ActiveCel1CommentVisible = Not (ActiveCel1CommentVisible)End Sub 示例24改變所選單元格的顏色Sub ChangeColor()Dim iro As IntegerMsgBox 將所選單元格的顏色改為紅色iro =Selection.Interior ColorindexSelection.Interior

22、Colorindex = 3MsgBox 將所選單元格的顏色改為藍(lán)色”Selection.Interior.Color = RGB(0, 0, 255)MsgBox 恢復(fù)原狀Selection.InteriorColorindex = iroEnd Sub 示例25改變單元格的圖案Sub ChangePattern()Dim p, pc, iMsgBox 依Pattern常數(shù)值的順序改變所選單兀格的圖案p =Selection.Interior. Pattern pc = Selection. InteriorPatternColorlndexFor i = 9 To 16With Selec

23、tion.Interior Pattern = i.PatternColor = RGB (255, 0, 0) End WithMsgBox 常數(shù)值& iNext iMsgBox 恢復(fù)原狀Selection. InteriorPattern = p Selection InteriorPalternColorlndex =pc End Sub 示例26合并單元格Sub MergeCells()MsgBox ”合并單元格A2:C2,并將文本設(shè)為居中對齊Range (A2:C2). SelectWith SelectionMergeCells = TrueHorizontalAlignment

24、= xlCenterEnd WithEnd Sub示例27限制單元格移動(dòng)的范圍Sub ScrollAreal()MsgBox 將單元格的移動(dòng)范圍限制在單元格區(qū)域B2:D6中ActiveSheet .ScrollArea = E2:D6End SubSub ScrollArea2 ()MsgBox 解除移動(dòng)范圍限制ActiveSheet .ScrollArea = “End Sub 示例28獲取單元格的位置(Address屬性)Sub GetAddress ()MsgBox ”顯示所選單元格區(qū)域的地址”MsgBox 絕對地址: & Selection. AddressMsgBox 彳丁的絕對地址

25、: & Selection. Address (RowAbsolute:=False)MsgBox 列的絕對地址:&Selection. Address (ColumnAbsolute:=False)MsgBox 以R1C1形式顯示: &Selection. Address (ReferenceStyle:=x1R1C1)MsgBox 相對地址: & Selection. Address (False, False)End Sub示例29刪除單元格區(qū)域(Delete方法)Sub DeleteRange ()MsgBox 刪除單元格區(qū)域C2:D6后,右側(cè)的單元格向左移動(dòng)ActiveSheet.

26、Range (C2:D6). Delete (xlShiftToLeft)End Sub小結(jié)下面對Range對象的一些常用屬性和方法進(jìn)行簡單的小結(jié)。1、Activate 與 Select 試驗(yàn)下面的過程:Sub SelectAndActivate()Range (B3:E10). SelectRange (C5) ActivateEnd Sub其結(jié)果如下圖所圖05-01 : Select與ActivateSelection指單兀格區(qū)域B3 :E10 ,而ActiveCell則是單兀 格C5 ; ActiveCell代表單個(gè)的單元格,而Selection則可以代表單 個(gè)單元格,也可以代表單元格區(qū)

27、域。2、Range 屬性可以使用Application對象的Range屬性引用Range對象,如 Application. Range(“ B2)代表當(dāng)前工作表中的單元格若引用當(dāng)前工作表中的單元格,也可以忽略前面的Application 對象。Range ( “Al:D10”)代表當(dāng)前工作表中的單元格區(qū)域Al:D10Range ( “Al:A10, Cl :C10, El :E10” )代表當(dāng)前工作表中非連續(xù)的三個(gè)區(qū)域組成的單元格區(qū)域Range屬性也接受指向單元格區(qū)域?qū)堑膬蓚€(gè)參數(shù),如:Range ( “Al”,” DIO”)代表單元格區(qū)域DIO當(dāng)然,Range屬性也接受單元格區(qū)域名稱,如:R

28、ange( Data ”)代表名為a的數(shù)據(jù)區(qū)域Range屬性的參數(shù)可以是對象也可以是字符串,如:Range( Al , Range( LastCell )3、單元格引用的快捷方式可以在引用區(qū)域兩側(cè)加上方括號來快 速引用單元格區(qū)域,如:B2A1:D1OA1:A1O,C1:C1O,E1:E1OData但其引用的是絕對區(qū)域。4、Cells 屬性可以使用Cells屬性來引用Range對象。如:ActiveSheet CellsApplication. Cells 引用當(dāng)前工作表中的所有單元格Cell (2, 2)Cell (2, B”)引用單元格Range (Cells (1, 1), Cells(10, 5)引用單兀 格區(qū)域 10若想在一個(gè)單元格區(qū)域中循環(huán)時(shí),使用Cells屬性是很方便的。 也可以使用Cells屬性進(jìn)行相對引用,如:Ran

溫馨提示

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

最新文檔

評論

0/150

提交評論