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").ClearFormatsresize函数vba
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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论