




已閱讀5頁(yè),還剩13頁(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)介
第五章 Range對(duì)象基本操作應(yīng)用示例(1)Range對(duì)象可能是VBA代碼中最常用的對(duì)象,Range對(duì)象可以是某一單元格、某一單元格區(qū)域、某一行、某一列、或者是多個(gè)連續(xù)或非連續(xù)的區(qū)域組成的區(qū)域。下面介紹Range對(duì)象的一些屬性和方法。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 示例05-01 賦值給某單元格示例05-01-01Sub test1()Worksheets(Sheet1).Range(A5).Value = 22MsgBox 工作表Sheet1內(nèi)單元格A5中的值為 _& Worksheets(Sheet1).Range(A5).ValueEnd Sub示例05-01-02Sub test2()Worksheets(Sheet1).Range(A1).Value = _Worksheets(Sheet1).Range(A5).ValueMsgBox 現(xiàn)在A1單元格中的值也為 & _Worksheets(Sheet1).Range(A5).ValueEnd Sub示例05-01-03Sub test3()MsgBox 用公式填充單元格,本例為隨機(jī)數(shù)公式Range(A1:H8).Formula = =Rand()End Sub示例05-01-04Sub test4()Worksheets(1).Cells(1, 1).Value = 24MsgBox 現(xiàn)在單元格A1的值為24End Sub示例05-01-05Sub test5()MsgBox 給單元格設(shè)置公式,求B2至B5單元格區(qū)域之和ActiveSheet.Cells(2, 1).Formula = =Sum(B1:B5)End Sub示例05-01-06Sub test6()MsgBox 設(shè)置單元格C5中的公式.Worksheets(1).Range(C5:C10).Cells(1, 1).Formula = =Rand()End Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-02 引用單元格Sub Random()Dim myRange As Range設(shè)置對(duì)單元格區(qū)域的引用Set myRange = Worksheets(Sheet1).Range(A1:D5)對(duì)Range對(duì)象進(jìn)行操作myRange.Formula = =RAND()myRange.Font.Bold = TrueEnd Sub示例說(shuō)明:可以設(shè)置Range對(duì)象變量來(lái)引用單元格區(qū)域,然后對(duì)該變量所代表的單元格區(qū)域進(jìn)行操作。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-03 清除單元格示例05-03-01清除單元格中的內(nèi)容(ClearContents方法)Sub testClearContents()MsgBox 清除指定單元格區(qū)域中的內(nèi)容Worksheets(1).Range(A1:H8).ClearContentsEnd Sub示例05-03-02清除單元格中的格式(ClearFormats方法)Sub testClearFormats()MsgBox 清除指定單元格區(qū)域中的格式Worksheets(1).Range(A1:H8).ClearFormatsEnd Sub示例05-03-03清除單元格中的批注(ClearComments方法)Sub testClearComments()MsgBox 清除指定單元格區(qū)域中的批注Worksheets(1).Range(A1:H8).ClearCommentsEnd Sub示例05-03-04清除單元格中的全部,包括內(nèi)容、格式和批注(Clear方法)Sub testClear()MsgBox 徹底清除指定單元格區(qū)域Worksheets(1).Range(A1:H8).ClearEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-04 Range和CellsSub test()設(shè)置單元格區(qū)域A1:J10的邊框線條樣式With Worksheets(1).Range(.Cells(1, 1), _.Cells(10, 10).Borders.LineStyle = xlThickEnd WithEnd Sub示例說(shuō)明:可用 Range(cell1, cell2) 返回一個(gè) Range 對(duì)象,其中cell1和cell2為指定起始和終止位置的Range對(duì)象。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-05 選取單元格區(qū)域(Select方法)Sub testSelect()選取單元格區(qū)域A1:D5Worksheets(Sheet1).Range(A1:D5).SelectEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-06 基于所選區(qū)域偏離至另一區(qū)域(Offset屬性)示例05-06-01Sub testOffset()Worksheets(Sheet1).ActivateSelection.Offset(3, 1).SelectEnd Sub示例說(shuō)明:可用Offset(row, column)(其中row和column為行偏移量和列偏移量)返回相對(duì)于另一區(qū)域在指定偏移量處的區(qū)域。如上例選定位于當(dāng)前選定區(qū)域左上角單元格的向下三行且向右一列處單元格區(qū)域。示例05-06-02 選取距當(dāng)前單元格指定行數(shù)和列數(shù)的單元格Sub ActiveCellOffice()MsgBox 顯示距當(dāng)前單元格第3列、第2行的單元格中的值MsgBox ActiveCell.Offset(3, 2).ValueEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-07 調(diào)整區(qū)域的大小(Resize屬性)Sub ResizeRange()Dim numRows As Integer, numcolumns As IntegerWorksheets(Sheet1).ActivatenumRows = Selection.Rows.Countnumcolumns = Selection.Columns.CountSelection.Resize(numRows + 1, numcolumns + 1).SelectEnd Sub示例說(shuō)明:本示例調(diào)整所選區(qū)域的大小,使之增加一行一列。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-08 選取多個(gè)區(qū)域(Union方法)Sub testUnion()Dim rng1 As Range, rng2 As Range, myMultiAreaRange As RangeWorksheets(sheet1).ActivateSet rng1 = Range(A1:B2)Set rng2 = Range(C3:D4)Set myMultiAreaRange = Union(rng1, rng2)myMultiAreaRange.SelectEnd Sub示例說(shuō)明:可用 Union(range1, range2, .) 返回多塊區(qū)域,即該區(qū)域由兩個(gè)或多個(gè)連續(xù)的單元格區(qū)域所組成。如上例創(chuàng)建由單元格區(qū)域A1:B2和C3:D4組合定義的對(duì)象,然后選定該定義區(qū)域。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-09 激活已選區(qū)域中的單元格Sub ActivateRange()MsgBox 選取單元格區(qū)域B2:D6并將C4選中ActiveSheet.Range(B3:D6).SelectRange(C5).ActivateEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-10 選取指定條件的單元格(SpecialCells方法)Sub SelectSpecialCells()MsgBox 選擇當(dāng)前工作表中所有公式單元格ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).SelectEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-11 選取矩形區(qū)域(CurrentRegion屬性)選取包含當(dāng)前單元格的矩形區(qū)域該區(qū)域周邊為空白行和空白列Sub SelectCurrentRegion()MsgBox 選取包含當(dāng)前單元格的矩形區(qū)域ActiveCell.CurrentRegion.SelectEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-12 選取當(dāng)前工作表中已用單元格(UsedRange屬性)選取當(dāng)前工作表中已使用的單元格區(qū)域Sub SelectUsedRange()MsgBox 選取當(dāng)前工作表中已使用的單元格區(qū)域 _& vbCrLf & 并顯示其地址ActiveSheet.UsedRange.SelectMsgBox ActiveSheet.UsedRange.AddressEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-13 選取最邊緣單元格(End屬性)選取最下方的單元格Sub SelectEndCell()MsgBox 選取當(dāng)前單元格區(qū)域內(nèi)最下方的單元格ActiveCell.End(xlDown).SelectEnd Sub示例說(shuō)明:可以改變參數(shù)xlDown以選取最左邊、最右邊、最上方的單元格。- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-14設(shè)置當(dāng)前單元格的前一個(gè)單元格和后一個(gè)單元格的值Sub SetCellValue()MsgBox 將當(dāng)前單元格中前面的單元格值設(shè)為我前面的單元格 & vbCrLf _& 后面的單元格值設(shè)為我后面的單元格ActiveCell.Previous.Value = 我前面的單元格ActiveCell.Next.Value = 我后面的單元格End Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-15確認(rèn)所選單元格區(qū)域中是否有公式(HasFormula屬性)Sub IfHasFormula()If Selection.HasFormula = True ThenMsgBox 所選單元格中都有公式ElseMsgBox 所選單元格中,部分單元格沒(méi)有公式End IfEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-16 公式單元格操作示例05-16-01獲取與運(yùn)算結(jié)果單元格有直接關(guān)系的單元格Sub CalRelationCell()MsgBox 選取與當(dāng)前單元格的計(jì)算結(jié)果相關(guān)的單元格ActiveCell.DirectPrecedents.SelectEnd Sub示例05-16-02追蹤公式單元格Sub Cal1()MsgBox 選取計(jì)算結(jié)果單元格相關(guān)的所有單元格ActiveCell.Precedents.SelectEnd SubSub TrackCell()MsgBox 追蹤運(yùn)算結(jié)果單元格ActiveCell.ShowPrecedentsEnd SubSub DelTrack()MsgBox 刪除追蹤線ActiveCell.ShowPrecedents Remove:=TrueEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-17 復(fù)制單元格(Copy方法)Sub CopyRange()MsgBox 在單元格B7中寫(xiě)入公式后,將B7的內(nèi)容復(fù)制到C7:D7內(nèi)Range(B7).Formula = =Sum(B3:B6)Range(B7).Copy Destination:=Range(C7:D7)End Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-18獲取單元格行列值(Row屬性和Column屬性)Sub RangePosition()MsgBox 顯示所選單元格區(qū)域的行列值MsgBox 第 & Selection.Row & 行 & Selection.Column & 列End Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-19獲取單元格區(qū)域的單元格數(shù)及行列數(shù)(Rows屬性、Columns屬性和Count屬性)Sub GetRowColumnNum()MsgBox 顯示所選取單元格區(qū)域的單元格數(shù)、行數(shù)和列數(shù)MsgBox 單元格區(qū)域中的單元格數(shù)為: & Selection.CountMsgBox 單元格區(qū)域中的行數(shù)為: & Selection.Rows.CountMsgBox 單元格區(qū)域中的列數(shù)為: & Selection.Columns.CountEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-20設(shè)置單元格中的文本格式示例05-20-01 對(duì)齊文本Sub HorizontalAlign()MsgBox 將所選單元格區(qū)域中的文本左右對(duì)齊方式設(shè)為居中Selection.HorizontalAlignment = xlHAlignCenterEnd SubSub VerticalAlign()MsgBox 將所選單元格區(qū)域中的文本上下對(duì)齊方式設(shè)為居中Selection.RowHeight = 36Selection.VerticalAlignment = xlVAlignCenterEnd Sub示例05-20-02 縮排文本(InsertIndent方法)Sub Indent()MsgBox 將所選單元格區(qū)域中的文本縮排值加1Selection.InsertIndent 1MsgBox 將縮排值恢復(fù)Selection.InsertIndent -1End Sub示例05-20-03 設(shè)置文本方向(Orientation屬性)Sub ChangeOrientation()MsgBox 將所選單元格中的文本順時(shí)針旋轉(zhuǎn)45度Selection.Orientation = 45MsgBox 將文本由橫向改為縱向Selection.Orientation = xlVerticalMsgBox 將文本方向恢復(fù)原值Selection.Orientation = xlHorizontalEnd Sub示例05-20-04自動(dòng)換行(WrapText屬性)Sub ChangeRow()Dim iMsgBox 將所選單元格設(shè)置為自動(dòng)換行i = Selection.WrapTextSelection.WrapText = TrueMsgBox 恢復(fù)原狀Selection.WrapText = iEnd Sub示例05-20-05將比單元格列寬長(zhǎng)的文本縮小到能容納列寬大小(ShrinkToFit屬性)Sub AutoFit()Dim iMsgBox 將長(zhǎng)于列寬的文本縮到與列寬相同i = Selection.ShrinkToFitSelection.ShrinkToFit = TrueMsgBox 恢復(fù)原狀Selection.ShrinkToFit = iEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-21設(shè)置條件格式(FormatConditions屬性)Sub FormatConditions()MsgBox 在所選單元格區(qū)域中將單元格值小于10的單元格中的文本變?yōu)榧t色Selection.FormatConditions.Add Type:=xlCellValue, _Operator:=xlLessEqual, Formula1:=10Selection.FormatConditions(1).Font.ColorIndex = 3MsgBox 恢復(fù)原狀Selection.FormatConditions(1).Font.ColorIndex = xlAutomaticEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-22插入批注(AddComment方法)Sub EnterComment()MsgBox 在當(dāng)前單元格中輸入批注ActiveCell.AddComment (Hello)ActiveCell.Comment.Visible = TrueEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-23隱藏/顯示單元格批注Sub CellComment()MsgBox 切換當(dāng)前單元格批注的顯示和隱藏狀態(tài)ActiveCell.Comment.Visible = Not (ActiveCell.Comment.Visible)End Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-24改變所選單元格的顏色Sub ChangeColor()Dim iro As IntegerMsgBox 將所選單元格的顏色改為紅色iro = Selection.Interior.ColorIndexSelection.Interior.ColorIndex = 3MsgBox 將所選單元格的顏色改為藍(lán)色Selection.Interior.Color = RGB(0, 0, 255)MsgBox 恢復(fù)原狀Selection.Interior.ColorIndex = iroEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-25改變單元格的圖案Sub ChangePattern()Dim p, pc, iMsgBox 依Pattern常數(shù)值的順序改變所選單元格的圖案p = Selection.Interior.Patternpc = Selection.Interior.PatternColorIndexFor i = 9 To 16With Selection.Interior.Pattern = i.PatternColor = RGB(255, 0, 0)End WithMsgBox 常數(shù)值 & iNext iMsgBox 恢復(fù)原狀Selection.Interior.Pattern = pSelection.Interior.PatternColorIndex = pcEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-26合并單元格Sub MergeCells()MsgBox 合并單元格A2:C2,并將文本設(shè)為居中對(duì)齊Range(A2:C2).SelectWith Selection.MergeCells = True.HorizontalAlignment = xlCenterEnd WithEnd Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-27限制單元格移動(dòng)的范圍Sub ScrollArea1()MsgBox 將單元格的移動(dòng)范圍限制在單元格區(qū)域B2:D6中ActiveSheet.ScrollArea = B2:D6End SubSub ScrollArea2()MsgBox 解除移動(dòng)范圍限制ActiveSheet.ScrollArea = End Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-28獲取單元格的位置(Address屬性)Sub GetAddress()MsgBox 顯示所選單元格區(qū)域的地址MsgBox 絕對(duì)地址: & Selection.AddressMsgBox 行的絕對(duì)地址: & Selection.Address(RowAbsolute:=False)MsgBox 列的絕對(duì)地址: & Selection.Address(ColumnAbsolute:=False)MsgBox 以R1C1形式顯示: & Selection.Address(ReferenceStyle:=xlR1C1)MsgBox 相對(duì)地址: & Selection.Address(False, False)End Sub- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -示例05-29刪除單元格區(qū)域(Delete方法)Sub DeleteRange()MsgBox 刪除單元格區(qū)域C2:D6后,右側(cè)的單元格向左移動(dòng)ActiveSheet.Range(C2:D6).Delete (xlShiftToLeft)End SubEXCEL Range對(duì)象基本操作應(yīng)用示例(2) 2009-09-29 14:51 Range對(duì)象基本操作應(yīng)用示例(2)(2008-06-08 11:13:16)標(biāo)簽:雜談 第五章 Range對(duì)象基本操作應(yīng)用示例(2) - - - - - - - - - - - - - - - - - - - -小結(jié)下面對(duì)Range對(duì)象的一些常用屬性和方法進(jìn)行簡(jiǎn)單的小結(jié)。1、Activate與Select試驗(yàn)下面的過(guò)程:Sub SelectAndActivate()Range(B3:E10).SelectRange(C5).ActivateEnd Sub其結(jié)果如下圖所示:圖05-01:Select與ActivateSelection指單元格區(qū)域B3:E10,而ActiveCell則是單元格C5;ActiveCell代表單個(gè)的單元格,而Selection則可以代表單個(gè)單元格,也可以代表單元格區(qū)域。2、Range屬性可以使用Application對(duì)象的Range屬性引用Range對(duì)象,如Application.Range(“B2”) 代表當(dāng)前工作表中的單元格B2若引用當(dāng)前工作表中的單元格,也可以忽略前面的Application對(duì)象。Range(“A1:D10”) 代表當(dāng)前工作表中的單元格區(qū)域A1:D10Range(“A1:A10,C1:C10,E1:E10”) 代表當(dāng)前工作表中非連續(xù)的三個(gè)區(qū)域組成的單元格區(qū)域Range屬性也接受指向單元格區(qū)域?qū)堑膬蓚€(gè)參數(shù),如:Range(“A1”,”D10”) 代表單元格區(qū)域A1:D10當(dāng)然,Range屬性也接受單元格區(qū)域名稱(chēng),如:Range(“Data”) 代表名為Data的數(shù)據(jù)區(qū)域Range屬性的參數(shù)可以是對(duì)象也可以是字符串,如:Range(“A1”,Range(“LastCell”)3、單元格引用的快捷方式可以在引用區(qū)域兩側(cè)加上方括號(hào)來(lái)快速引用單元格區(qū)域,如:B2A1:D10A1:A10,C1:C10,E1:E10Data但其引用的是絕對(duì)區(qū)域。4、Cells屬性可以使用Cells屬性來(lái)引用Range對(duì)象。如:ActiveSheet.CellsApplication.Cells 引用當(dāng)前工作表中的所有單元格Cell(2,2)Cell(2,”B”) 引用單元格B2Range(Cells(1,1),Cells(10,5) 引用單元格區(qū)域A1:E10若想在一個(gè)單元格區(qū)域中循環(huán)時(shí),使用Cells屬性是很方便的。也可以使用Cells屬性進(jìn)行相對(duì)引用,如:Range(“D10:G20”).Cells(2,3) 表示引用單元格區(qū)域D10:G20中第2行第3列的單元格,即單元格F11也可使用語(yǔ)句:Range(“D10”).Cells(2,3)達(dá)到同樣的引用效果。5、Offset屬性O(shè)ffset屬性基于當(dāng)前單元格按所給參數(shù)進(jìn)行偏移,與Cells屬性不同的是,它基于0即基準(zhǔn)單元格為0,如:Range(“A10”).Cells(1,1)和Range(“A10”).Offset(0,0)都表示單元格A10當(dāng)想引用于基準(zhǔn)單元格區(qū)域同樣大小的單元格區(qū)域時(shí),則Offset屬性是有用的。6、Resize屬性可使用Resize屬性獲取相對(duì)于原單元格區(qū)域左上角單元格指定大小的區(qū)域。7、SpecialCells方法SpecialCells方法對(duì)應(yīng)于“定位條件”對(duì)話框,如圖05-02所示:圖05-02:“定位條件”對(duì)話框8、CurrentRegion屬性使用CurrentRegion屬性可以選取當(dāng)前單元格所在區(qū)域,即周?chē)强招泻涂樟兴鶉傻木匦螀^(qū)域,等價(jià)于“Ctrl+Shift+*”快捷鍵。9、End屬性End屬性所代表的操作等價(jià)于“Ctrl+方向箭”的操作,使用常量xlUp、xlDown、xlToLeft和xlToRight分別代表上、下、左、右箭。10、Columns屬性和Rows屬性Columns屬性和Rows屬性分別返回單元格區(qū)域中的所有列和所有行。11、Areas集合在多個(gè)非連續(xù)的單元格區(qū)域中使用Columns屬性和Rows屬性時(shí),只是返回第一個(gè)區(qū)域的行或列,如:Range(“A1:B5,C6:D10,E11:F15”).Rows.Count將返回5。此時(shí)應(yīng)使用Areas集合來(lái)返回區(qū)域中每個(gè)塊的地址,如:For Each Rng In Range(“A1:B5,C6:D10,E11:F15”).AreasMsgBox Rng.AddressNext Rng12、Union方法和Intersect方法當(dāng)想從兩個(gè)或多個(gè)單元格區(qū)域中生成一個(gè)單元格區(qū)域時(shí),使用Union方法;當(dāng)找到兩個(gè)或多個(gè)單元格區(qū)域共同擁有的單元格區(qū)域時(shí),使用Intersect方法。操作單元格或單元格區(qū)域有很多有用的技巧,這需要在實(shí)踐中總結(jié)和歸納。有關(guān)單元格區(qū)域的操作也可參見(jiàn)在VBA代碼中引用Excel工作表中單元格區(qū)域的方式小結(jié)和使用VBA代碼選擇單元格/區(qū)域。vb操作EXCEL對(duì)CELLS的引用 2009-07-25 16:50 使用 Visual Basic 的普通任務(wù)是指定單元格或單元格區(qū)域,然后對(duì)該單元格或單元格區(qū)域進(jìn)行一些操作,如輸入公式或更改格式。通常用一條語(yǔ)句就能完成操作,該語(yǔ)句可標(biāo)識(shí)單元格,還可更改某個(gè)屬性或應(yīng)用某個(gè)方法。在 Visual Basic 中,Range 對(duì)象既可表示單個(gè)單元格,也可表示單元格區(qū)域。下列主題說(shuō)明了標(biāo)識(shí)和處理 Range 對(duì)象最常用的方法。用 A1 樣式記號(hào)引用單元格和單元格區(qū)域可使用 Range 屬性來(lái)引用 A1 引用樣式中的單元格或單元格區(qū)域。下述子程序?qū)卧駞^(qū)域 A1:D5 的字體設(shè)置為加粗。Sub FormatRange() Workbooks(Book1).Sheets(Sheet1).Range(A1:D5).Font.Bold = TrueEnd Sub下表演示了使用 Range 屬性的一些 A1 樣式引用。引用 含義Range(A1) 單元格 A1Range(A1:B5) 從單元格 A1 到單元格 B5 的區(qū)域Range(C5:D9,G9:H16) 多塊選定區(qū)域Range(A:A) A 列Range(1:1) 第一行Range(A:C) 從 A 列到 C 列的區(qū)域Range(1:5) 從第一行到第五行的區(qū)域Range(1:1,3:3,8:8) 第 1、3 和 8 行Range(A:A,C:C,F:F) A 、C 和 F 列用編號(hào)引用單元格通過(guò)使用行列編號(hào),可用 Cells 屬性來(lái)引用單個(gè)單元格。該屬性返回代表單個(gè)單元格的 Range 對(duì)象。下例中,Cells(6,1) 返回 Sheet1 上的單元格 A6,然后將 Value 屬性設(shè)置為 10。Sub EnterValue() Worksheets(Sheet1).Cells(6, 1).Value = 10End Sub因?yàn)榭捎米兞刻娲幪?hào),所以 Cells 屬性非常適合于在單元格區(qū)域中循環(huán),如下例所示。Sub CycleThrough() Dim Counter As Integer For Counter = 1 To 20 Worksheets(Sheet1).Cells(Counter, 3).Value = Counter Next CounterEnd Sub注意 如果要同時(shí)更改某一單元格區(qū)域中所有單元格的屬性或?qū)ζ鋺?yīng)用方法,可使用 Range 屬性。有關(guān)詳細(xì)信息,請(qǐng)參閱用 A1 樣式記號(hào)引用單元格。引用行和列可用 Rows 屬性或 Columns 屬性來(lái)處理整行或整列。這兩個(gè)屬性返回代表單元格區(qū)域的 Range 對(duì)象。下例中,用 Rows(1) 返回 Sheet1 上的第一行,然后將單元格區(qū)域的 Font 對(duì)象的 Bold 屬性設(shè)置為 True。Sub RowBold() Worksheets(Sheet1).Rows(1).Font.Bold = TrueEnd Sub下表舉例說(shuō)明了使用 Rows 和 Columns 屬性的一些行和列的引用。引用 含義Rows(1) 第一行Rows 工作表上所有的行Columns(1) 第一列Columns(A) 第一列Columns 工作表上所有的列若要同時(shí)處理若干行或列,請(qǐng)創(chuàng)建一個(gè)對(duì)象變量并使用 Union 方法,將對(duì) Rows 屬性或 Columns 屬性的多個(gè)調(diào)用組合起來(lái)。下例將活動(dòng)工作簿中第一張工作表上的第一行、第三行和第五行的字體設(shè)置為加粗。Sub SeveralRows() Worksheets(Sheet1).Activate Dim myUnion As Range Set myUnion = Union(Rows(1), Rows(3), Rows(5) myUnion.Font.Bold = TrueEnd Sub用快捷記號(hào)引用單元格可用方括號(hào)將 A1 引用樣式或命名區(qū)域括起來(lái),作為 Range 屬性的快捷方式。這樣就不必鍵入單詞“Range”或使用引號(hào),如下例所示。Sub ClearRange() Worksheets(Sheet1).A1:B5.ClearContentsEnd SubSub SetValue() MyRange.Value = 30End Sub引用命名區(qū)域用名稱(chēng)比用 A1 樣式記號(hào)更容易標(biāo)識(shí)單元格區(qū)域。若要命名選定的單元格區(qū)域,請(qǐng)單擊編輯欄左端的名稱(chēng)框,鍵入名稱(chēng),再按 Enter。引用命名區(qū)域下例引用了名為“MyBook.xls”的工作簿中的名為“MyRange”的單元格區(qū)域。Sub FormatRange() Range(MyBook.xls!MyRange).Font.Italic = TrueEnd Sub下例引用名為“Report.xls”的工作簿中的特定工作表單元格區(qū)域“Sheet1!Sales”。Sub FormatSales() Range(Report.xlsSheet1!Sales).BorderAround Weight:=xlthinEnd Sub若要選定命名區(qū)域,請(qǐng)用 GoTo 方法,該方法將激活工作簿和工作表,然后選定該區(qū)域。Sub ClearRange() Application.Goto Reference:=MyBook.xls!MyRange Selection.ClearContentsEnd Sub下例顯示對(duì)于活動(dòng)工作簿將如何編寫(xiě)相同的過(guò)程。Sub ClearRange() Application.Goto Reference:=MyRange Selection.ClearContentsEnd Sub在命名區(qū)域中的單元格上循環(huán)下例用 For Each.Next 循環(huán)語(yǔ)句在命名區(qū)域中的每一個(gè)單元格上循環(huán)。如果該區(qū)域中的任一單元格的值超過(guò) limit 的值,就將該單元格的顏色更改為黃色。Sub ApplyColor() Const Limit As Integer = 25 For Each c In Range(MyRange) If c.Value Limit Then c.Interior.ColorIndex = 27 End If Next cEnd Sub相對(duì)于其他單元格來(lái)引用單元格處理相對(duì)于另一個(gè)單元格的某一單元格的常用方法是使用 Offset 屬性。下例中,將位于活動(dòng)工作表上活動(dòng)單元格下一行和右邊三列的單元格的內(nèi)容設(shè)置為雙下劃線格式。Sub Underline() ActiveCell.Offset(1, 3).Font.Underline = xlDoubleEnd Sub注意 可錄制使用 Offset 屬性(而不是絕對(duì)引用)的宏。在“工具”菜單上,指向“宏”,再單
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 儀器儀表維修保養(yǎng)店創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書(shū)
- 空中攝影與攝像工作坊企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書(shū)
- 健身短視頻制作行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書(shū)
- 醫(yī)療在線會(huì)診系統(tǒng)行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書(shū)
- 航空業(yè)團(tuán)隊(duì)建設(shè)工作總結(jié)及飛行計(jì)劃
- 小學(xué)四年級(jí)下冊(cè)勞動(dòng)安全教育計(jì)劃
- 部編版語(yǔ)文六年級(jí)上冊(cè)教學(xué)資源開(kāi)發(fā)計(jì)劃
- 國(guó)培計(jì)劃信息教育2.0教師團(tuán)隊(duì)協(xié)作發(fā)展計(jì)劃
- 三年級(jí)上冊(cè)綜合實(shí)踐教育計(jì)劃
- 電信企業(yè)用戶(hù)費(fèi)用結(jié)算與財(cái)務(wù)管理制度
- 育嬰員考試題型及答案
- 科室建立血糖管理制度
- 四川成都東方廣益投資有限公司下屬企業(yè)招聘筆試題庫(kù)2025
- 物業(yè)小飯桌管理制度
- 2025年湖南省普通高中學(xué)業(yè)水平考試合格性考試模擬試題(長(zhǎng)郡版高一生物)(原卷版)
- 2025春國(guó)家開(kāi)放大學(xué)《思想道德與法治》終考大作業(yè)答案
- 2025年廣東省廣州市白云區(qū)中考語(yǔ)文二模試卷
- 【英語(yǔ)(新高考Ⅰ卷)】2025年普通高等學(xué)校招生全國(guó)統(tǒng)一考試
- 2025企業(yè)并購(gòu)合同協(xié)議模板
- 高中英語(yǔ)必背3500單詞表完整版
- 醫(yī)師職業(yè)素養(yǎng)課件
評(píng)論
0/150
提交評(píng)論