Hướng Dẫn Sử Dụng Hàm CELLS Và RANGE để Lấy Giá Trị ô VBA ...
Có thể bạn quan tâm
Trong VBA có nhiều cách khác nhau để lấy các giá trị ô. Trong bài viết này chúng ta sẽ cùng tìm hiểu cách lấy giá trị bên trong một ô bằng cách viết code với Range hoặc Cells. Đây là một trong những cú pháp cơ bản và đơn giản nhất mà tất cả chúng ta nên biết cách sử dụng.
XEM NHANH BÀI VIẾT
- 1 Cú pháp hàm CELLS và Range để lấy giá trị ô
- 2 Code VBA lấy giá trị bên trong ô
Cú pháp hàm CELLS và Range để lấy giá trị ô
Cú pháp hàm CELLS vô cùng đơn giản, chỉ yêu cầu tọa độ chỉ số Hàng và chỉ số Cột, để xác định vị trí của ô
Cells([RowIndex], [ColumnIndex])Cú pháp hàm RANGE cũng đơn giản không kém.
RANGE(“cell position”).VALUEVới cell position là vị trí ô hoặc phạm vi ô.
Để biết thêm các hàm và phương thức VBA hữu ích khác, hãy tham khảo các khóa học lập trình VBA trong Excel của Gitiho để tự động hóa thao tác và nghiệp vụ trên Excel, tiết kiệm hàng giờ mệt mỏi vì làm báo cáo, quản lý dữ liệu nhé:
VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA
G-LEARNING 499,000đ 799,000đ Đăng ký Học thử VBAG03 (Nâng cao) - Code mẫu và các chuyên đề ứng dụng VBA
G-LEARNING 499,000đ 899,000đ Đăng ký Học thử
Code VBA lấy giá trị bên trong ô
Để hiểu thêm về các sử dụng hàm CELLS và RANGE lấy giá trị ô trong VBA Excel, hãy quan sát các ví dụ bên dưới
Ví dụ 1: Lấy giá trị ô vào một hộp thông báo với hàm CELLS
Giả sử chúng ta có ô B2 với nội dung ô là “TEST”. Để lấy được giá trị ô này và xuất nó trong một hộp thông báo, hãy làm theo các bước dưới đây:
Bước 1: Chèn một module mới bên trong Visual Basic Editor (VBE). Bấm vào tab Insert > chọn Module.
Bước 2: Viết sub procedure của VBA Lấy giá trị ô. Với code như sau:
Sub VBA_GetCellValue1() End SubBước 3: Bây giờ trực tiếp sử dụng các hộp thông báo (hàm MsgBox) với hàm CELLS sử dụng toạn độ của ô B2 như đoạn code bên dưới
MsgBox Cells (2, 2) End SubBước 4: Chạy mã bằng cách nhấn F5 hoặc Nút Play bên dưới thanh menu. Chúng ta sẽ thấy thông báo lấy giá trị từ ô B2 như hình dưới đây.
Ví dụ 2: Di chuyển con trỏ đến ô chứa giá trị với Range và Select
Bây giờ, chúng ta hãy xem thêm một đoạn mã lấy giá trị ô đơn giản khác. Chúng tôi sẽ sử dụng cùng một ô B2 như được sử dụng trong ví dụ-1. Nhưng, trong ví dụ này, chúng ta sẽ di chuyển con trỏ đến ô cần chứa giá trị. Hãy làm theo các bước dưới đây:
Bước 1: Một lần nữa, hãy mở một mô-đun mới và viết sub procedure cho VBA lấy giá trị ô như đoạn code sau
Sub VBA_GetCellValue2 () End SubBước 2: Bây giờ sử dụng hàm Range và Select để di chuyển con trỏ.
Sub VBA_GetCellValue2() Range("B2").Select End SubBước 3: Bây giờ di chuyển con trỏ ra khỏi ô B2 và sau đó chạy mã, chúng ta sẽ thấy con trỏ bây giờ được di chuyển trở lại ô B2.
Bước 4: Như vậy chúng ta đã biết cách chọn một ô theo giá trị. Có một cách khác để thực hiện thao tác này. Chúng ta sẽ sử dụng hàm CELLS và đặt cùng tọa độ như được sử dụng trong ví dụ 1. Các bước thực hiện tương tự như cách chúng ta sử dụng hàm CELLS.
Sub VBA_GetCellValue2() Cells(2, 2).Select End SubVí dụ 3: Lấy giá trị ô với hàm Range("cell position").Value
Trong ví dụ này, chúng ta sẽ thấy cách lấy giá trị ô trong hộp thông báo bằng một phương thức khác. Hãy thử các thao tác bên dưới.
Bước 1: Hãy mở Module và viết sub procedure sau:
Sub VBA_GetCellValue3() End SubBước 2: Sau đó xác định một biến là chuối bằng cách sử dụng DIM
Sub VBA_GetCellValue3() Dim Value As String End SubBước 3: Sử dụng biến VALUE đã xác định, chọn giá trị từ ô phạm vi B2.
Sub VBA_GetCellValue3() Dim Value As String Value = Range("B2").Value End SubBước 4: Sử dụng hộp thông báo để xem giá trị được lưu trong ô B2.
Sub VBA_GetCellValue3() Dim Value As String Value = Range("B2").Value MsgBox Value End SubBước 5: Khi chúng ta Chạy mã bằng cách nhấn F5 hoặc Nút Play bên dưới thanh menu, chúng ta sẽ nhận được hộp thông báo có giá trị là TEST nằm ở ô B2.
Bước 6: Code tương tự, có thể được sử dụng nếu chúng ta chọn kiểu dữ liệu là VARIANT thay vì STRING. VARIANT trong VBA cho phép cả số và văn bản.
Sub VBA_GetCellValue3() Dim Value As Variant Value = Range("B2").Value MsgBox Value End SubVí dụ 4: Chuyển giá trị từ ô nay sang ô khác
Có một cách khác để sử dụng các hàm lấy giá trị ô trong VBA, đó là chuyển giá trị ô từ ô này sang ô khác. Với các bước đơn giản như sau:
Bước 1: Mở một module mới và chọn phạm vi ô dể tạo lệnh. Giả sử chúng ta muốn sử dụng cùng một phạm vi ô B2 trong các ví dụ trên.
Sub VBA_GetCellValue4() Range("B2").Value End SubBước 2: Bây giờ chọn ô mà chúng ta muốn đặt giá trị. Ví dụ như A1
Sub VBA_GetCellValue4() Range("B2").Value = Range("A1").Value End SubBước 3: Chạy mã để xem kết quả. Giá trị từ ô B2 sẽ được chuyển sang ô A1.
Lấy giá trị ô trong VBA là thao tác cơ bản, giúp bạn có thể dễ dàng lấy giá trị ô từ mọi nơi. Ghi nhớ các hàm này, bạn sẽ dễ dàng sao chép hoặc di chuyển giá trị ô hoặc con trỏ đến bất kỳ nơi nào bạn muốn.
Những điều cần ghi nhớ
- Hàm CELLS dễ dàng thực hiện bằng cách đặt tọa độ ROW và COLUMN tương ứng.
- Các ví dụ lấy giá trị ô VBA ở trên, giúp chúng ta chọn giá trị ô hoặc đưa con trỏ đến vị trí mong muốn.
- Các thao tác lấy giá trị ô riêng lẻ có thể không hữu ích nhiều nhưng chúng ta có thể sử dụng thao tác này với các loại mã khác nhau để nhận được kết quả có giá trị.
- Sau khi viết code xong, hãy nhớ lưu mã ở định dạng Macro Enable excel để tránh mất mã.
- Bạn có thể lấy giá trị ô trong VBA với hàm CELLS và với hàm RANGE.
Hy vọng hướng dẫn này đã giúp bạn hiểu cách lấy giá trị ô với VBA trong Excel. Bên cạnh đó, đừng quên tham gia Gitiho ngay hôm nay nhé, chúng tôi còn nhiều mẹo và thủ thuật tin học văn phòng thú vị khác chờ bạn khám phá.
Từ khóa » Visual Basic Excel Range Cells
-
Range.Cells Property (Excel) - Microsoft Docs
-
Range Object (Excel) | Microsoft Docs
-
Excel VBA Ranges And Cells
-
Đối Tượng Range Trong Excel VBA - Viblo
-
VBA Code - Excel Cells & Ranges
-
The Complete Guide To Ranges And Cells In Excel VBA
-
Range Object In Excel VBA - Easy Dim And Set
-
VBA Cells Excel | How To Use Cell Reference Property With Range ...
-
Understanding Excel Cells Vs. Range Functions In VBA - MakeUseOf
-
Excel VBA Range Object: 18 Useful Ways Of Referring To Cell Ranges
-
Using For Each In Excel Range - Code VBA
-
Working With Range And Cells In VBA - Excel Champs
-
Working With Cells And Ranges In Excel VBA (Select, Copy, Move ...