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