Hướng dẫn cách lấy giá trị bên trong một ô bằng cách viết code với Range hoặc Cells

Nội dung được viết bởi Bến Hà Trương

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.

Hướng dẫn sử dụng hàm CELLS và RANGCE để lấy giá trị ô VBA trong Excel

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”).VALUE

Vớ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é:

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.

Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel

Bước 2: Viết sub procedure  của VBA Lấy giá trị ô. Với code như sau:

Sub VBA_GetCellValue1()
End Sub

Bướ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 Sub
Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel

 

Bướ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. 

Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel

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 Sub

 

Bướ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 Sub

Bướ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.

Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong ExcelHướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel
 

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 Sub
Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel

Ví 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 Sub

Bướ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 Sub

Bướ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 Sub

Bướ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 Sub
Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel

Bướ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.

Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel

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 Sub

Ví 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 Sub

Bướ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 Sub

Bước 3: Chạy mã để xem kết quả. Giá trị từ ô B2 sẽ được chuyển sang ô A1.

Hướng dẫn sử dụng hàm CELLS và RANGE để lấy giá trị ô VBA trong Excel

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á.

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

5/5 - (1 bình chọn)

5/5 - (1 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông