|
VBA之Range對(duì)象在Excel單元格賦值示例
單元格賦值示例
-------------------
示例一
Sub test1()
Worksheets("Sheet1").Range("A5").Value = 22
MsgBox "工作表Sheet1內(nèi)單元格A5中的值為" _
& Worksheets("Sheet1").Range("A5").Value
End Sub
示例二
Sub test2()
Worksheets("Sheet1").Range("A1").Value = _
Worksheets("Sheet1").Range("A5").Value
MsgBox "現(xiàn)在A1單元格中的值也為" & _
Worksheets("Sheet1").Range("A5").Value
End Sub
示例三
Sub test3()
MsgBox "用公式填充單元格,本例為隨機(jī)數(shù)公式"
Range("A1:H8").Formula = "=Rand()"
End Sub
示例四
Sub test4()
Worksheets(1).Cells(1, 1).Value = 24
MsgBox "現(xiàn)在單元格A1的值為24"
End Sub
示例五
Sub test5()
MsgBox "給單元格設(shè)置公式,求B2至B5單元格區(qū)域之和"
ActiveSheet.Cells(2, 1).Formula = "=Sum(B1:B5)"
End Sub
示例六
Sub test6()
MsgBox "設(shè)置單元格C5中的公式."
Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=Rand()"
End Sub
單元格引用示例
-------------------
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 = True
End Sub
示例說明:可以設(shè)置Range對(duì)象變量來引用單元格區(qū)域,然后對(duì)該變量所代表的單元格區(qū)域進(jìn)行操作。
清除單元格示例
-------------------
示例一
清除單元格中的內(nèi)容(ClearContents方法)
Sub testClearContents()
MsgBox "清除指定單元格區(qū)域中的內(nèi)容"
Worksheets(1).Range("A1:H8").ClearContents
End Sub
示例二
清除單元格中的格式(ClearFormats方法)
Sub testClearFormats()
MsgBox "清除指定單元格區(qū)域中的格式"
Worksheets(1).Range("A1:H8").ClearFormats
End Sub
示例三
清除單元格中的批注(ClearComments方法)
Sub testClearComments()
MsgBox "清除指定單元格區(qū)域中的批注"
Worksheets(1).Range("A1:H8").ClearComments
End Sub
示例四
清除單元格中的全部,包括內(nèi)容、格式和批注(Clear方法)
Sub testClear()
MsgBox "徹底清除指定單元格區(qū)域"
Worksheets(1).Range("A1:H8").Clear
End Sub
其他示例
-------------------
Range和Cells的用法
Sub test()
'設(shè)置單元格區(qū)域A1:J10的邊框線條樣式
With Worksheets(1)
.Range(.Cells(1, 1), _
.Cells(10, 10)).Borders.LineStyle = xlThick
End With
End Sub
示例說明:可用 Range(cell1, cell2) 返回一個(gè) Range 對(duì)象,其中cell1和cell2為指定起始和終止位置的Range對(duì)象。
選取單元格區(qū)域(Select方法)
Sub testSelect()
'選取單元格區(qū)域A1:D5
Worksheets("Sheet1").Range("A1:D5").Select
End Sub
基于所選區(qū)域偏離至另一區(qū)域(Offset屬性)
Sub testOffset()
Worksheets("Sheet1").Activate
Selection.Offset(3, 1).Select
End Sub
示例說明:可用Offset(row, column)(其中row和column為行偏移量和列偏移量)返回相對(duì)于另一區(qū)域在指定偏移量處的區(qū)域。如上例選定位于當(dāng)前選定區(qū)域左上角單元格的向下三行且向右一列處單元格區(qū)域。
選取距當(dāng)前單元格指定行數(shù)和列數(shù)的單元格
Sub ActiveCellOffice()
MsgBox "顯示距當(dāng)前單元格第3列、第2行的單元格中的值"
MsgBox ActiveCell.Offset(3, 2).Value
End Sub
調(diào)整區(qū)域的大小(Resize屬性)
Sub ResizeRange()
Dim numRows As Integer, numcolumns As Integer
Worksheets("Sheet1").Activate
numRows = Selection.Rows.Count
numcolumns = Selection.Columns.Count
Selection.Resize(numRows + 1, numcolumns + 1).Select
End Sub
示例說明:本示例調(diào)整所選區(qū)域的大小,使之增加一行一列。
選取多個(gè)區(qū)域(Union方法)
Sub testUnion()
Dim rng1 As Range, rng2 As Range, myMultiAreaRange As Range
Worksheets("sheet1").Activate
Set rng1 = Range("A1:B2")
Set rng2 = Range("C3:D4")
Set myMultiAreaRange = Union(rng1, rng2)
myMultiAreaRange.Select
End Sub
示例說明:可用 Union(range1, range2, ...) 返回多塊區(qū)域,即該區(qū)域由兩個(gè)或多個(gè)連續(xù)的單元格區(qū)域所組成。如上例創(chuàng)建由單元格區(qū)域A1:B2和C3:D4組合定義的對(duì)象,然后選定該定義區(qū)域。
激活已選區(qū)域中的單元格
Sub ActivateRange()
MsgBox "選取單元格區(qū)域B2:D6并將C4選中"
ActiveSheet.Range("B3:D6").Select
Range("C5").Activate
End Sub
選取指定條件的單元格(SpecialCells方法)
Sub SelectSpecialCells()
MsgBox "選擇當(dāng)前工作表中所有公式單元格"
ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select
End Sub
選取矩形區(qū)域(CurrentRegion屬性)
'選取包含當(dāng)前單元格的矩形區(qū)域
'該區(qū)域周邊為空白行和空白列
Sub SelectCurrentRegion()
MsgBox "選取包含當(dāng)前單元格的矩形區(qū)域"
ActiveCell.CurrentRegion.Select
End Sub
選取當(dāng)前工作表中已用單元格(UsedRange屬性)
'選取當(dāng)前工作表中已使用的單元格區(qū)域
Sub SelectUsedRange()
MsgBox "選取當(dāng)前工作表中已使用的單元格區(qū)域" _
& vbCrLf & "并顯示其地址"
ActiveSheet.UsedRange.Select
MsgBox ActiveSheet.UsedRange.Address
End Sub
|
|