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 pháp 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ẽ cung cấp cho chúng ta giá trị của các ô A2.

Có thể là 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 ô nên tất cả đều tổng hợp lại mức độ chúng ta biết về các ô trong VBA. Vì vậy, nếu ô 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 sử dụng ô VBA thì bài viết này sẽ hướng dẫn bạn cách lấy Giá trị ô trong Excel VBA một cách 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ề Lấy giá trị ô trong Excel VBA

Dưới đây là các ví dụ về Lấy giá trị ô trong Excel VBA.

Bạn có thể tải xuống Mẫu Excel lấy giá trị ô VBA này tại đây - Mẫu Excel lấy giá trị ô 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, hãy xem chi tiết cả hai.

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

Đầu tiên, hãy bắt đầu quy trình 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 tại thời điểm chúng tôi đặt dấu chấm, chúng tôi có thể thấy tất cả danh sách intellisense có sẵn của các thuộc tính và phương thức của đối tượng phạm vi.

Vì chúng ta đang chọn ô, chúng ta 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ờ hãy chọn ô khác với A1 và chạy mã.

Không quan trọng bạn đã chọn ô nào tại 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 như vậy.

Đối số đầu tiên của thuộc tính này là "Row Index" 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 ta không thể thấy bất kỳ danh sách IntelliSense nào, vì vậy chúng ta cần hoàn toàn chắc chắn về những gì chúng ta đang viết. Nhập "Chọn" làm phương thức.

Mã:

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

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

Ví dụ # 2 - Lấy 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ọn ô, chúng ta cần xác định biến để lưu giá trị từ ô đó.

Mã:

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

Bây giờ hãy đề 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 sử dụng đối tượng RANGE chỉ 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 đặt dấu chấm để xem danh sách intellisense.

Từ danh sách intellisense vba, chọn thuộc tính "Giá trị" để lấy 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 một hộp thông báo.

Vì có giá trị “INDIA” trong ô A1 nên đ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 ta biết cách lấy giá trị từ ô bằng vba, bây giờ câu hỏi đặt ra 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ị của “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ị “INDIA” vào ô A1, tương tự để lấy giá trị từ ô này sang ô khác, chúng ta có thể viết 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ì đoạn 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 ô.

$config[zx-auto] not found$config[zx-overlay] not found