VBA基礎(chǔ)語句學(xué)習(xí)_第1頁
VBA基礎(chǔ)語句學(xué)習(xí)_第2頁
VBA基礎(chǔ)語句學(xué)習(xí)_第3頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、選擇一個(gè)工作表 :Sheets(Balance).Activate. 選擇單元格 :Range(A1).Select選擇連續(xù)的單元格 :Range(A1:G8).Select選擇不連續(xù)的單元格 :Range(A1,B6,D9).SelectRange(A1,B6:B10,D9).Select選擇當(dāng)前活動(dòng)的工作簿 :ThisWorkbook.Activate 如果選擇其他工作簿,注意該工作簿一定是打開的,并且不要忘記加上后綴 “.xls ,”例如:Windows(Totol.xls).Activate選擇一個(gè)工作表 :Sheets(Balance).Activate.單元格間移動(dòng) :Active

2、Cell.Offset(13, 14).SelectSelection.Offset(-3, -4).SelectRange(G8).Offset(-3, -4).Select 注意:你可以定義一變量,并且用 offset 來實(shí)現(xiàn),例如: varFreightRowsCount = Range(A1).CurrentRegion.Rows.Count ActiveCell.Offset(varFreightRowsCount, 0).Select選擇整個(gè)工作表 :Cells.Select選擇當(dāng)前單元格所在的區(qū)域(遇到空行 / 空列即止 ):Range(A1).CurrentRegion.Sel

3、ect選擇行或列 :Rows(1).SelectColumns(A).Select或者:ActiveCell.EntireColumn.Select 選擇相鄰的多行 /多列:Columns(A:C).SelectRows(1:5).Select選擇不相鄰的多行 /多列:注意:和選擇相鄰的多行/多列不同,使用Range而不是Columns/Rows:Range(A:A, C:C, E:F).SelectRange(1:1,5:6,9:9).Select 選擇當(dāng)前活動(dòng)單元格向下至最后一個(gè)非空單元格 :Range(A1, Range(A1).End(xlDown).SelectRange(Activ

4、eCell, 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 而不是 xlRightRange(A1, Range(A1).End(xlToRight).SelectRange(ActiveCell, ActiveCell.End(xlToLeft).Select 選擇當(dāng)前活動(dòng)單元格向右至第 10

5、個(gè)單元格 ?Range(A2, Range(A2).Offset(0, 10).SelectRange(ActiveCell, ActiveCell.Offset(0, 10).Select 選擇當(dāng)前活動(dòng)單元格向左至第 10 個(gè)單元格 ?Range(A20, Range(A20).Offset(0, -10).SelectRange(ActiveCell, ActiveCell.Offset(0, -10).Select 選擇當(dāng)前活動(dòng)單元格向下至第 10 個(gè)單元格 ?Range(a2, Range(a2).Offset(10, 0).SelectRange(ActiveCell, Active

6、Cell.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).Sele而不是 Selection.Resize(5, 2).SelectExcel的宏不能記錄移至當(dāng)前行的第一個(gè)單元格的動(dòng)作(即你按下“Hom

7、e”鍵的動(dòng)作),下面的語句則可以做到:ActiveCell.Offset(0, -ActiveCell.Column + 1).Select移至當(dāng)前列的第一個(gè)單元格ActiveCell.Offset(-ActiveCell.Row + 1, 0).Select關(guān)于 If.Then.EndIf 如果只有一個(gè)條件及一個(gè)動(dòng)作,你可以用以下語句:If Selection.Value 10 ThenSelection.Offset(1, 0) = 100End If或者更簡(jiǎn)單的 :If Selection.Value 10 Then Selection.Offset(1, 0) = 100 如果有兩個(gè)條

8、件及兩個(gè)動(dòng)作,你可以用下面的語句If Selection.Value 10 ThenIf Selection.Value = 12 ThenSelection.Offset(1, 0) = 100End IfSelection.Offset(1, 0) = 20End If關(guān)于 If.Then.And.EndIf 當(dāng)有雙重條件和一個(gè)動(dòng)作時(shí),你可以用下面的語句:If Selection.Value = 10 And Selection.Offset(0, 1).Value = 20 Then Selection.Offset(1, 0) = 100End If關(guān)于 If.Then.Or.EndI

9、f當(dāng)有雙重條件和一個(gè)動(dòng)作時(shí),你可以用下面的語句:If Selection.Value = 10 Or Selection.Offset(0, 1).Value = 20 ThenSelection.Offset(1, 0) = 100End If關(guān)于 If.Then.Else.EndIf當(dāng)只有一個(gè)條件和兩個(gè)動(dòng)作時(shí),你可以用下面的語句:If Selection.Value 10 ThenSelection.Offset(1, 0) = 100ElseSelection.Offset(1, 0) = 0End If關(guān)于 If.Then.ElseIf.EndIf 當(dāng)有不止一個(gè)條件,且每個(gè)條件都跟隨不

10、同的動(dòng)作時(shí),你可以用下面的語句: If Selection.Value = 1 ThenSelection.Offset(1, 0) = 10ElseIf Selection.Value = 2 ThenSelection.Offset(1, 0) = 20ElseIf Selection.Value = 3 ThenSelection.Offset(1, 0) = 30ElseIf Selection.Value = 4 ThenSelection.Offset(1, 0) = 40ElseIf Selection.Value = 5 ThenSelection.Offset(1, 0) =

11、 50End If 關(guān)于 Select Case當(dāng)你不得不測(cè)試很多條件,你可以用Select Case語句來代替If Then.Elself。語法如下:Sub test()Select Case Selection.ValueCase Is = 85Selection.Offset(0, 1) = ACase Is = 75Selection.Offset(0, 1) = BCase Is = 65Selection.Offset(0, 1) = CCase Is = 50Selection.Offset(0, 1) = DCase ElseSelection.Offset(0, 1) = F

12、End SelectEnd Sub這段語句的意思就是:如果所選單元格的值大于 85時(shí),則其右邊那個(gè)單元格的值為“ A”所選單元格的值小于50時(shí),其右邊那個(gè)單元格的值為“F”這里有一些關(guān)于 VBA函數(shù)LCase, Now(), UCase的例子:注意 : 很多 EXCEL 函數(shù)都可以以下面的形式用在 VBA 中:varAnswer = Application.WorksheetFunction.Sum(Range(A1:A32)或者varAnswer = Application.Sum(Range(A1:A32)LCase當(dāng)對(duì)輸入的字符做判斷時(shí),我們無法知道用戶輸入的字符是大寫還是小寫,用LCase函數(shù)可以將其轉(zhuǎn)化為小寫:If LCase(Selection.value)= toto then.orSelect Case LCase(Selection.Value)orDo While LCase(Selection.Value) totoNOW()NOW() 既是 Excel 函數(shù)也是 VBA 函數(shù)。通過下面的語句,在打開工作簿時(shí),單元格 A1 就會(huì)顯示為當(dāng)前時(shí)間:Range(A1).Formula = =Now()下面的語句則在執(zhí)行后賦予單元格“A1”當(dāng)前時(shí)間,該時(shí)間不會(huì)改變除非你再次執(zhí)行語句。并且你每次打開工作簿后,單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論