Đối Tượng Range Trong Excel VBA - VietTuts
Có thể bạn quan tâm
Đối tượng Range trong Excel VBA là một trong những đối tượng được sử dụng nhiều nhất trong khi tự động hóa bất kỳ tác vụ nào với VBA. Chúng ta tham chiếu đến các Range khác nhau trong một Worksheet và thực hiện các hoạt động khác nhau trên Range trong Excel. Chúng ta có các thuộc tính và các phương thức khác nhau để xử lý các đối tượng Range trong Excel.
Đối tượng Range là đại diện của một cell (hoặc cells) trên Worksheet, là đối tượng quan trọng nhất của Excel VBA.
Nội dung chính
- Ví dụ đối tượng Range trong Excel VBA
- Đối tượng Range
- Đối tượng Cells
- Khai báo một đối tượng Range
- Các phương thức của đối tượng Range
- Phương thức Select
- Phương thức Copy/Paste
- Phương thức ClearContents
- Phương thức ClearFormats
- Phương thức Clear
- Phương thức Formula
- Các thuộc tính của đối tượng Range
- Thuộc tính Rows
- Thuộc tính Columns
- Thuộc tính Count
Ví dụ đối tượng Range trong Excel VBA
Đối tượng Range
Ví dụ 1: đặt một nút lệnh trên Worksheet và thêm dòng code sau:
Range("B3").Value = 2Kết quả:
Ví dụ 2: đặt một nút lệnh trên Worksheet và thêm dòng code sau:
Range("A1:A4").Value = 5Kết quả:
Đối tượng Cells
Thay vì Range, bạn có thể sử dụng Cells. Sử dụng Cells đặc biệt hữu ích khi bạn muốn lặp qua các ranges.
Ví dụ 3: đặt một nút lệnh trên Worksheet và thêm dòng code sau:
Cells(3, 2).Value = 2Kết quả:
Ví dụ 4: đặt một nút lệnh trên Worksheet và thêm dòng code sau:
Range(Cells(1, 1), Cells(4, 1)).Value = 5Kết quả:
Khai báo một đối tượng Range
Bạn có thể khai báo một đối tượng Range bằng cách sử dụng các từ khoá Dim và Set.
Dim rangeObj As Range Set rangeObj = Range("A1:C4") rangeObj .Value = 8Kết quả:
Các phương thức của đối tượng Range
Dưới đây là các phương thức được sử dụng thường xuyên của đối tượng Range trong VBA:
Phương thức | Mô tả |
---|---|
Select | Để chọn Range được yêu cầu trong Worksheet |
AddComment | Để thêm bình luận vào Excel Range |
AdvancedFilter | Áp dụng các bộ lọc nâng cao trên Excel Range |
Calculate | Để làm mới các phép tính trong Excel Range |
Formula | Để thêm công thức cho Excel Range |
Clear | Để xóa một Excel Range hoàn toàn bao gồm các định dạng và dữ liệu |
ClearComments | Để chỉ xóa các bình luận trong Excel Range cụ thể |
ClearContents | Để chỉ xóa nội dung/dữ liệu trong một Excel Range |
ClearFormats | Để chỉ xóa các định dạng của một Excel Range |
ClearHyperlinks | Để chỉ xóa các siêu liên kết trong một Excel Range |
Copy | Để sao chép một Excel Range đến một vị trí khác |
CopyFromRecordset | Sao chép dữ liệu từ recordset và dán vào một Excel Range |
Cut | Cắt Excel Range trong Worksheeet |
Delete | Để xóa một Range trong Worksheet |
Find | Để tìm kiếm và một Cell có dữ liệu cần thiết |
Insert | Để chèn một dãy các Cell, Row hoặc Column |
ListNames | Để liệt kê các Excel Range được đặt tên trong bảng tính |
Merge | Để hợp nhất Excel Range |
Paste | Để dán dữ liệu |
PasteSpecial | Để dán dữ liệu với các tiêu chí khác nhau, như các giá trị, các định dạng có hoạt động toán học hoặc chuyển đổi |
Phương thức Select
Một phương pháp quan trọng của đối tượng Range là phương thức Select. Phương thức Select được sử dụng để chọn một range.
Ví dụ:
Dim rangeObj As Range Set rangeObj = Range("A1:C4") rangeObj.SelectKết quả:
Lưu ý: Để chọn các ô trên một Worksheet khác, bạn phải kích hoạt Worksheet này trước. Ví dụ, các dòng code sau đây chọn ô B7 trên Worksheet thứ ba từ bên trái. Worksheets(3).Activate Worksheets(3).Range("B7").SelectPhương thức Copy/Paste
Phương thức Copy và Paste sử dụng để sao chép một dãy và dán nó vào một nơi khác trên Worksheet.
Ví dụ:
Range("A1:A2").Select Selection.Copy Range("C3").Select ActiveSheet.PasteKết quả:
Mặc dù phương thức Copy/Paste được cho phép sử dụng trong Excel VBA, nhưng tốt hơn là bạn sử dụng dòng code dưới đây thay vì đoạn code trên.
Range("C3:C4").Value = Range("A1:A2").Value ActiveSheet.PastePhương thức ClearContents
Phương thức ClearContents được sử dụng để chỉ xóa nội dung của một Excel Range.
Ví dụ:
Range("A1").ClearContentsHoặc đơn giản hơn bằng cách sử dụng code sau:
Range("A1").Value = ""Phương thức ClearFormats
Phương thức ClearFormats được sử dụng để chỉ xóa định dạng của một Excel Range.
Phương thức Clear
Phương thức Clear được sử dụng để xóa một Excel Range hoàn toàn bao gồm các định dạng và dữ liệu.
Phương thức Formula
Phương thức Formula được sử dụng để thêm công thức cho Excel Range.
Ví dụ:
Range("A1").Formula = "=Sum(B1:B5)"Các thuộc tính của đối tượng Range
Dưới đây là các thuộc tính được sử dụng thường xuyên của đối tượng Range trong VBA:
Phương thức | Mô tả |
---|---|
Rows | Thuộc tính Rows cho phép truy cập vào một hàng cụ thể của range. |
Columns | Thuộc tính Columns cho phép truy cập vào một cột cụ thể trong một range. |
Count | Được sử dụng để đếm số ô, hàng và cột của range. |
Thuộc tính Rows
Thuộc tính Rows cho phép truy cập vào một hàng cụ thể của range.
Ví dụ:
Dim rangeObj As Range Set rangeObj = Range("A1:C4") rangeObj.Rows(3).SelectKết quả:
Thuộc tính Columns
Thuộc tính Columns cho phép truy cập vào một cột cụ thể của range.
Ví dụ:
Dim rangeObj As Range Set rangeObj = Range("A1:C4") rangeObj.Columns(2).SelectKết quả:
Thuộc tính Count
Thuộc tính Count được sử dụng để đếm số ô, hàng và cột của range.
Ví dụ 1:
Dim rangeObj As Range Set rangeObj = Range("A1:C4") MsgBox rangeObj.CountKết quả:
Ví dụ 2:
Dim rangeObj As Range Set rangeObj = Range("A1:C4") MsgBox rangeObj.Rows.CountKết quả:
Xem thêm tại: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-object-excel
Đối tượng Worksheet trong Excel VBA Biến và kiểu dữ liệu trong VBATừ khóa » Visual Basic Excel Range Function
-
Range Object (Excel) | Microsoft Docs
-
Range.Formula Property (Excel) - Microsoft Docs
-
VBA Range - How To Use Range Function In Excel VBA?
-
Range Object In Excel VBA - Easy Dim And Set
-
Excel VBA Range Object - Guru99
-
Working With Range And Cells In VBA - Excel Champs
-
VBA Excel Range Tutorial - Visual Basic For Applications
-
Excel VBA Ranges And Cells
-
Excel VBA Range Object: 18 Useful Ways Of Referring To Cell Ranges
-
How To Use The Range Object Of VBA In Excel (5 Properties)
-
Understanding Excel Cells Vs. Range Functions In VBA - MakeUseOf
-
Đối Tượng Range Trong Excel VBA - Viblo
-
VBA Code - Excel Cells & Ranges
-
Using For Each In Excel Range - Code VBA