- Chọn một ô duy nhất bằng VBA
- Chọn một dải ô bằng VBA
- Chọn một dải ô không liền kề bằng VBA
- Chọn tất cả các ô trong một trang tính
- Chọn một hàng
- Chọn một cột
- Chọn ô không trống cuối cùng trong một cột
- Chọn ô không trống cuối cùng trong một hàng
- Chọn khu vực hiện tại trong VBA
- Chọn một ô có liên quan đến một ô khác
- Chọn một Dải ô được Đặt tên trong Excel
- Chọn một ô trên một trang tính khác
- Thao tác với đối tượng lựa chọn trong VBA
- Sử dụng With… End With Construct
VBA cho phép bạn chọn một ô, phạm vi ô hoặc tất cả các ô trong trang tính. Bạn có thể thao tác với ô hoặc dải ô đã chọn bằng Đối tượng Lựa chọn.
Chọn một ô duy nhất bằng VBA
Bạn có thể chọn một ô trong trang tính bằng phương pháp Chọn. Đoạn mã sau sẽ chọn ô A2 trong ActiveWorksheet:
1 | Phạm vi ("A2"). Chọn |
Hoặc
1 | Ô (2, 1). Chọn |
Kết quả là:
Chọn một dải ô bằng VBA
Bạn có thể chọn một nhóm ô trong trang tính bằng cách sử dụng phương pháp Chọn và đối tượng Phạm vi. Đoạn mã sau sẽ chọn A1: C5:
1 | Phạm vi ("A1: C5"). Chọn |
Chọn một dải ô không liền kề bằng VBA
Bạn có thể chọn các ô hoặc dải ô không cạnh nhau bằng cách tách các ô hoặc dải ô bằng dấu phẩy trong VBA. Đoạn mã sau sẽ cho phép bạn chọn các ô A1, C1 và E1:
1 | Phạm vi ("A1, C1, E1"). Chọn |
Bạn cũng có thể chọn tập hợp các phạm vi không liền nhau trong VBA. Đoạn mã sau sẽ chọn A1: A9 và B11: B18:
1 | Phạm vi ("A1: A9, B11: B18"). Chọn |
Chọn tất cả các ô trong một trang tính
Bạn có thể chọn tất cả các ô trong trang tính bằng VBA. Đoạn mã sau sẽ chọn tất cả các ô trong một trang tính.
1 | Cells.Select |
Chọn một hàng
Bạn có thể chọn một hàng nhất định trong trang tính bằng cách sử dụng đối tượng Hàng và số chỉ mục của hàng bạn muốn chọn. Đoạn mã sau sẽ chọn hàng đầu tiên trong trang tính của bạn:
1 | Hàng (1). Chọn |
Chọn một cột
Bạn có thể chọn một cột nhất định trong trang tính bằng cách sử dụng đối tượng Cột và số chỉ mục của cột bạn muốn chọn. Đoạn mã sau sẽ chọn cột C trong trang tính của bạn:
1 | Cột (3). Chọn |
Chọn ô không trống cuối cùng trong một cột
Giả sử bạn có dữ liệu trong các ô A1, A2, A3 và A4 và bạn muốn chọn ô không trống cuối cùng sẽ là ô A4 trong cột. Bạn có thể sử dụng VBA để thực hiện việc này và phương thức Range.End.
Các Phương pháp Range.End có thể lấy bốn đối số cụ thể là: xlToLeft, xlToRight, xlUp và xlDown.
Đoạn mã sau sẽ chọn ô không trống cuối cùng sẽ là A4 trong trường hợp này, nếu A1 là ô hiện hoạt:
1 | Phạm vi ("A1"). Kết thúc (xlDown). Chọn |
Chọn ô không trống cuối cùng trong một hàng
Giả sử bạn có dữ liệu trong các ô A1, B1, C1, D1 và E1 và bạn muốn chọn ô không trống cuối cùng sẽ là ô E1 trong hàng. Bạn có thể sử dụng VBA để thực hiện việc này và phương thức Range.End.
Đoạn mã sau sẽ chọn ô không trống cuối cùng sẽ là E1 trong trường hợp này, nếu A1 là ô hoạt động:
1 | Phạm vi ("A1"). Kết thúc (xlToRight). Chọn |
Chọn khu vực hiện tại trong VBA
Bạn có thể dùng Thuộc tính CurrentRegion của Đối tượng Phạm vi để chọn một phạm vi hình chữ nhật gồm các ô trống và không trống xung quanh một ô đầu vào cụ thể. Nếu bạn có dữ liệu trong ô A1, B1 và C1, mã sau sẽ chọn vùng này xung quanh ô A1:
1 | Phạm vi ("A1"). CurrentRegion.Select |
Vì vậy, phạm vi A1: C1 sẽ được chọn.
Chọn một ô có liên quan đến một ô khác
Bạn có thể dùng Tài sản bù đắp để chọn một ô có liên quan đến một ô khác. Đoạn mã sau đây cho bạn biết cách chọn ô B2 có 1 hàng và 1 cột liên quan đến ô A1:
1 | Phạm vi ("A1"). Chênh lệch (1, 1). Chọn |
Chọn một Dải ô được Đặt tên trong Excel
Bạn có thể chọn Dãy được đặt tên cũng. Giả sử bạn đã đặt tên cho các ô A1: A4 Fruit. Bạn có thể sử dụng mã sau để chọn phạm vi được đặt tên này:
1 | Phạm vi ("Trái cây"). Chọn |
Chọn một ô trên một trang tính khác
Để chọn một ô trên một trang tính khác, trước tiên bạn cần kích hoạt trang tính bằng phương pháp Worksheets.Activate. Đoạn mã sau sẽ cho phép bạn chọn ô A7, trên trang tính có tên là Sheet5:
12 | Worksheets ("Sheet5"). Kích hoạtPhạm vi ("A1"). Chọn |
Thao tác với đối tượng lựa chọn trong VBA
Khi bạn đã chọn một ô hoặc phạm vi ô, bạn có thể tham khảo Đối tượng Lựa chọn để thao tác với các ô này. Đoạn mã sau chọn các ô A1: C1 và đặt phông chữ của các ô này thành Arial, độ đậm phông chữ, kiểu phông chữ thành chữ nghiêng và màu tô thành màu xanh lục.
123456789 | Sub FormatSelection ()Phạm vi ("A1: C1"). ChọnSelection.Font.Name = "Arial"Selection.Font.Bold = TrueSelection.Font.Italic = TrueSelection.Interior.Color = vbGreenKết thúc Sub |
Kết quả là:
Sử dụng With… End With Construct
Chúng ta có thể lặp lại ví dụ trên bằng cách sử dụng Câu lệnh With / End With để tham chiếu đến Đối tượng lựa chọn chỉ một lần. Điều này giúp tiết kiệm việc nhập và thường làm cho mã của bạn dễ đọc hơn.
1234567891011 | Sub usingWithEndWithSelection ()Phạm vi ("A1: C1"). ChọnVới sự lựa chọn.Font.Name = "Arial".Font.Bold = True.Font.Italic = True.Interior.Color = vbGreenKết thúc vớiKết thúc Sub |