2024年4月27日发(作者:)

Excel VBA入门的基础语句

(2009-03-10 00:45:59)

选择当前活动的工作簿:

te

如果选择其他工作簿,注意该工作簿一定是打开的,并且不要忘记加上后缀“.xls” ,例如:

Windows("").Activate

选择一个工作表:

Sheets("Balance").Activate.

选择单元格:

Range("A1").Select

选择连续的单元格:

Range("A1:G8").Select

选择不连续的单元格:

Range("A1,B6,D9").Select

Range("A1,B6:B10,D9").Select

单元格间移动:

(13, 14).Select

(-3, -4).Select

Range("G8").Offset(-3, -4).Select

注意:你可以定义一变量,并且用offset来实现,例如:

varFreightRowsCount = Range("A1").

(varFreightRowsCount, 0).Select

选择整个工作表:

选择当前单元格所在的区域(遇到空行/空列即止):

Range("A1").

选择行或列:

Rows("1").Select

Columns("A").Select

或者:

选择相邻的多行/多列:

Columns("A:C").Select

Rows("1:5").Select

选择不相邻的多行/多列:

注意:和选择相邻的多行/多列不同,使用"Range"而不是"Columns/Rows":

Range("A:A, C:C, E:F").Select

Range("1:1,5:6,9:9").Select

选择当前活动单元格向下至最后一个非空单元格:

Range("A1", Range("A1").End(xlDown)).Select

Range(ActiveCell, (xlDown)).Select

选择当前活动单元格向上至第一个非空单元格:

Range("A32", Range("A32").End(xlUp)).Select

Range(ActiveCell, (xlUp)).Select

选择当前活动单元格向右至第一个非空单元格。

注意:是 "xlTORight"而不是 "xlRight"

Range("A1", Range("A1").End(xltoRight)).Select

Range(ActiveCell, (xltoLeft)).Select

选择当前活动单元格向右至第10个单元格。

Range("A2", Range("A2").Offset(0, 10)).Select

Range(ActiveCell, (0, 10)).Select

选择当前活动单元格向左至第10个单元格。

Range("A20", Range("A20").Offset(0, -10)).Select

Range(ActiveCell, (0, -10)).Select

选择当前活动单元格向下至第10个单元格。

Range("a2", Range("a2").Offset(10, 0)).Select

Range(ActiveCell, (10, 0)).Select

选择当前活动单元格向上至第10个单元格。

Range("A1").End(xlDown).Offset(1, 0).Select

选择该行中第一个空单元格:

Range("A1").End(xltoRight).Offset(0,1).Select

改变区域的大小(由 A1:B5 变为 A1:D10):注意:改区域并不是向外扩张,而是重新定义了。即

“(10, 4).Select而不是(5, 2).Select

Excel的宏不能记录移至当前行的第一个单元格的动作(即你按下“Home”键的动作),下面的语句则可以做

到:

(0, - + 1).Select

移至当前列的第一个单元格:

( - + 1,0).Select

关于If..EndIf

如果只有一个条件及一个动作,你可以用以下语句:

If > 10 Then

(1,0) = 100

End If

或者更简单的:

If > 10 Then (1,0) = 100

如果有两个条件及两个动作,你可以用下面的语句