一、單元格對(duì)象的三種表示方法 1. Range表示方式 Range屬性返回一個(gè)單元格或者單元格區(qū)域。 VBA操作 立即窗口輸入 選擇單個(gè)單元格(例如A5) Range("A5").Select 選擇一個(gè)單元格區(qū)域(例如A6:A10) Range("A6:A10").Select 選擇一些不相鄰的單元格(例如A1, B6, C8) Range("A1, B6, C8").Select 選擇一些不相鄰的單元格和單元格區(qū)域(例如A11:D11, C12, D3) Range("A11:D11, C12, D3").Select 2. 中括號(hào)方式引用單元格(快捷表示方式) [a1]方式引用單元格是在左、右方括號(hào)直接錄入單元格或者區(qū)域地址來(lái)引用目標(biāo)的方式,它不區(qū)分大小寫(xiě),也不區(qū)分相對(duì)引用還是絕對(duì)引用。 例如以下幾種方式都是合法單元格引用 [a1] ——表示引用單元格A1 [B$10] ——表示引用單元格B10 [D2:F500] ——表示引用D2:F500區(qū)域 [D2,F2] ——表示引用D2和F2兩個(gè)單元格 3. Cells表示方式 當(dāng)你要選擇一個(gè)確定的單元格時(shí),Cells屬性要求兩個(gè)自變量,第一個(gè)是行號(hào),第二個(gè)是列號(hào)或者列字母。 VBA操作 立即窗口輸入 選擇單個(gè)單元格(例如A5) Cells(5, 1).Select或Cells(5, A).Select 選擇一個(gè)單元格區(qū)域(例如A6:A10) Range(Cells(6, 1), Cells(10, 1)).Select 選擇工作表中所有單元格 Cells.Select 4. 三種表示方式比較 Range:最常用,參數(shù)中可使用變量,代碼執(zhí)行效率較高。 代碼錄入較費(fèi)時(shí)。 Cells: 參數(shù)可以使用變量,適于循環(huán)語(yǔ)句, 不能表示單元格區(qū)域。 []: 代碼輸入快捷方便, 參數(shù)中不能使用變量,代碼執(zhí)行效率低。 例如: ‘Range 參數(shù)使用變量 Private Sub Range_Var() Dim strParam As String strParam=”C” Range(strParam)=100 End Sub ‘Cells 引用方式常用于循環(huán)中 Private Sub FillCells() Dim I As Interger, j As Integer For I = 1 To 10 For j =1 To 5 Cells(I,j).Value=i*j Next j Next i End Sub 5. 非活動(dòng)工作表中單元格的表示(常見(jiàn)1004錯(cuò)誤) Worksheets(“Sheet1”).Range(“C10”) WorksheetFunction.Sum(Worksheets(“Sheet2”).Range(Worksheets(“Sheet2”).Range(“A1”),Workssheets(“Sheet2”).Range(“A10”))) 對(duì)于非活動(dòng)工作表中單元格的表示必須要寫(xiě)上Worksheets(“表的名稱(chēng)”),上面的表達(dá)式若不包含下劃線的引用,則會(huì)得到常見(jiàn)的1004錯(cuò)誤。 二、單元格對(duì)象常用屬性和方法 1. Value屬性和Text屬性 Value (單元格值):?Range(“A1”).Value Text(單元格文本)? Range (“A1”).Text (將格式設(shè)置成年月日) 2. Offsets屬性 Resize屬性 Offset屬性使用兩個(gè)自變量來(lái)獲得新單元格區(qū)域的地址。第一個(gè)自變量表示行偏移,第二個(gè)自變量則表示列偏移 VBA操作 立即窗口輸入 選擇單元格A1下面一行和右邊三列的單元格 Range("A1").Offset(1, 3).Select 選擇單元格D15上面兩行和左邊一列的單元格 Range("D15").Offset(-2, -1).Select 選擇當(dāng)前單元格上面一行的單元格(同列) ActiveCell.Offset(-1, 0).Select Resize (行,列):調(diào)整單元格區(qū)域大小 3. End屬性 Address屬性 如果你經(jīng)常需要訪問(wèn)你工作表里某些遙遠(yuǎn)的單元格,在VBA中,你可以使用End屬性快速地移動(dòng)到遙遠(yuǎn)的單元格。 VBA操作 立即窗口輸入 選擇任何行的最后一個(gè)單元格 ActiveCell.End(xlright).Select 選擇任何列的最后單元格 ActiveCell.End(xldown).Select 選擇任何行的第一個(gè)單元格 ActiveCell.End(xleft).Select 選擇任何列的第一個(gè)單元格 ActiveCell.End(xlup).Select Address屬性返回Range對(duì)象的地址 Range(“A1”).Address Range (“A1:A10”).Address (返回絕對(duì)地址) ?Range(“A1”).Address(0,0) (返回相對(duì)地址) 4. Range屬性 Cells屬性 Range屬性:返回Range對(duì)象的相對(duì)引用,在使用相對(duì)引用錄制宏時(shí)常見(jiàn) Range (“C3”).Range(“B2”) Cells屬性:Cell(1,1) Cells (2) ?Range(“B2:D10”).Range(“B2”).Address: (將B2單元格看成是A1作為參照物,去找第B列第2行,返回的是相對(duì)引用) 結(jié)果是:$c$3 Range(“B2;D10”).Cells(2,2).Address (同上) Cells(5): 同上 (選中B2:D10區(qū)域,若B2是1,從左往右數(shù)到D是3,然后從頭再?gòu)淖笸覕?shù),5是C3) 5. Select方法和Activate方法 Range(“B2:D10”).Select (選中區(qū)域) Selection.Address: Excel返回的是當(dāng)前被選擇的單元格的絕對(duì)地址 ?ActiveCell.Address ($B$2 返回的是當(dāng)前活動(dòng)單元格) (激活該單元格,可以馬上錄入數(shù)據(jù)) 兩者效果一樣的情況:當(dāng)選中的單元格區(qū)域不在要選擇或激活單元格內(nèi),譬如先選中A1:D3 Range(“E12”).Select (選中E12)(E12不在A1:D3內(nèi)) Range(“E12”).Active (選中E12) 6. Clear等常用方法 Clear: 清楚單元格內(nèi)容和格式; ClearContents清除單元格的內(nèi)容 ClearFormats清除單元格的格式 Range(“B2”).Clear Range(“B2”).Clearcontents Range(“B2”).ClearFormats |
|
來(lái)自: cshts > 《我的圖書(shū)館》