Home > Excel > Excel VBA > ActiveCell và Selection: Lấy cell đang chọn trong VBA
Cần 2 bạn dịch bài về C#, Winform, .NET ... nói chung là viết bài về các công nghệ sử dụng code C#. Yêu cầu phải có kiến thức nên tảng lĩnh vực bạn chọn, nhuận bút 50k / bài. inbox mình nếu có nhu cầu nhé.

ActiveCell và Selection: Lấy cell đang chọn trong VBA

Trong bài này mình sẽ hướng dẫn cách lấy cell đang chọn trong VBA bằng cách sử dụng hai đối tượng ActiveCell và Selection trong VBA. Đây là thao tác thường sử dụng trong VBA vì nó giúp ta biết được ô tính nào đang ở trạng thái được chọn (selected).

Có hai trường hợp làm việc với vùng chọn, thứ nhất là lấy một ô đầu tiên và thứ hay là lấy tất cả các ô trong vùng chọn. Lưu ý rằng vùng chọn chính là vùng mà bạn đang chọn ở ngoài trang tính của Excel.

Trước tiên bạn hãy tạo một Command Button, sau đó chúng ta sẽ code VBA thực hành trên sự kiện click của button này nhé.

tao command button truoc JPG

1. ActiveCell : Lấy một ô Excel đang được chọn

Giả sử bạn có một vùng chọn như sau:

vung chon 1 JPG

Bạn muốn láy ô A1 bằng VBA code thì có thể sử dụng Range("A1"). Tuy nhiên, mình muốn ô A1 đó là linh động, nghĩa là khi ta di chuyển sang một vị trí khác thì code VBA vẫn lấy đúng ô đầu tiên đó.

Hoặc bạn muốn lấy một cell đang được chọn như sau:

vung chon 2 JPG

Rất đơn giản, bạn hãy sử dụng đối tượng ActiveCell, một thành phần con của Application.

Application.ActiveCell
' hoặc
ActiveCell

Ví dụ: Hãy code vào sự kiện click của button như sau.

Application.ActiveCell.Value = "Freetuts.net"
' hoặc
ActiveCell.Value = "Freetuts.net"

Lưu lại, ra ngoài click vào button thì bạn thu được kết quả như sau.

ket qua vung chon JPG

2. Selection: Lấy tất cả các ô tính của vùng chọn

Trường hợp bạn muốn lấy tất cả các ô trong vùng chọn thì sử dụng đối tượng Selection, một đối tượng con của Application.

Application.Selection
'hoặc
Selection 

Ví dụ: Gán giá trị freetuts.net cho tất cả những ô được chọn khi click vào button ở phần 1.

Bạn hãy sửa lại đoạn code trong sự kiện click thành:

Application.Selection.Value = "Freetuts.net"

Kết quả như sau:

ket qua nhieu vung chon JPG

Trên là hai thao tác với vùng chọn thường gặp nhất khi bạn lập trình với VBA, đó là lấy một ô tính đang chọn đầu tiên và lấy tất cả ô tính đang được chọn trong Excel bằng ngôn ngữ VBA.

-------------------#####-------------------

Khóa học Excel VBA:

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net.

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP