首頁>職場>

5.1 Excel 基礎操作Range相關 Range 屬性的一些 A1 樣式引用

Range("A1")             ' 單元格 A1Range("A1:B5")          ' 從單元格 A1 到單元格 B5 的區域Range("C5:D9, G9:H16")  ' 多塊選定區域' 選中不關聯的單元格,cells(2, 3)返回結果為:B3Union(Range("A1:A10"), Range("K10"), Range("A1:" & cells(2, 3).Address)).SelectRange("A:A")            ' A 列Range("1:1")            ' 第一行Range("A:C")            ' 從 A 列到 C 列的區域Range("1:5")            ' 從第一行到第五行的區域Range("1:1, 3:3, 8:8")  ' 第 1、3 和 8 行Range("A:A, C:C, F:F")  ' A 、C 和 F 列
行列相關 行和列的引用
Rows(1)         ' 第一行Rows            ' 工作表上所有的行Columns(1)      ' 第一列Columns("A")    ' 第一列Columns         ' 工作表上所有的列Union(Rows(1), Rows(3), Rows(5))  ' 引用第1, 3, 5行
迴圈Selction區域的每一個單元格Cell
For Each rngDataCell In RngDataSelection    If Not rngDataCell.HasFormula And Not (Trim(rngDataCell.Value)  = "") Then        ...    End IfNext rngDataCell
選擇當前工作表中的單元格
ActiveSheet.Cells(5, 4).Select或:ActiveSheet.Range("D5").Select
選擇同一工作簿中其它工作表上的單元格
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))' 也可以先啟用該工作表,然後再選擇:Sheets("Sheet2").ActivateActiveSheet.Cells(6, 5).Select
選擇與當前單元格相關的單元格/偏離當前單元格(Offset)語法:Offset(D, R) 以當前為基礎原點,向下D,且向右D移動,如果負數即為向反方向移動 即向上和向左移動。例如,要選擇距當前單元格下面5行左側4列的單元格
ActiveCell.Offset(5, -4).Select
選擇一個指定的區域並擴充套件區域的大小
' 要選擇當前工作表中名為“Database”區域,然後將該區域向下擴充套件5行,可以使用下面的程式碼:Range("Database").SelectSelection.Resize(Selection.Rows.Count + 5, Selection.Columns.Count).Select
選擇一個指定的區域,再偏離,然後擴充套件區域的大小
' 選擇名為“Database”區域下方4行右側3列的一個區域,然後擴充套件2行和1列,可以使用下面的程式碼:Range("Database").SelectSelection.Offset(4, 3).Resize(Selection.Rows.Count + 2, Selection.Columns.Count + 1).Select
同時選擇兩個或多個指定區域注意:所選區域必須在同一工作表(sheet)中。
Set rngUnionSelection = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
選擇兩個或多個指定區域的交叉區域 注意:所選區域必須在同一工作表(sheet)中。
' 要選擇名為“Test1”和“Test2”的兩個區域的交叉區域Application.Intersect(Range("Test1"), Range("Test2")).Select
利用End函式的相關操作

End(xldown):從被選中的單元格向下尋找,如果被選中單元格為空,則一直向下走到 第一個非空單元格;如果被選中單元格為非空,則向下走到最後一個非空單元格。End函式的4個方向引數:xlUp, xlDown, xlToLeft, xlToRight。

' 選擇連續資料列中的最後一個單元格ActiveSheet.Range("a1").End(xlDown).Select' 選擇連續資料列底部的空單元格ActiveSheet.Range("a1").End(xlDown).Offset(1, 0).Select' 獲取連續資料最後一行的行號Selection.end(xldown).Row' 想選擇連續資料最後面的空白行Rows(Selection.End(xldown).Row + 1).Select' 選擇某列中連續資料單元格區域ActiveSheet.Range("A1", ActiveSheet.Range("a1").End(xlDown)).SelectActiveSheet.Range("A1:" & ActiveSheet.Range("a1").End(xlDown).Address).Select' 選擇某列中非連續資料單元格區域ActiveSheet.Range("A1", ActiveSheet.Range("a65536").End(xlUp)).SelectActiveSheet.Range("A1:" & ActiveSheet.Range("a65536").End(xlUp).Address).Select

補充: 對於上述程式碼中非連續資料,也可以利用UsedRange.Rows.Count獲取所有資料的條/行數。

Dim lngCountData As LonglngCountData = ActiveSheet.UsedRange.Rows.Count
神器放送

VBA程式設計神器 VBA程式碼助手 可以極大提高程式設計速度,降低程式設計門檻歡迎使用

用法 輸入 字典+空格 即可看到如下提示 也可輸入 dic+空格 zd+空格 均可得到提示

本提示資料庫可完全自定義!

19
  • 工作沒回報,還要繼續嗎?
  • 2020年的年終報告你交了嗎?