Phạm vi lựa chọn VBA - Làm thế nào để chọn một phạm vi trong Excel VBA?

Phạm vi lựa chọn VBA trong Excel

Sau khi các nội dung cơ bản với VBA, điều quan trọng là phải hiểu cách làm việc với một loạt các ô trong trang tính. Một khi bạn bắt đầu thực thi các mã hầu hết thời gian, bạn cần phải làm việc với một dải ô, vì vậy điều quan trọng là phải hiểu cách làm việc với một dải ô và một khái niệm như vậy là VBA “Lựa chọn dải ô”. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách làm việc với “Phạm vi lựa chọn” trong Excel VBA.

Lựa chọn và Phạm vi là hai chủ đề khác nhau, nhưng khi chúng ta nói để chọn phạm vi hoặc lựa chọn phạm vi, nó là một khái niệm duy nhất. RANGE là một đối tượng, “Selection” là một thuộc tính và “Select” là một phương thức. Mọi người có xu hướng nhầm lẫn với các thuật ngữ này. Điều quan trọng là phải biết sự khác biệt nói chung.

Làm thế nào để chọn một phạm vi trong Excel VBA?

Ví dụ 1

Ví dụ: giả sử bạn muốn chọn ô A1 trong trang tính sau đó. Đầu tiên, chúng ta cần xác định địa chỉ ô bằng cách sử dụng một đối tượng RANGE như bên dưới.

Mã:

Sau khi đề cập đến ô mà chúng ta cần chọn, hãy đặt một dấu chấm để xem danh sách IntelliSense, được liên kết với đối tượng RANGE.

Tạo thành nhiều danh sách này, chọn phương pháp "Chọn".

Mã:

Phạm vi phụ_Ví dụ1 () Phạm vi ("A1"). Chọn Kết thúc phụ

Bây giờ, mã này sẽ chọn ô A1 trong trang tính đang hoạt động.

Nếu bạn muốn chọn ô trong các trang tính khác nhau, thì trước tiên chúng ta cần chỉ định trang tính theo tên của nó. Để chỉ định trang tính, chúng ta cần sử dụng đối tượng "WORKSHEET" và nhập tên trang tính trong dấu ngoặc kép.

Ví dụ: nếu bạn muốn chọn ô A1 trong trang tính “Bảng dữ liệu”, thì trước tiên hãy chỉ định trang tính giống như bên dưới.

Mã:

Sub Range_Example1 () Worksheets ("Bảng dữ liệu") End Sub

Sau đó, tiếp tục mã để chỉ định những gì chúng ta cần làm trong trang tính này. Trong “Bảng dữ liệu”, chúng ta cần chọn ô A1, vì vậy mã sẽ là RANGE (“A1”). Hãy chọn.

Mã:

Sub Range_Example1 () Worksheets ("Data Sheet"). Range ("A1"). Chọn End Sub

Khi bạn cố gắng thực thi mã này, chúng tôi sẽ gặp lỗi bên dưới.

Lý do cho điều này là "chúng tôi không thể cung cấp trực tiếp đối tượng phạm vi và phương thức chọn cho đối tượng trang tính."

Đầu tiên, chúng ta cần chọn hoặc kích hoạt bảng tính VBA, sau đó chúng ta có thể làm bất cứ điều gì chúng ta muốn làm.

Mã:

Sub Range_Example1 () Worksheets ("Data Sheet"). Kích hoạt Range ("A1"). Chọn End Sub

Bây giờ, điều này sẽ chọn ô A1 trong trang tính “Bảng dữ liệu”.

Ví dụ # 2 - Làm việc với Phạm vi đã Chọn Hiện tại

Chọn là một việc khác và làm việc với một phạm vi ô đã được chọn cũng khác. Giả sử bạn muốn chèn một giá trị “Hello VBA” vào ô A1 thì chúng ta có thể thực hiện theo hai cách.

Đầu tiên, chúng ta có thể chuyển trực tiếp mã VBA dưới dạng RANGE (“A1”). Giá trị = “Xin chào, VBA.”

Mã:

Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub

Những gì mã này sẽ làm là điều này sẽ chỉ chèn giá trị “Hello VBA” vào ô A1 bất kể ô nào hiện đang được chọn.

Nhìn vào kết quả trên của đoạn mã. Khi chúng tôi thực thi mã này, nó đã chèn giá trị “Xin chào VBA”, mặc dù ô hiện đang được chọn là B2.

Thứ hai, chúng ta có thể chèn giá trị vào ô bằng cách sử dụng thuộc tính "Selection". Đối với điều này trước tiên, chúng ta cần chọn ô theo cách thủ công và thực thi mã.

Mã:

Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub

Những gì mã này sẽ làm là nó sẽ chèn giá trị “Hello VBA” vào ô hiện đang được chọn. Ví dụ, hãy xem ví dụ dưới đây về việc thực thi.

Khi tôi thực thi mã, ô được chọn hiện tại của tôi là B2 và mã của chúng tôi đã chèn cùng một giá trị vào ô hiện được chọn.

Bây giờ tôi sẽ chọn ô B3 và thực thi, cũng ở đó, chúng ta sẽ nhận được cùng một giá trị.

Một điều nữa mà chúng ta có thể làm với thuộc tính “selection” là chúng ta cũng có thể chèn giá trị vào nhiều ô. Ví dụ, tôi sẽ chọn phạm vi ô từ A1 đến B5 bây giờ.

Bây giờ, nếu tôi thực thi mã, đối với tất cả các ô đã chọn, chúng tôi sẽ nhận được giá trị là “Xin chào VBA”.

Vì vậy, sự khác biệt đơn giản giữa việc chỉ định địa chỉ ô theo đối tượng RANGE và thuộc tính Selection là, trong mã đối tượng Range sẽ chèn giá trị vào các ô được chỉ định rõ ràng.

Nhưng trong đối tượng Selection, không quan trọng bạn đang ở ô nào. Nó sẽ chèn giá trị được đề cập vào tất cả các ô đã chọn.

Những điều cần nhớ ở đây

  • Chúng tôi không thể cung cấp trực tiếp phương thức chọn trong thuộc tính Lựa chọn.
  • RANGE là một đối tượng và lựa chọn là thuộc tính.
  • Thay vì phạm vi, chúng ta có thể sử dụng thuộc tính CELLS.

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