您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > VBA选择EXCEL单元格
VBA选择单元格的语句如何选择当前工作表中的单元格?例如,可以使用下面的代码选择当前工作表中的单元格D5:ActiveSheet.Cells(5,4).Select或:ActiveSheet.Range(D5).Select如何选择同一工作簿中其它工作表上的单元格?例如,要选择同一工作簿中另一工作表上的单元格E6,可以使用下面的代码:Application.GotoActiveWorkbook.Sheets(Sheet2).Cells(6,5)或:Application.Goto(ActiveWorkbook.Sheets(Sheet2).Range(E6))也可以先激活该工作表,然后再选择:Sheets(Sheet2).ActivateActiveSheet.Cells(6,5).Select如何选择不同工作簿中的单元格?例如,要选择另一工作簿中的一个工作表上的单元格F7,可以使用下面的代码:Application.GotoWorkbooks(BOOK2.XLS).Sheets(Sheet1).Cells(7,6)或:Application.GotoWorkbooks(BOOK2.XLS).Sheets(Sheet1).Range(F7)也可以先激活该工作簿中的工作表,然后再选择:Workbooks(BOOK2.XLS).Sheets(Sheet1).ActivateActiveSheet.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.GotoActiveWorkbook.Sheets(Sheet3).Range(D3:E11)或:Application.GotoActiveWorkbook.Sheets(Sheet3).Range(D3,E11)也可以先激活该工作表,然后再选择:Sheets(Sheet3).ActivateActiveSheet.Range(Cells(3,4),Cells(11,5)).Select如何选择不同工作簿中工作表上的单元格区域?例如,要选择另一工作簿中某工作表上的单元格区域E4:F12,可以使用下面的代码:Application.GotoWorkbooks(BOOK2.XLS).Sheets(Sheet1).Range(E4:F12)或:Application.GotoWorkbooks(BOOK2.XLS).Sheets(Sheet1).Range(E4,F12)也可以先激活该工作表,然后再选择:Workbooks(BOOK2.XLS).Sheets(Sheet1).ActivateActiveSheet.Range(Cells(4,5),Cells(12,6)).Select如何在当前工作表中选择命名区域?例如,要选择当前工作表中名为“Test”的区域,可以使用下面的代码:Range(Test).Select或:Application.GotoTest如何选择同一工作簿中另一工作表上的命名区域?例如,选择同一工作簿中另一工作表上名为“Test”的区域,可使用下面的代码:Application.GotoSheets(Sheet1).Range(Test)也可以先激活工作表,再选择:Sheets(Sheet1).ActivateRange(Test).Select如何选择不同工作簿中工作表上的命名区域?例如,要选择不同工作簿中工作表上名为“Test”的区域,可使用下面的代码:Application.GotoWorkbooks(BOOK2.XLS).Sheets(Sheet2).Range(Test)也可以先激活工作表,再选择:Workbooks(BOOK2.XLS).Sheets(Sheet2).ActivateRange(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).ActivateActiveSheet.Range(Test).Offset(4,3).Select如何选择一个指定的区域并扩展区域的大小?例如,要选择当前工作表中名为“Database”区域,然后将该区域向下扩展5行,可以使用下面的代码:Range(Database).SelectSelection.Resize(Selection.Rows.Count+5,Selection.Columns.Count).Select如何选择一个指定的区域,再偏离,然后扩展区域的大小?例如,选择名为“Database”区域下方4行右侧3列的一个区域,然后扩展2行和1列,可以使用下面的代码:Range(Database).SelectSelection.Offset(4,3).Resize(Selection.Rows.Count+2,Selection.Columns.Count+1).Select如何选择两个或多个指定区域?例如,为了同时选择名为“Test”和“Sample”的两个区域,可以使用下面的代码:Application.Union(Range(Test),Range(Sample)).Select注意,这两个区域须在同一工作表中,如下面的代码:Sety=Application.Union(Range(Sheet1!A1:B2),Range(Sheet1!C3:D4))但Union方法不能处理不同工作表中的区域,可下面的代码:Sety=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).ColumnlastRow=ActiveSheet.Cells(65536,lastCol).End(xlUp).RowActiveSheet.Range(a1,ActiveSheet.Cells(lastRow,lastCol)).Select或:lastCol=ActiveSheet.Range(a1).End(xlToRight).ColumnlastRow=ActiveSheet.Cells(65536,lastCol).End(xlUp).RowActiveSheet.Range(a1:&ActiveSheet.Cells(lastRow,lastCol).Address).Select如何选择多个不同长度的非连续列?要同时选择A列和C列中的数据,即单元格区域A1:A3和C1:C6,可使用下面的代码:StartRange=A1EndRange=C1Seta=Range(StartRange,Range(StartRange).End(xlDown))Setb=Range(EndRange,Range(EndRange).End(xlDown))Union(a,b).Select注:使用Application.Goto方法,如果指定另一工作表(不是当前工作表)中的指定区域,在Range属性中使用两个Cells属性时,则必须包括Sheets对象,如:Application.GotoSheets(Sheet1).Range(Sheets(Sheet1).Range(Sheets(Sheet1).Cells(2,3),Sheets(Sheet1).Cells(4,5)))在VBA中,Range对象既可表示单个单元格,也可表示单元格区域。下面的内容说明了标识和处理Range对象最常用的方法。引用工作表上的所有单元格如果对工作表应用Cells属性时不指定索引号,该方法将返回代表工作
本文标题:VBA选择EXCEL单元格
链接地址:https://www.777doc.com/doc-5469579 .html