VBA基础语句学习
- 格式:docx
- 大小:8.81 KB
- 文档页数:4
选择一个工作表:
Sheets(Balance).Activate. 选择单元格:
Range(A1).Select 选择连续的单元格:
Range(A1:G8).Select 选择不连续的单元格:
Range(A1,B6,D9).Select Range(A1,B6:B10,D9).Select 选择当前活动的工作簿: ThisWorkbook.Activate 如果选择其他工作簿,注意该工作簿一定是打开的,并且不要忘记加上后缀“ .xls” ,例如:
Windows(Totol.xls).Activate 选择一个工作表:
Sheets(Balance).Activate. 单元格间移动:
ActiveCell.Offset(13, 14).Select
Selection.Offset(-3, -4).Select
Range(G8).Offset(-3, -4).Select 注意:你可以定义一变量,并且用offset 来实现,例如:varFreightRowsCount = Range(A1).CurrentRegion.Rows.Count
ActiveCell.Offset(varFreightRowsCount, 0).Select 选择整个工作表:
Cells.Select 选择当前单元格所在的区域(遇到空行/ 空列即止):
Range(A1).CurrentRegion.Select
选择行或列:
Rows().Select
Columns(A).Select
或者:
ActiveCell.EntireRow.Select ActiveCell.EntireColumn.Select 选择相邻的多行/多列:
Columns(A:C).Select
Rows(:5).Select 选择不相邻的多行/多列:注意:和选择相邻的多行/多列不同,使用剜湡敧而不是?汯浵獮?潒獷:Range(A:A, C:C, E:F).Select
Range(:1,5:6,9:9).Select 选择当前活动单元格向下至最后一个非空单元格:
Range(A1, Range(A1).End(xlDown)).Select Range(ActiveCell,
ActiveCell.End(xlDown)).Select
选择当前活动单元格向上至第一个非空单元格:
Range(A32, Range(A32).End(xlUp)).Select
Range(ActiveCell, ActiveCell.End(xlUp)).Select 选择当前活动单元格向右至第一个非空单元格? 注意:是硜呬剏杩瑨而不是硜剬杩瑨?
Range(A1, Range(A1).End(xlToRight)).Select
Range(ActiveCell, ActiveCell.End(xlToLeft)).Select 选择当前活动单元格向右至第10 个单元格?
Range(A2, Range(A2).Offset(0, 10)).Select
Range(ActiveCell, ActiveCell.Offset(0, 10)).Select 选择当前活动单元格向左至第10 个单元格?
Range(A20, Range(A20).Offset(0,-10)).Select
Range(ActiveCell, ActiveCell.Offset(0, -10)).Select 选择当前活动单元格向下至第10 个单元格?
Range(a2, Range(a2).Offset(10, 0)).Select
Range(ActiveCell, ActiveCell.Offset(10, 0)).Select 选择当前活动单元格向上至第10 个单元格?
Range(A1).End(xlDown).Offset(1, 0).Select 选择该行中第一个空单元格:
Range(A1).End(xlToRight).Offset(0, 1).Select 改变区域的大小(由A1:B5 变为
A1:D10) :注意:改区域并不是向外扩张,而是重新定义了。即
“Selection.Resize(10, 4).Selec而不是Selection.Resize(5, 2).Select Excel的宏不能记录移至当前行的第一个单元格的动作(即你按下“Home”键的
动作),下面的语句则可以做到:
ActiveCell.Offset(0, -ActiveCell.Column + 1).Select
移至当前列的第一个单元格
ActiveCell.Offset(-ActiveCell.Row + 1, 0).Select
关于If..Then...EndIf 如果只有一个条件及一个动作,你可以用以下语句:
If Selection.Value > 10 Then
Selection.Offset(1, 0) = 100
End If
或者更简单的:
If Selection.Value > 10 Then Selection.Offset(1, 0) = 100 如果有两个条件及两个动作,你可以用下面的语句
If Selection.Value > 10 Then
If Selection.Value = 12 Then
Selection.Offset(1, 0) = 100
End If
Selection.Offset(1, 0) = 20
End If
关于If..Then...And...EndIf 当有双重条件和一个动作时,你可以用下面的语句:
If Selection.Value = 10 And Selection.Offset(0, 1).Value = 20 Then
Selection.Offset(1, 0) = 100
End If
关于If..Then...Or...EndIf 当有双重条件和一个动作时,你可以用下面的语句:
If Selection.Value = 10 Or Selection.Offset(0, 1).Value = 20 Then
Selection.Offset(1, 0) = 100
End If
关于If..Then...Else...EndIf 当只有一个条件和两个动作时,你可以用下面的语句:If Selection.Value > 10 Then
Selection.Offset(1, 0) = 100
Else
Selection.Offset(1, 0) = 0
End If
关于If..Then..ElseIf...EndIf 当有不止一个条件,且每个条件都跟随不同的动作时,你可以用下面的语句:If Selection.Value = 1 Then
Selection.Offset(1, 0) = 10
ElseIf Selection.Value = 2 Then
Selection.Offset(1, 0) = 20
ElseIf Selection.Value = 3 Then
Selection.Offset(1, 0) = 30