Giá trị ô VBA - Lấy, Đặt hoặc Thay đổi

Hướng dẫn này sẽ dạy bạn cách tương tác với Giá trị ô bằng VBA.

Đặt giá trị ô

Để đặt Giá trị ô, hãy sử dụng thuộc tính Giá trị của đối tượng Phạm vi hoặc Ô.

Range.Value & Cells.Value

Có hai cách để tham chiếu (các) ô trong VBA:

  • Đối tượng phạm vi - Phạm vi (“A2”). Giá trị
  • Đối tượng ô - Ô (2,1). Giá trị

Đối tượng Phạm vi cho phép bạn tham chiếu một ô bằng ký hiệu "A1" tiêu chuẩn.

Điều này sẽ đặt giá trị của phạm vi A2 = 1:

1 Phạm vi ("A2"). Giá trị = 1

Đối tượng Cells cho phép bạn tham chiếu đến một ô theo số hàng và số cột của nó.

Điều này sẽ đặt giá trị của dải ô A2 = 1:

1 Ô (2,1) .Value = 1

Lưu ý rằng bạn nhập số hàng trước:

1 Ô (Row_num, Col_num)

Đặt nhiều giá trị ô cùng một lúc

Thay vì tham chiếu đến một ô, bạn có thể tham chiếu một loạt các ô và thay đổi tất cả các giá trị của ô cùng một lúc:

1 Phạm vi ("A2: A5"). Giá trị = 1

Đặt giá trị ô - Văn bản

Trong các ví dụ trên, chúng tôi đặt giá trị ô bằng một số (1). Thay vào đó, bạn có thể đặt giá trị ô bằng một chuỗi văn bản. Trong VBA, tất cả văn bản phải được bao quanh bởi dấu ngoặc kép:

1 Phạm vi ("A2"). Giá trị = "Văn bản"

Nếu bạn không bao quanh văn bản bằng các trích dẫn, VBA sẽ nghĩ rằng bạn đang tham chiếu đến một biến…

Đặt giá trị ô - Biến

Bạn cũng có thể đặt giá trị ô bằng một biến

1234 Dim strText dưới dạng chuỗistrText = "Chuỗi văn bản"Phạm vi ("A2"). Giá trị = strText

Nhận giá trị ô

Bạn có thể nhận các giá trị ô bằng cách sử dụng cùng một thuộc tính Giá trị mà chúng tôi đã sử dụng ở trên.

Nhận giá trị ActiveCell

Để nhận giá trị ActiveCell và hiển thị nó trong hộp thông báo:

1 MsgBox ActiveCell.Value

Gán giá trị ô cho biến

Để nhận một giá trị ô và gán nó cho một biến:

123 Dim var as Variantvar = Range ("A1"). Giá trị

Ở đây chúng tôi đã sử dụng một biến kiểu Variant. Các biến biến thể có thể chấp nhận bất kỳ loại giá trị nào. Thay vào đó, bạn có thể sử dụng kiểu biến Chuỗi:

123 Dim var dưới dạng chuỗivar = Range ("A1"). Giá trị

Một kiểu biến Chuỗi sẽ chấp nhận các giá trị số, nhưng nó sẽ lưu trữ các số dưới dạng văn bản.

Nếu bạn biết giá trị ô của mình sẽ là số, bạn có thể sử dụng kiểu Biến kép (Biến kép có thể lưu trữ giá trị thập phân):

123 Dim var as Doublevar = Range ("A1"). Giá trị

Tuy nhiên, nếu bạn cố gắng lưu trữ giá trị ô chứa văn bản trong một biến kép, bạn sẽ nhận được lỗi không khớp kiểu:

Các ví dụ về giá trị ô khác

Sao chép giá trị ô

Thật dễ dàng để đặt một giá trị ô bằng một giá trị ô khác (hoặc “Sao chép” một giá trị ô):

1 Phạm vi ("A1"). Giá trị = Phạm vi ("B1"). Giá trị

Bạn thậm chí có thể làm điều này với các phạm vi ô (các phạm vi phải có cùng kích thước):

1 Phạm vi ("A1: A5"). Giá trị = Phạm vi ("B1: B5"). Giá trị

So sánh giá trị ô

Bạn có thể so sánh các giá trị ô bằng cách sử dụng các toán tử so sánh tiêu chuẩn.

Kiểm tra xem các giá trị ô có bằng nhau không:

1 MsgBox Range ("A1"). Value = Range ("B1"). Giá trị

Sẽ trả về TRUE nếu các giá trị ô bằng nhau. Ngược lại FALSE.

Bạn cũng có thể tạo Câu lệnh If để so sánh các giá trị ô:

12345678910111213 Nếu Phạm vi ("A1"). Giá trị> Phạm vi ("B1"). Giá trị ThìPhạm vi ("C1"). Giá trị = "Lớn hơn"Elseif Range ("A1"). Value = Range ("B1"). Giá trị Sau đóPhạm vi ("C1"). Giá trị = "Bằng"KhácPhạm vi ("C1"). Giá trị = "Nhỏ hơn"Kết thúc nếu

Bạn có thể so sánh văn bản theo cùng một cách (Hãy nhớ rằng VBA có Phân biệt chữ hoa chữ thường)

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave