Ô VBA Excel | Làm thế nào để sử dụng Thuộc tính Tham chiếu Ô với Đối tượng Phạm vi?
Các ô thực sự là các ô của trang tính và trong VBA khi chúng ta tham chiếu đến các ô như một thuộc tính phạm vi, chúng tôi thực sự đề cập đến các ô chính xác, nói cách khác, ô được sử dụng với thuộc tính phạm vi và phương pháp sử dụng thuộc tính ô như sau Phạm vi ( .Cells (1,1)) bây giờ là ô (1,1) có nghĩa là ô A1 đối số đầu tiên là hàng và thứ hai là tham chiếu cột.
Tham chiếu ô VBA
Bạn không cần bất kỳ giới thiệu đặc biệt nào về ô VBA là gì. Trong khái niệm VBA, các ô cũng giống nhau không khác gì các ô excel bình thường. Hãy theo dõi bài viết này để có thêm kiến thức về khái niệm ô VBA.
VBA Range & VBA Cell là gì?
Tôi chắc chắn rằng đây là câu hỏi đang chạy trong đầu bạn lúc này. Trong VBA Phạm vi là một đối tượng nhưng Ô là một thuộc tính trong một trang tính excel. Trong VBA, chúng ta có hai cách để tham chiếu đến một đối tượng ô, một là thông qua Range và một cách khác là thông qua Cell.
Ví dụ: nếu bạn muốn tham chiếu đến ô C5, bạn có thể sử dụng hai phương pháp để tham chiếu đến ô C5.
Sử dụng phương pháp phạm vi: Phạm vi (“C5”)
Sử dụng phương pháp tế bào: Tế bào (5, 3)
Tương tự, nếu bạn muốn chèn giá trị “Hi” vào ô C5 thì bạn có thể sử dụng đoạn mã dưới đây.
Sử dụng phương pháp phạm vi: Phạm vi (“C5”). Giá trị = “Chào”
Sử dụng phương pháp ô: Cells (5, 3) .Value = “Hi”
Bây giờ nếu bạn muốn chọn nhiều ô, chúng ta chỉ có thể chọn thông qua đối tượng Range. Ví dụ, nếu tôi muốn chọn các ô từ A1 đến A10 dưới đây là mã.
Mã: Phạm vi (“A1: A10”). Chọn
Nhưng thật không may, chúng tôi chỉ có thể tham chiếu một ô tại một thời điểm bằng cách sử dụng thuộc tính CELLS. Chúng ta có thể sử dụng Ô với đối tượng Phạm vi như bên dưới
Phạm vi (“A1: C10”). Các ô (5,2) có nghĩa là trong phạm vi A1 đến C10 hàng thứ năm và cột thứ hai tức là ô B5.
Công thức của thuộc tính CELLS trong VBA
Hãy xem công thức của thuộc tính CELLS.
- Chỉ mục hàng: Đây không là gì ngoài hàng mà chúng tôi đang tham chiếu.
- Chỉ mục cột: Đây không phải là cột mà chúng tôi đang tham chiếu.
- Ô (1, 1) có nghĩa là ô A1, Ô (2, 1) có nghĩa là ô A2, Ô (1, 2) có nghĩa là ô B1.
- Ô (2, 2) có nghĩa là ô B2, Ô (10, 3) có nghĩa là ô C10, Ô (15, 5) có nghĩa là ô E15.
# 1 - Cách sử dụng Thuộc tính CELLS trong VBA?
Bây giờ tôi sẽ dạy bạn cách sử dụng các thuộc tính CELLS này trong VBA.
Bạn có thể tải xuống Mẫu Excel Ô VBA này tại đây - Mẫu Excel Ô VBAGiả sử bạn đang làm việc với tên trang tính là Dữ liệu 1 và bạn muốn chèn giá trị “Xin chào” vào ô A1.
Đoạn mã dưới đây sẽ làm điều đó cho bạn.
Sub Cells_Example () Cells (1, 1) .Value = "Hello" End Sub
Kết quả:
Bây giờ tôi sẽ chuyển đến tên trang tính có tên là Dữ liệu 2 và sẽ chạy mã. Thậm chí ở đó nó sẽ chèn từ “Xin chào”.
Trên thực tế, chúng tôi cũng có thể kết hợp thuộc tính CELLS với một tên trang tính cụ thể. Để tham chiếu một trang tính cụ thể, hãy sử dụng đối tượng WORKSHEET.
Trang tính (“Dữ liệu 1”). Ô (1,1) .Value = “Xin chào”
Thao tác này sẽ chèn từ “Xin chào” vào trang tính “Dữ liệu 1” bất kể bạn đang ở trang tính nào.
# 2 - Làm thế nào để Sử dụng Thuộc tính CELLS với Đối tượng Phạm vi?
Trên thực tế, chúng ta có thể sử dụng thuộc tính CELLS với đối tượng RANGE. Ví dụ, hãy xem đoạn mã dưới đây.
Phạm vi ("C2: E8"). Các ô (1, 1). Chọn
Để hiểu rõ hơn, tôi đã nhập một vài số vào bảng excel.
Phạm vi mã ở trên (“C2: E8”). Các ô (1, 1). Chọn cho biết trong phạm vi C2 đến E8, hãy chọn ô đầu tiên. Chạy mã này và xem điều gì sẽ xảy ra.
Các ô con_Ví dụ () Phạm vi ("C2: E8"). Các ô (1, 1). Chọn Kết thúc Sub
Nó đã chọn ô C2. Nhưng Ô (1, 1) có nghĩa là ô A1, phải không?
Lý do nó đã chọn ô C2 vì sử dụng đối tượng phạm vi, chúng tôi đã nhấn mạnh vào phạm vi là C2 đến E8, vì vậy thuộc tính Cells xử lý phạm vi từ C2 đến E8, không phải từ ô A1 thông thường. Trong ví dụ này, C2 là hàng đầu tiên và cột đầu tiên, vì vậy Ô (1, 1) .select có nghĩa là ô C2.
Bây giờ tôi sẽ thay đổi mã thành Phạm vi (“C2: E8”). Các ô (3, 2). Chọn và xem điều gì sẽ xảy ra.
Chạy mã này và kiểm tra xem ô nào thực sự sẽ chọn.
Các ô con_Ví dụ () Phạm vi ("C2: E8"). Các ô (3, 2). Chọn End Sub
Nó đã chọn ô D4 tức là Không 26. Các ô (3,2) có nghĩa là bắt đầu từ ô C2 di chuyển xuống 3 hàng và di chuyển 2 cột sang bên phải tức là ô D4.
# 3 - Thuộc tính ô có vòng lặp
Thuộc tính CELLS với các vòng lặp có mối quan hệ rất tốt trong VBA. Hãy xem ví dụ về cách chèn số sê-ri từ 1 đến 10 bằng FOR LOOP. Sao chép và dán mã dưới đây vào mô-đun của bạn.
Sub Cells_Example () Dim i As Integer For i = 1 To 10 Cells (i, 1) .Value = i Next i End Sub
Ở đây tôi đã khai báo biến I là một số nguyên.
Sau đó, tôi đã áp dụng FOR LOOP với I = 1 đến 10 tức là vòng lặp cần chạy trong 10 lần.
Các ô (i, 1) .value = i
Điều này có nghĩa là khi vòng lặp chạy lần đầu, giá trị của “I” sẽ là 1, vì vậy bất cứ nơi nào giá trị của “I” là 1 tức là Ô (1,1) .value =
Khi vòng lặp trả về giá trị của “I” lần thứ hai, nó là 2, vì vậy dù giá trị của “I” là 2. i .e. Ô (2,1) .value = 2
Vòng lặp này sẽ chạy trong 10 lần và chèn giá trị I từ A1 đến A10.
Những điều cần nhớ trong ô VBA
- CELLS là tài sản nhưng RANGE là một đối tượng. Chúng ta có thể sử dụng property với object nhưng không object với property.
- Khi phạm vi được cung cấp, các ô sẽ chỉ xem xét phạm vi đó, không phải phạm vi thông thường.
- Ô (1, 2) là ô B1, tương tự Ô (1, ”B”) cũng là ô B1.