24周年

財(cái)稅實(shí)務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠
安卓版本:8.7.11 蘋(píng)果版本:8.7.11
開(kāi)發(fā)者:北京正保會(huì)計(jì)科技有限公司
應(yīng)用涉及權(quán)限:查看權(quán)限>
APP隱私政策:查看政策>

VBA入門(mén)的基礎(chǔ)語(yǔ)句

來(lái)源: 編輯: 2009/06/03 09:06:24  字體:

  選擇當(dāng)前活動(dòng)的工作簿:

  ThisWorkbook.Activate

  如果選擇其他工作簿,注意該工作簿一定是打開(kāi)的,并且不要忘記加上后綴“.xls” ,例如:

  Windows("Totol.xls").Activate

  選擇一個(gè)工作表:

  Sheets("Balance").Activate.

  選擇單元格:

  Range("A1").Select

  選擇連續(xù)的單元格:

  Range("A1:G8").Select

  選擇不連續(xù)的單元格:

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

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

  單元格間移動(dòng):

  ActiveCell.Offset(13, 14).Select

  Selection.Offset(-3, -4).Select

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

  注意:你可以定義一變量,并且用offset來(lái)實(shí)現(xiàn),例如:

  varFreightRowsCount = Range("A1").CurrentRegion.Rows.Count

  ActiveCell.Offset(varFreightRowsCount, 0).Select

  選擇整個(gè)工作表:

  Cells.Select

  選擇當(dāng)前單元格所在的區(qū)域(遇到空行/空列即止):

  Range("A1").CurrentRegion.Select

  選擇行或列:

  Rows("1").Select

  Columns("A").Select

  或者:

  ActiveCell.EntireRow.Select

  ActiveCell.EntireColumn.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

  選擇當(dāng)前活動(dòng)單元格向下至最后一個(gè)非空單元格:

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

  Range(ActiveCell, ActiveCell.End(xlDown)).Select

  選擇當(dāng)前活動(dòng)單元格向上至第一個(gè)非空單元格:

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

  Range(ActiveCell, ActiveCell.End(xlUp)).Select

  選擇當(dāng)前活動(dòng)單元格向右至第一個(gè)非空單元格。(注意:是 "xlTORight"而不是 "xlRight" )

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

  Range(ActiveCell, ActiveCell.End(xltoLeft)).Select

  選擇當(dāng)前活動(dòng)單元格向右至第10個(gè)單元格。

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

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

  選擇當(dāng)前活動(dòng)單元格向左至第10個(gè)單元格。

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

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

  選擇當(dāng)前活動(dòng)單元格向下至第10個(gè)單元格。

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

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

  選擇當(dāng)前活動(dòng)單元格向上至第10個(gè)單元格。

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

  選擇該行中第一個(gè)空單元格:

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

  改變區(qū)域的大小(由 A1:B5 變?yōu)?A1:D10):(注意:改區(qū)域并不是向外擴(kuò)張,而是重新定義了。即 "Selection.Resize(10, 4).Select "而不是"Selection.Resize(5, 2).Select "

  Excel的宏不能記錄移至當(dāng)前行的第一個(gè)單元格的動(dòng)作(即你按下“Home”鍵的動(dòng)作),下面的語(yǔ)句則可以做到:

  ActiveCell.Offset(0, -ActiveCell.Column + 1).Select

  移至當(dāng)前列的第一個(gè)單元格:

  ActiveCell.Offset( -ActiveCell.Row + 1,0).Select

  如果只有一個(gè)條件及一個(gè)動(dòng)作,你可以用以下語(yǔ)句:

  If Selection.Value > 10 Then

  Selection.Offset(1,0) = 100

  End If

  或者更簡(jiǎn)單的:

  If Selection.Value > 10 Then Selection.Offset(1,0) = 100

  如果有兩個(gè)條件及兩個(gè)動(dòng)作,你可以用下面的語(yǔ)句:

  If Selection.Value > 10 Then

  If Selection.Value = 12 Then

  Selection.Offset(1,0) = 100

  End If

  Selection.Offset(1,0) = 20

  End If

  當(dāng)有雙重條件(并存的條件)和一個(gè)動(dòng)作時(shí),你可以用下面的語(yǔ)句:

  If Selection.Value = 10 And Selection.Offset(0,1).Value = 20 Then

  Selection.Offset(1,0) = 100

  End If

  當(dāng)有雙重條件(可選擇的條件)和一個(gè)動(dòng)作時(shí),你可以用下面的語(yǔ)句:

  If Selection.Value = 10 Or Selection.Offset(0,1).Value = 20 Then

  Selection.Offset(1,0) = 100

  End If

  當(dāng)只有一個(gè)條件和兩個(gè)動(dòng)作時(shí),你可以用下面的語(yǔ)句:

  If Selection.Value > 10 Then

  Selection.Offset(1,0) = 100

  Else

  Selection.Offset(1,0) = 0

  End If

  當(dāng)有不止一個(gè)條件,且每個(gè)條件都跟隨不同的動(dòng)作時(shí),你可以用下面的語(yǔ)句:

  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

  ElseIf Selection.Value = 4 Then

  Selection.Offset(1, 0) = 40

  ElseIf Selection.Value = 5 Then

  Selection.Offset(1, 0) = 50

  End If

  當(dāng)你不得不測(cè)試很多條件,你可以用Select Case 語(yǔ)句來(lái)代替If Then..ElseIf 。語(yǔ)法如下:

  Sub test()

  Select Case Selection.Value

  Case Is >= 85

  Selection.Offset(0, 1) = "A"

  Case Is >= 75

  Selection.Offset(0, 1) = "B"

  Case Is >= 65

  Selection.Offset(0, 1) = "C"

  Case Is >= 50

  Selection.Offset(0, 1) = "D"

  Case Else

  Selection.Offset(0, 1) = "F"

  End Select

  End Sub

  這段語(yǔ)句的意思就是:如果所選單元格的值大于85時(shí),則其右邊那個(gè)單元格的值為“A”…… 所選單元格的值小于50時(shí),其右邊那個(gè)單元格的值為“F” 。

責(zé)任編輯:zoe
回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - www.odtgfuq.cn All Rights Reserved. 北京正保會(huì)計(jì)科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號(hào)-7 出版物經(jīng)營(yíng)許可證 京公網(wǎng)安備 11010802044457號(hào)