vbamsgbox字体放⼤_VBA之Range对象应⽤⼤全(4)......续接 VBA之Range对象应⽤⼤全(3)
[应⽤12]引⽤当前⼯作表中的所有单元格
可以使⽤下⾯的代码:
(1)Cells,表⽰当前⼯作表中的所有单元格。
(2)Range(Cells(1, 1), Cells(Cells.Rows.Count, Cells. Columns.Count)),其中Cells.Rows表⽰⼯作表所有⾏,Cells. Columns表⽰⼯作表所有列。
下⾯的过程清除活动⼯作簿中Sheet1上所有单元格的内容。
Sub ClearSheet()
Worksheets("Sheet1").Cells.ClearContents
End Sub
[应⽤13]引⽤⼯作表中的特定单元格区域
在⼯作表中,您可能使⽤过“定位条件”对话框。可以通过选择菜单“编辑——定位”,单击“定位”对话框中的“定位条件”按钮显⽰该对话框。这个对话框可以允许⽤户选择特定的单元格。例如:
(1)Worksheets(“sheet1″).Cells.SpecialCells(xlCellTypeAllFormatConditions),表⽰⼯作表sheet1中由带有条件格式的单元格所组成的区域。
(2)ActiveCell.CurrentRegion.SpecialCells(xlCellTypeBlanks),表⽰当前⼯作表中活动单元格所在区域中所有空⽩单元格所组成的区域。
(3)选择所有公式单元格
Sub SelectSpecialCells()
MsgBox "选择当前⼯作表中所有公式单元格"
ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select
End Sub
当然,还有很多常量和值的组合,可以让您实现特定单元格的查并引⽤。
[应⽤14]引⽤命名区域
使⽤名称⽐使⽤A1样式记号更容易标识单元格区域。若要命名选定的单元格区域,请单击编辑栏左端的名称框,键⼊名称,再按回车键。
例1:要选择当前⼯作表中名为“Test”的区域,可以使⽤下⾯的代码:
Range("Test").Select
或:
Application.Goto "Test"
例2:选择同⼀⼯作簿中另⼀⼯作表上名为“Test”的区域,可使⽤下⾯的代码:
Application.Goto Sheets("Sheet1").Range("Test")
也可以先激活⼯作表,再选择:
Sheets("Sheet1").Activate Range("Test").Select
例3:要选择不同⼯作簿中⼯作表上名为“Test”的区域,可使⽤下⾯的代码:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
也可以先激活⼯作表,再选择:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate Range("Test").Select
例4:以下⽰例引⽤名为“MyBook.xls”的⼯作簿中名为“MyRange”的区域,并将该区域的字体设置为斜体:
Sub FormatRange()
Range("MyBook.xls!MyRange").Font.Italic = True
End Sub
例5:以下⽰例引⽤名为“Report.xls”的⼯作簿中特定⼯作表的区域“Sheet1!Sales”,并添加边框线:
Sub FormatSales()
Range("[Report.xls]Sheet1!Sales").BorderAround Weight:=xlThin
End Sub
例6:要选定命名区域,可以使⽤GoTo⽅法。该⽅法将激活⼯作簿和⼯作表,然后选定该区域。
Sub ClearRange()
Application.Goto Reference:="MyBook.xls!MyRange"
Selection.ClearContents
End Sub
以下⽰例显⽰对于活动⼯作簿将如何编写与上例相同的过程。
Sub ClearRange()
Application.Goto Reference:="MyRange"
Selection.ClearContents
End Sub
例7:下例⽤For Each…Next循环语句在命名区域中的每⼀个单元格上循环。如果该区域中的任⼀单元格的值超过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 c
End Sub
[应⽤15]选择特别指定的单元格或单元格区域
字体代码大全下⾯的⽰例使⽤了如下图1所⽰的⼯作表。
图1:⽰例数据
例1:选择连续数据列中的最后⼀个单元格
要选择⼀个列A中最后⼀个单元格,可以使⽤下⾯的代码:
ActiveSheet.Range("A1").End(xlDown).Select
在图1所⽰的⼯作表中运⾏上述代码,将选择单元格A4。
'选取最下⽅的单元格
Sub SelectEndCell()
MsgBox "选取当前单元格区域内最下⽅的单元格"
ActiveCell.End(xlDown).Select
End Sub
可以改变参数xlDown以选取最左边、最右边、最上⽅的单元格。
例2:选择连续数据列底部的空单元格
要选择连续单元格区域下⾯的空单元格,可以使⽤下⾯的代码:
ActiveSheet.Range("A1").End(xlDown).Offset(1, 0).Select
在图1所⽰的⼯作表中运⾏上述代码,将选择单元格A5。
例3:选择某列中连续数据单元格区域
要选择列A中连续数据单元格区域,可以使⽤下⾯的代码:
ActiveSheet.Range("A1", ActiveSheet.Range("A1").End(xlDown)).Select
或:
ActiveSheet.Range("A1:" & ActiveSheet.Range("A1").End(xlDown).Address).Select
在图1所⽰的⼯作表中运⾏上述代码,将选择单元格区域A1:A4。
例4:选择某列中⾮连续数据单元格区域
要选择某列中⾮连续数据单元格区域,可以使⽤下⾯的代码:
ActiveSheet.Range("A1", ActiveSheet.Range("A65536").End(xlUp)).Select
或:
ActiveSheet.Range("A1:" & ActiveSheet.Range("A1").End(xlDown).Address).Select
在图1所⽰的⼯作表中运⾏上述代码,将选择单元格区域A1:A6。
例5:选择⼀个矩形(规则的)单元格区域
要选择围绕某单元格的⼀个矩形区域,可以使⽤CurrentRegion属性。CurrentRegion属性将选择四周被空⾏和空列围绕的区域,如下⾯的代码:
ActiveSheet.Range("A1").CurrentRegion.Select
在图1所⽰的⼯作表中运⾏上述代码,将选择单元格区域A1:C4。也可以使⽤下⾯的代码:
ActiveSheet.Range("A1", ActiveSheet.Range("A1").End(xlDown).End(xlToRight)).Select
或:
ActiveSheet.Range("A1:" & ActiveSheet.Range("A1").End(xlDown).End(xlToRight).Address).Select
若想选择单元格区域A1:C6,可使⽤下⾯的代码:
lastCol = ActiveSheet.Range("A1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("A1", ActiveSheet.Cells(lastRow, lastCol)).Select
或:
lastCol = ActiveSheet.Range("A1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row ActiveSheet.Range("A1:" & ActiveSheet.Cells(lastRow, lastCol).Address).Select
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论