Phạm vi biến VBA | Ví dụ về phạm vi biến trong Excel VBA
Biến VBA trong Excel
Các biến là trái tim và linh hồn của bất kỳ dự án VBA lớn nào vì các biến là trái tim và linh hồn nên loại dữ liệu chúng ta gán cho chúng cũng là một yếu tố rất quan trọng trong vấn đề đó. Trong nhiều bài viết trước đây của chúng tôi, chúng tôi đã thảo luận rất nhiều lần về các biến và tầm quan trọng kiểu dữ liệu của chúng. Một trong những biến và kiểu dữ liệu như vậy là “Range Variable”, trong bài viết chuyên dụng đặc biệt này, chúng tôi sẽ cung cấp một hướng dẫn đầy đủ về “Range Variable” trong excel VBA.
Biến Phạm vi trong Excel VBA là gì?
Giống như mọi Phạm vi biến khác trong VBA, biến cũng là một biến nhưng nó là “Biến đối tượng” mà chúng tôi sử dụng để đặt tham chiếu của phạm vi ô cụ thể.
Giống như bất kỳ biến nào khác, chúng ta có thể đặt bất kỳ tên nào cho biến nhưng kiểu dữ liệu mà chúng ta gán cho chúng phải là “Phạm vi”. Khi kiểu dữ liệu được gán cho biến, nó trở thành “Biến đối tượng” và không giống như một biến khác, chúng ta không thể bắt đầu sử dụng biến trước khi đặt tham chiếu của các đối tượng trong trường hợp biến đối tượng.
Vì vậy, sau khi khai báo biến, chúng ta cần sử dụng từ khóa “SET” để thiết lập tham chiếu đối tượng tức là đối tượng Range trong trường hợp này.
Ok, bây giờ chúng ta sẽ xem một số ví dụ về Biến phạm vi VBA trong excel thực tế.
Ví dụ về biến phạm vi trong Excel VBA
Bạn có thể tải xuống Mẫu Excel phạm vi biến VBA này tại đây - Mẫu Excel phạm vi biến VBAVí dụ: giả sử bạn muốn chọn phạm vi ô từ A2 đến B10 cho hình ảnh chụp màn hình bên dưới.
Để chọn phạm vi ô đã đề cập này, tất cả những điều này trong khi chúng ta có đối tượng RANGE và bên trong đối tượng phạm vi, chúng tôi đã đề cập đến địa chỉ ô trong dấu ngoặc kép.
Mã:
Phạm vi phụ_Variable_Example () Phạm vi ("A2: B10") Kết thúc phụ
Khi phạm vi ô được đề cập bằng cách sử dụng đối tượng RANGE nếu bạn đặt dấu chấm, chúng tôi sẽ thấy tất cả các thuộc tính và phương thức được liên kết với đối tượng phạm vi này.
Mã:
Phạm vi phụ_Variable_Example () Phạm vi ("A2: B10"). Kết thúc Sub
Vì chúng ta cần chọn các ô được đề cập, đơn giản, hãy chọn phương pháp “Chọn” từ danh sách IntelliSense.
Mã:
Phạm vi phụ_Variable_Example () Phạm vi ("A2: B10"). Chọn Kết thúc phụ
Chạy mã và nó sẽ chọn các ô được đề cập.
Điều này là hiển nhiên phải không, nhưng hãy tưởng tượng kịch bản sử dụng cùng một phạm vi trong dự án VBA dài, giả sử hàng trăm lần, viết cùng một mã của “Phạm vi (“ A2: A10 ”)” 100 lần sẽ mất một thời gian nhưng thay vào đó chúng ta sẽ khai báo biến và gán kiểu dữ liệu là đối tượng "Phạm vi".
Được rồi, hãy đặt tên riêng của bạn cho một biến và gán kiểu dữ liệu là “Phạm vi”.
Ngoài "Biến đối tượng", chúng ta có thể bắt đầu sử dụng các biến theo tên của chúng nhưng trong trường hợp "Biến đối tượng", chúng ta cần đặt tham chiếu.
Ví dụ, trong trường hợp này, đối tượng biến (Rng) của chúng tôi là phạm vi, vì vậy chúng tôi cần đặt tham chiếu từ “Rng” sẽ tham chiếu đến. Để đặt tham chiếu, chúng tôi cần sử dụng từ khóa "Đặt".
Bây giờ biến “Rng” đề cập đến phạm vi ô từ A2 đến B10, thay vì viết “Phạm vi (“ A2: B10 ”))” mỗi khi chúng ta có thể chỉ cần viết từ “Rng” .
Trong dòng tiếp theo, hãy đề cập đến tên biến “Rng” và đặt một dấu chấm để thấy điều kỳ diệu.
Như bạn thấy ở trên, chúng ta có thể thấy tất cả các thuộc tính và phương thức của đối tượng phạm vi giống như phần trước.
Tạo biến động
Bây giờ chúng ta biết cách đặt tham chiếu đến phạm vi ô, nhưng khi chúng tôi đề cập đến phạm vi ô, nó chỉ dính vào các ô đó, bất kỳ việc thêm hoặc xóa ô nào sẽ không ảnh hưởng đến các ô đó.
Vì vậy, việc tìm kiếm phạm vi ô mới sau khi thêm hoặc xóa bất kỳ ô nào làm cho biến về bản chất là động. Điều này có thể thực hiện được bằng cách tìm hàng và cột được sử dụng cuối cùng.
Để tìm hàng và cột được sử dụng cuối cùng, chúng ta cần xác định thêm hai biến.
Mã:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Dòng cuối cùng để hiểu Dim LC As Long' LC = Cột cuối cùng để hiểu Kết thúc Sub
Bây giờ, mã bên dưới sẽ tìm thấy hàng & cột được sử dụng cuối cùng trước khi chúng tôi đặt tham chiếu cho một biến đối tượng phạm vi.
Mã:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Dòng cuối cùng để hiểu Dim LC As Long' LC = Cột cuối cùng để hiểu LR = Ô (Rows.Count, 1) .End (xlUp) .Row LC = Ô (1, Columns.Count) .End (xlToLeft) .Column End Sub
Bây giờ, hãy mở câu lệnh từ khóa “Đặt”.
Mã:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Dòng cuối cùng để hiểu Dim LC As Long' LC = Cột cuối cùng để hiểu LR = Ô (Rows.Count, 1) .End (xlUp) .Row LC = Ô (1, Columns.Count) .End (xlToLeft) .Column Set Rng = End Sub
Không giống như phương pháp trước, chúng tôi sử dụng thuộc tính VBA CELLS lần này.
Mã:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Dòng cuối cùng để hiểu Dim LC As Long' LC = Cột cuối cùng để hiểu LR = Ô (Rows.Count, 1) .End (xlUp) .Row LC = Ô (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) End Sub
Tôi đã đề cập đến Ô (1,1) tức là ô này đề cập đến ô đầu tiên trong trang tính đang hoạt động nhưng chúng tôi cần tham chiếu phạm vi dữ liệu vì vậy hãy sử dụng thuộc tính "RESIZE" và đề cập đến các biến "hàng & cột được sử dụng lần cuối".
Mã:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Dòng cuối cùng để hiểu Dim LC As Long' LC = Cột cuối cùng để hiểu LR = Ô (Rows.Count, 1) .End (xlUp) .Row LC = Ô (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) End Sub
Bây giờ, điều này sẽ đặt tham chiếu mới nhất cho biến đối tượng phạm vi “Rng”. Tiếp theo, đề cập đến tên biến và sử dụng phương pháp "Chọn".
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Dòng cuối cùng để hiểu Dim LC As Long' LC = Cột cuối cùng để hiểu LR = Ô (Rows.Count, 1) .End (xlUp) .Row LC = Ô (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) Rng.Chọn End Sub
Bây giờ tôi sẽ thêm một vài dòng nữa vào dữ liệu của mình.
Tôi đã thêm ba dòng dữ liệu bổ sung nếu tôi chạy mã bây giờ, nó sẽ chọn phạm vi dữ liệu mới nhất.
Những điều cần ghi nhớ
- Biến phạm vi trong excel VBA là một biến đối tượng.
- Bất cứ khi nào chúng ta sử dụng biến đối tượng, chúng ta cần sử dụng từ khóa “Set” và đặt tham chiếu đối tượng cho biến.
- Nếu không thiết lập tham chiếu, chúng ta không thể sử dụng một biến đối tượng.