Làm việc với đối tượng Range

Một phần của tài liệu Giáo trình tự học VBA (Trang 27 - 34)

Đối tượng Range sẽ là 1 trong những đối tượng chúng ta sử dụng đến nhiều nhất trong quá trình lập trình với VBA trong Excel. Đối tượng này tạo nên bảng tính Excel, nhiều bảng tính (Worksheet) sẽ tạo nên 1 Workbook hay 1 file Excel …

23

SCAN MÃ

ĐỂ NHẬN NGAY COUPON

GIẢM GIÁ 40%

KHOÁ HỌC

VBA101 - VBA cơ bản cho người mới bắt đầu

Bấm nút http://bit.ly/2eEOWsZ hoặc

↳ Câu lệnh này sẽ tham chiếu đến vùng A1 và đặt thuộc tính giá trị của vùng A1 với nội dung “Hoc Excel Online”

Range(“A1”).value = “Hoc Excel Online”

↳ Câu lệnh này sẽ tham chiếu đến vùng A1:B5 và đặt thuộc tính giá trị của vùng A1:B5 với nội dung “Hoc Excel Online”

Range(“A1:B5”).value = “Hoc Excel Online”

↳ Câu lệnh trên sẽ điền giá trị “Hoc Excel Online” vào vùng A1:B5 và C2:D3

Range(“A1:B5,C2:D3”).value = “Hoc Excel Online”

↳ Kết quả của câu lệnh trên là 5, được ghi ra trong cửa sổ Immediate Debug.print Range(“E8”).Column

↳ Kết quả của câu lệnh trên là 8, được ghi ra trong cửa sổ Immediate Debug.print Range(“E8”).Row

↳ Khi làm việc với nhiều file Excel cùng 1 lúc, chúng ta cần chỉ ra rõ ràng địa chỉ vùng chúng ta đang cần làm việc. Trong câu code trên, ý nghĩa là: đặt giá trị của vùng A1:B5 của bảng tính có code name là Sheet1 trong file Excel chứa câu code trên là “Hoc Excel Online”

ThisWorkbook.Sheet1.Range(“A1:B5”).value = “Hoc Excel Online”

↳ Nếu chúng ta chỉ làm việc với 1 file Excel, thì chúng ta có thể bỏ ThisWorkbook đi, và thực hiện câu code như trên.

Sheet1.Range(“A1:B5”).value = “Hoc Excel Online”

Tham chiếu đến vùng trong Excel, ghi dữ liệu

Một số thuộc tính và phương thức của Range

Thuộc tính Column, Row

8. Làm việc với đối tượng Range

họcExcel.Online

select * from [EXCEL]

↳ Kết quả của câu lệnh trên là 5, được ghi ra trong cửa sổ Immediate

Đối với file xlsx, kết quả của câu lệnh trên là 16384 là số cột mà file Excel này hỗ trợ

Debug.print Range(“E8”).Column

Kết quả của câu lệnh trên là 8, được ghi ra trong cửa sổ Immediate

↳ Đối với file xlsx, kết quả của câu lệnh trên là 1048576 là số dòng mà file Excel này hỗ trợ

↳ Bắt đầu từ ô A100, di chuyển ngược lên phía trên đến ô có nội dung và chọn ô đó

Debug.print Range(“E8”).Row

Debug.print Columns.Count

Debug.print Rows.Count

Range(“A100”).End(xlUp).select

Một số thuộc tính và phương thức của Range

Thuộc tính Column, Row

Chú ý để không nhầm với Rows và Columns

Phương thức End và Select

25

Khoá học VBA cơ bản cho người mới bắt đầu Click link giảm giá 40%: http://bit.ly/2eEOWsZ

↳ Ghi ra cửa sổ Immediate dòng cuối cùng có chứa dữ liệu

↳ Ghi ra cửa sổ Immediate địa chỉ tuyệt đối của ô A4 là $A$4 Debug.print Range(“A4”).Address

↳ Điền công thức như hình minh hoạ vào ô A5 bằng code VBA Range(“A5”).Formula = “=SUM(A1:A4)"

Thuộc tính Address

Thuộc tính Formula

họcExcel.Online

select * from [EXCEL]

Sử dụng Range.Offset

Giả sử chúng ta đang lựa chọn ô F8

↳ Di chuyển 2 cột sang phải tính từ cột F. Kết quả là ô H8 được chọn Range(“F8”).Offset(,2).select

↳ Di chuyển 2 cột sang trái tính từ cột F. Kết quả là ô D8 được chọn Range(“F8”).Offset(,-2).select

↳ Di chuyển 2 dòng xuống dưới tính từ hàng số 8. Kết quả là ô F10 được chọn

Range(“F8”).Offset(2).select

↳ Di chuyển 2 dòng lên trên tính từ hàng số 8. Kết quả là ô F6 được chọn Range(“F8”).Offset(-2).select

↳ Di chuyển 2 dòng xuống dưới và 3 cột sang phải tính từ vị trí ô F8. Kết quả là ô i10 được chọn

Range(“F8”).Offset(2,3).select

27

GIẢM NGAY 30%

VBA CHO NGƯỜI MỚI BẮT ĐẦU Khoá học

http://bit.ly/2eEOWsZ

↳ Câu lệnh trên sẽ thay đổi kích thước của vùng đang được chọn là F8, với tham số (1,1) thì vùng chọn này sẽ được giữ nguyên là ô F8

Range(“F8”).Resize(1,1).select

↳ Câu lệnh trên sẽ thay đổi kích thước của vùng đang được chọn là F8, mở rộng vùng chọn kể từ F8 - 2 dòng và 3 cột, kết quả là vùng F8:H9 được chọn

Range(“F8”).Resize(2,3).select

họcExcel.Online

select * from [EXCEL]

Sử dụng Range.Copy

Sử dụng Range.PasteSpecial

↳ Câu lệnh trên sẽ copy vùng dữ liệu bao gồm cả định dạng và dữ liệu từ vùng A1:B5 đến vùng D1:E5, lưu ý, tuy dữ liệu được copy vào vùng D1:E5 nhưng chúng ta chỉ cần đưa ra nơi cần copy tới là vùng D1

Range(“A1:B5”).Copy Range(“D1”)

↳ 2 câu lệnh trên sẽ copy dữ liệu từ vùng A1:B5, và dán “đặc biệt” bắt đầu ở vùng A8, các kiểu dán dữ liệu có thể sử dụng là

Range(“A1:B5”).Copy

Range(“A8”).PasteSpecial <paste Type>

Dán tất cả dữ liệu

Dán tất cả trừ định dạng đường viền Dán và trộn định dạng có điều kiện Dán và sử dụng Source Theme Dán chiều rộng của cột

Dán cả ghi chú (comments) Dán định dạng

Dán công thức

Dán công thức và định dạng số Dán Data Validation

Dán giá trị (value)

Dán giá trị và định dạng số

29

Một phần của tài liệu Giáo trình tự học VBA (Trang 27 - 34)

Tải bản đầy đủ (PDF)

(61 trang)