ActiveCell Và Selection: Lấy Cell đang Chọn Trong VBA - Freetuts

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).

test php

banquyen pngBài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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:

Bài viết này được đăng tại [free tuts .net]

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.

Từ khóa » Gán Giá Trị Cho Cell Trong Vba