- Tham gia
- 30/5/06
- Bài viết
- 1,630
- Được thích
- 17,442
- Nghề nghiệp
- Bác sĩ
Tham chiếu địa chỉ Cell trong VBA
Visual Basic for Applications (VBA) là một bộ phận của ngôn ngữ lập trình Visual Basic dành riêng để soạn thảo các lệnh macro trong bộ Office, giúp tăng cường sức mạnh và tự động hóa một số công việc lặp đi lặp lại. Sẽ là một thuận lợi lớn nếu bạn hiểu rõ cách thức VBA tham chiếu đến địa chỉ cell trong Excel. Bài viết này giới thiệu các thuộc tính (property) và phương thức (method) trong VBA liên quan đến tham chiếu địa chỉ cell.
Thuộc tính Range trả về một đối tượng, có thể là một cell đơn lẻ hoặc một dãy gồm nhiều cell. Trong lệnh gán giá trị của cell A1 vào cell A5 đưới đây, Range trả về giá trị chỉ gồm 1 cell:
Worksheets("Sheet1").Range("A5").Value = Worksheets("Sheet1").Range("A1").Value
Khi dùng với kiểu không xác định, Range trả về một dãy cell trên sheet đang hoạt động. Để tránh kiểu "Râu ông nọ cắm cằm bà kia", bạn hãy kích hoạt một bảng tính bằng phương pháp Activate trước khi dùng thuộc tính Range mà không cần chỉ ra giới hạn cụ thể. Sau đây là cách điền vào vùng A1:H8 các số ngẫu nhiên bằng cách đặt công thức cho mỗi ô trong dãy mà trước đó sheet1 đã được kích hoạt:
Worksheets("sheet1").Activate
Range("A1:H8").Formula = "=rand()"
Bạn cũng có thể đặt tên cho dãy cell và chỉ cho VBA tham chiếu đến tên này. Ví dụ, bạn ra lệnh xóa nội dung của một dãy có tên "Criteria" bằng cách:
Worksheets(1).Range("criteria").ClearContents
Nếu bạn sử dụng một đối số (argument) mà đối số đó là địa chỉ dãy cell, bạn phải định rõ địa chỉ đó theo kiểu A1 (dùng kiểu R1C1 máy sẽ báo lỗi).
Visual Basic for Applications (VBA) là một bộ phận của ngôn ngữ lập trình Visual Basic dành riêng để soạn thảo các lệnh macro trong bộ Office, giúp tăng cường sức mạnh và tự động hóa một số công việc lặp đi lặp lại. Sẽ là một thuận lợi lớn nếu bạn hiểu rõ cách thức VBA tham chiếu đến địa chỉ cell trong Excel. Bài viết này giới thiệu các thuộc tính (property) và phương thức (method) trong VBA liên quan đến tham chiếu địa chỉ cell.
Thuộc tính RANGE
Thuộc tính Range trả về một đối tượng, có thể là một cell đơn lẻ hoặc một dãy gồm nhiều cell. Trong lệnh gán giá trị của cell A1 vào cell A5 đưới đây, Range trả về giá trị chỉ gồm 1 cell:
Worksheets("Sheet1").Range("A5").Value = Worksheets("Sheet1").Range("A1").Value
Khi dùng với kiểu không xác định, Range trả về một dãy cell trên sheet đang hoạt động. Để tránh kiểu "Râu ông nọ cắm cằm bà kia", bạn hãy kích hoạt một bảng tính bằng phương pháp Activate trước khi dùng thuộc tính Range mà không cần chỉ ra giới hạn cụ thể. Sau đây là cách điền vào vùng A1:H8 các số ngẫu nhiên bằng cách đặt công thức cho mỗi ô trong dãy mà trước đó sheet1 đã được kích hoạt:
Worksheets("sheet1").Activate
Range("A1:H8").Formula = "=rand()"
Bạn cũng có thể đặt tên cho dãy cell và chỉ cho VBA tham chiếu đến tên này. Ví dụ, bạn ra lệnh xóa nội dung của một dãy có tên "Criteria" bằng cách:
Worksheets(1).Range("criteria").ClearContents
Nếu bạn sử dụng một đối số (argument) mà đối số đó là địa chỉ dãy cell, bạn phải định rõ địa chỉ đó theo kiểu A1 (dùng kiểu R1C1 máy sẽ báo lỗi).
Lần chỉnh sửa cuối: