如何选择当前工作表中的单元格?
例如,可以使用下面的代码选择当前工作表中的单元格D5:
ActiveSheet.Cells(5, 4).Select
或:ActiveSheet.Range("D5").Select
如何选择同一工作簿中其它工作表上的单元格?
例如,要选择同一工作簿中另一工作表上的单元格E6,可以使用下面的代码:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
或:Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
也可以先激活该工作表,然后再选择:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
如何选择不同工作簿中的单元格?
例如,要选择另一工作簿中的一个工作表上的单元格F7,可以使用下面的代码:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
或:Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
也可以先激活该工作簿中的工作表,然后再选择:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
如何选择当前工作表中的单元格区域?
例如,要选择当前工作表中的单元格区域C2:D10,可以使用下面的代码:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
或:ActiveSheet.Range("C2:D10").Select
或:ActiveSheet.Range("C2", "D10").Select
如何选择同一工作簿中另一工作表上的单元格区域?
例如,要选择同一工作簿中另一工作表上的单元格区域D3:E11,可以使用下面的代码:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
或:Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
也可以先激活该工作表,然后再选择:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
如何选择不同工作簿中工作表上的单元格区域?
例如,要选择另一工作簿中某工作表上的单元格区域E4:F12,可以使用下面的代码:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
或:Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
也可以先激活该工作表,然后再选择:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
如何在当前工作表中选择命名区域?
例如,要选择当前工作表中名为“Test”的区域,可以使用下面的代码:
Range("Test").Select
或:Application.Goto "Test"
如何选择同一工作簿中另一工作表上的命名区域?
例如,选择同一工作簿中另一工作表上名为“Test”的区域,可使用下面的代码:
Application.Goto Sheets("Sheet1").Range("Test")
也可以先激活工作表,再选择:
Sheets("Sheet1").Activate
Range("Test").Select
如何选择不同工作簿中工作表上的命名区域?
例如,要选择不同工作簿中工作表上名为“Test”的区域,可使用下面的代码:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
也可以先激活工作表,再选择:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
如何选择与当前单元格相关的单元格?
例如,要选择距当前单元格下面5行左侧4列的单元格,可以使用下面的代码:
ActiveCell.Offset(5, -4).Select
要选择距当前单元格上方2行右侧3列的单元格,可以使用下面的代码:
ActiveCell.Offset(-2, 3).Select
注意:一定要保证当前单元格与所选单元格之间的距离在工作表范围内,否则会出错。
如何选择与另一单元格(不是当前单元格)相关的单元格?
例如,要选择距单元格C7下方5行右侧4列的单元格,可以使用下面的代码:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
或:ActiveSheet.Range("C7").Offset(5, 4).Select
如何选择偏离指定区域的一个单元格区域?
例如,要选择与名为“Test”的区域大小相同但在该区域下方4行右侧3列的一个区域,可以使用下面的代码:
ActiveSheet.Range("Test").Offset(4, 3).Select
如果该命名区域不在当前工作表中,可以先激活该工作表,然后再选择,如下面的代码:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
如何选择一个指定的区域并扩展区域的大小?
例如,要选择当前工作表中名为“Database”区域,然后将该区域向下扩展5行,可以使用下面的代码:
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count).Select
如何选择一个指定的区域,再偏离,然后扩展区域的大小?
例如,选择名为“Database”区域下方4行右侧3列的一个区域,然后扩展2行和1列,可以使用下面的代码:
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, Selection.Columns.Count + 1).Select
如何选择两个或多个指定区域?
例如,为了同时选择名为“Test”和“Sample”的两个区域,可以使用下面的代码:
Application.Union(Range("Test"), Range("Sample")).Select
注意,这两个区域须在同一工作表中,如下面的代码:
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
但Union方法不能处理不同工作表中的区域,可下面的代码:
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
将会出错。
如何选择两个或多个指定区域的交叉区域?
例如,要选择名为“Test”和“Sample”的两个区域的交叉区域,可以使用下面的代码:
Application.Intersect(Range("Test"), Range("Sample")).Select
注意,两个区域必须在同一工作表中。
= = = = = = = = = = = = = = = = = = = = = = = = =
下面的示例使用了如下图所示的工作表。

如何选择连续数据列中的最后一个单元格?
例如,要选择一个连续列中的最后一个单元格,可以使用下面的代码:
ActiveSheet.Range("a1").End(xlDown).Select
该代码使用在上面的工作表中,单元格A4被选择。
如何选择连续数据列底部的空单元格?
例如,要选择连续单元格区域下面的单元格,可以使用下面的代码:
ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select
该代码使用在上面的工作表中,单元格A5被选择。
如何选择某列中连续数据单元格区域?
例如,要选择一列中的连续数据单元格区域,可以使用下面的代码:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
或:ActiveSheet.Range("a1:" & ActiveSheet.Range("a1").End(xlDown).Address).Select
该代码使用在上面的工作表中,单元格区域A1:A4将被选择。
如何选择某列中非连续数据单元格区域?
例如,要选择某列中非连续数据单元格区域,可以使用下面的代码:
ActiveSheet.Range("a1", ActiveSheet.Range("a65536").End(xlUp)).Select
或:ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536").End(xlUp).Address).Select
该代码使用在上面的工作表中,单元格区域A1:A6将被选择。
如何选择一个矩形(规则的)单元格区域?
要选择围绕某单元格的一个矩形区域,可以使用CurrentRegion方法。CurrentRegion方法将选择四周被空行和空列围绕的区域,如下面的代码:
ActiveSheet.Range("a1").CurrentRegion.Select
该代码使用在上面的工作表中,将选择单元格区域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
= = = = = = = = = = = = = = = = = = = =
如何选择多个不同长度的非连续列?
例如,有下图所示的工作表:

要同时选择A列和C列中的数据,即单元格区域A1:A3和C1:C6,可使用下面的代码:
StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a, b).Select
= = = = = = = = = = = = = = = = = = = =
注:使用Application.Goto方法,如果指定另一工作表(不是当前工作表)中的指定区域,在Range属性中使用两个Cells属性时,则必须包括Sheets对象,如:
Application.Goto Sheets("Sheet1").Range(Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), Sheets("Sheet1").Cells(4, 5)))
= = = = = = = = = = = = = = = = = = = =
在VBA中,Range 对象既可表示单个单元格,也可表示单元格区域。下面的内容说明了标识和处理Range对象最常用的方法。
引用工作表上的所有单元格
如果对工作表应用 Cells 属性时不指定索引号,该方法将返回代表工作表上所有单元格的 Range 对象。以下 Sub 过程清除活动工作簿中 Sheet1 上的所有单元格的内容。
Sub ClearSheet()
Worksheets("Sheet1").Cells.ClearContents
End Sub
使用 A1 表示法引用单元格和区域
可使用 Range 属性引用 A1 引用样式中的单元格或单元格区域。下述子例程将单元格区域 A1:D5 的字体设置为加粗。
Sub FormatRange()
Workbooks("Book1").Sheets("Sheet1").Range("A1:D5") _
.Font.Bold = True
End Sub
下表演示了使用 Range 属性的一些 A1 样式引用。
引用 含义
Range("A1") 单元格 A1
Range("A1:B5") 从单元格 A1 到单元格 B5 的区域
Range("C5:D9,G9:H16") 多块选定区域
Range("A:A") A 列
Range("1:1") 第一行
Range("A:C") 从 A 列到 C 列的区域
Range("1:5") 从第一行到第五行的区域
Range("1:1,3:3,8:8") 第 1、3 和 8 行
Range("A:A,C:C,F:F") A 、C 和 F 列
上一篇:Word文档下超链接的设置技巧
相关文章
网友评论(共有 0 条评论)