Nhận giá trị ô trong Excel VBA (Ví dụ từng bước)

Nhận giá trị ô với Excel VBA

Ô là một ô riêng lẻ và cũng là một phần của phạm vi, về mặt kỹ thuật có hai phương pháp để tương tác với một ô trong VBA và chúng là phương thức phạm vi và phương pháp ô, phương pháp phạm vi được sử dụng giống như phạm vi (“A2”) .Value sẽ cung cấp cho chúng ta giá trị của ô A2 hoặc chúng ta có thể sử dụng phương thức ô là các ô (2,1) .value cũng sẽ cho chúng ta giá trị của các ô A2.

Cho dù nó hoạt động excel hay VBA hoạt động, tất cả chúng ta đều cần làm việc với ô hoặc các ô vì tất cả dữ liệu sẽ được lưu trữ trong các ô, vì vậy tất cả đều tóm tắt về mức độ chúng ta biết về các ô trong VBA. Vì vậy, nếu các ô là một phần quan trọng như vậy của VBA, thì điều quan trọng là phải hiểu rõ về chúng và nếu bạn là người mới bắt đầu liên quan đến các ô VBA, thì bài viết này sẽ hướng dẫn bạn cách lấy Giá trị Ô trong Excel VBA trong chi tiết.

Điều đầu tiên, chúng ta có thể tham chiếu hoặc làm việc với các ô trong VBA theo hai cách, tức là bằng cách sử dụng thuộc tính CELLS và đối tượng RANGE. Tại sao CELLS là một thuộc tính và tại sao RANGE là một đối tượng là một sự tương tự khác nhau, và ở phần sau của bài viết, chúng ta sẽ đi đến điểm đó.

Ví dụ về nhận Giá trị ô trong Excel VBA

Dưới đây là các ví dụ về nhận Giá trị ô trong Excel VBA.

Ví dụ # 1 - Sử dụng Thuộc tính RANGE hoặc CELLS

Ví dụ: trong ô A1, chúng tôi có giá trị là “Ấn Độ”.

Để tham chiếu ô này, chúng ta có thể sử dụng thuộc tính CELLS hoặc đối tượng RANGE. Chúng ta hãy xem cả hai chi tiết.

Sử dụng Thuộc tính Phạm vi

Đầu tiên, bắt đầu thủ tục macro.

Mã:

Sub Get_Cell_Value () End Sub

Bây giờ mở đối tượng RANGE.

Mã:

Phạm vi Sub Get_Cell_Value () (End Sub

Đối số đầu tiên của đối tượng này là "Cell1", tức là ô mà chúng ta đang đề cập đến. Trong trường hợp này, đó là ô A1, vì vậy chúng ta cần cung cấp địa chỉ ô trong dấu ngoặc kép cho đối tượng RANGE.

Mã:

Sub Get_Cell_Value () Range ("A1") End Sub

Vì chỉ một ô tham chiếu đến các tham số khác là không liên quan, vì vậy hãy đóng dấu ngoặc và đặt dấu chấm để xem danh sách IntelliSense.

Như bạn có thể thấy ở trên, thời điểm chúng ta đặt dấu chấm, chúng ta có thể thấy tất cả danh sách các thuộc tính và phương thức IntelliSense có sẵn của đối tượng phạm vi.

Vì chúng tôi đang chọn ô, chúng tôi cần chọn phương thức “CHỌN” từ danh sách IntelliSense.

Mã:

Sub Get_Cell_Value () Range ("A1"). Chọn End Sub

Bây giờ chọn ô khác với A1 và chạy mã.

Không quan trọng bạn đã chọn ô nào vào thời điểm bạn chạy mã. Nó đã chọn ô được đề cập tức là ô A1.

Sử dụng Thuộc tính Ô

Tương tự, chúng tôi sử dụng thuộc tính CELLS bây giờ.

Mã:

Sub Get_Cell_Value () Range ("A1"). Chọn ô (End Sub

Điều này không giống như đối tượng RANGE nơi chúng ta có thể cung cấp trực tiếp địa chỉ ô nhưng sử dụng thuộc tính CELLS này, chúng ta không thể làm điều đó.

Đối số đầu tiên của thuộc tính này là “Chỉ số hàng”, tức là hàng mà chúng tôi đang đề cập đến. Vì chúng tôi đang chọn ô A1, chúng tôi đang đề cập đến hàng đầu tiên, vì vậy hãy đề cập đến 1.

Đối số tiếp theo là "Chỉ mục cột", tức là cột mà chúng tôi đang đề cập đến. Cột ô A1 là cột đầu tiên, vì vậy hãy nhập 1.

Mã của chúng tôi đọc CELLS (1, 1) tức là hàng đầu tiên cột đầu tiên = A1.

Bây giờ hãy đặt một dấu chấm và xem liệu bạn có thể xem danh sách IntelliSense hay không.

Với thuộc tính CELLS, chúng tôi không thể thấy bất kỳ danh sách IntelliSense nào, vì vậy chúng tôi cần hoàn toàn chắc chắn về những gì chúng tôi đang viết. Nhập "Chọn" làm phương thức.

Mã:

Sub Get_Cell_Value () Range ("A1"). Chọn các ô (1, 1). Chọn End Sub

Thao tác này cũng sẽ chọn ô A1.

Ví dụ # 2 - Nhận giá trị từ ô trong Excel VBA

Chọn là điều đầu tiên chúng ta đã học, bây giờ chúng ta sẽ xem cách lấy giá trị từ các ô. Trước khi chúng ta chọn ô, chúng ta cần xác định biến để lưu trữ giá trị từ ô.

Mã:

Sub Get_Cell_Value1 () Dim CellValue làm chuỗi kết thúc Sub

Bây giờ đề cập đến địa chỉ ô bằng cách sử dụng đối tượng RANGE hoặc thuộc tính CELLS. Vì bạn là người mới bắt đầu, hãy chỉ sử dụng đối tượng RANGE vì với đối tượng RANGE, chúng ta có thể xem danh sách IntelliSense.

Đối với biến đã xác định, hãy đặt một dấu bằng và đề cập đến địa chỉ ô.

Mã:

Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1") End Sub

Một lần nữa, hãy đặt một dấu chấm để xem danh sách IntelliSense.

Từ danh sách VBA IntelliSense, chọn thuộc tính "Giá trị" để nhận giá trị từ ô được đề cập.

Mã:

Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Giá trị End Sub

Bây giờ biến “CellValue” giữ giá trị từ ô A1. Hiển thị giá trị biến này trong hộp thông báo trong VBA.

Mã:

Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Giá trị MsgBox CellValue End Sub

Ok, chạy mã và xem kết quả trong hộp thông báo.

Vì có một giá trị “INDIA” trong ô A1, điều tương tự cũng xuất hiện trong hộp thông báo. Như thế này, bằng giá trị VBA của ô, chúng ta có thể nhận được giá trị của ô.

Ví dụ # 3 - Nhận giá trị từ ô này sang ô khác

Chúng tôi biết cách lấy giá trị từ ô bằng VBA. Bây giờ câu hỏi là làm thế nào để chèn giá trị vào ô. Hãy lấy cùng một ví dụ. Đối với ô A1, chúng ta cần chèn giá trị "INDIA" và điều này có thể được thực hiện từ đoạn mã dưới đây.

Mã:

Sub Get_Cell_Value2 () Range ("A1"). Value = "INDIA" End Sub

Thao tác này sẽ chèn giá trị của "INDIA" vào ô A1. Tương tự, để lấy giá trị từ ô này sang ô khác, chúng ta có thể viết đoạn mã như bên dưới.

Mã:

Sub Get_Cell_Value2 () Range ("A5"). Value = Range ("A1"). Giá trị End Sub

Hãy để tôi giải thích mã cho bạn.

“Đối với ô A5, chúng tôi cần giá trị từ giá trị ô A1”, đó là tất cả những gì mã này nói. Vì vậy, điều này sẽ nhận giá trị từ ô A1 đến A5 bằng cách sử dụng mã VBA.

Những điều cần ghi nhớ

  • Việc chèn giá trị vào ô và nhận giá trị từ ô yêu cầu phải sử dụng thuộc tính VBA “VALUE”.
  • Sử dụng thuộc tính CELLS, chúng ta chỉ có thể chọn một ô nhưng sử dụng đối tượng RANGE. Chúng ta có thể chọn nhiều ô.

thú vị bài viết...