Học lập trình VB trên macro excel

3 530 3
Học lập trình VB trên macro excel

Đang tải... (xem toàn văn)

Thông tin tài liệu

HỌC LẬP TRÌNH VB TRÊN MACRO EXCEL Thông Tin tài liệi Từ Internet “Phạm Văn Dương”  Thuộc tính RANGE Thuộc tính Range trả đối tượng, cell đơn lẻ dãy gồm nhiều cell Trong lệnh gán giá trị cell A1 vào cell A5 đưới đây, Range trả giá trị gồm 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ả dãy cell sheet hoạt động Để tránh kiểu "Râu ông cắm cằm bà kia", bạn kích hoạt bảng tính phương pháp Activate trước dùng thuộc tính Range mà không cần giới hạn cụ thể Sau cách điền vào vùng A1:H8 số ngẫu nhiên cách đặt công thức cho ô dãy mà trước sheet1 kích hoạt: Worksheets("sheet1").Activate Range("A1:H8").Formula = "=rand()" Bạn đặt tên cho dãy cell cho VBA tham chiếu đến tên Ví dụ, bạn lệnh xóa nội dung dãy có tên "Criteria" cách: Worksheets(1).Range("criteria").ClearContents Nếu bạn sử dụng đối số (argument) mà đối số địa dãy cell, bạn phải định rõ địa theo kiểu A1 (dùng kiểu R1C1 máy báo lỗi)  Thuộc Tính Cell Thuộc tính Cells sử dụng cú pháp Cells(row,column), với row số hàng column số cột, để trả cell đơn lẻ Chẳng hạn, bạn gán giá trị 24 cho cell A1 lệnh: Worksheets(1).Cells(1, 1).Value = 24 Và gán công thức cho cell A2: ActiveSheet.Cells(2, 1).Formula = "=sum(b1:b5)" Cho dù bạn dùng công thức Range("A1") để trả cell A1 (không sai!), dùng thuộc tính Cells tiện lợi bạn sử dụng biến số đại diện cho hàng cột phục vụ yêu cầu lập trình Bạn tham khảo ví dụ tạo tiêu đề cột hàng Sheet1 sau đây, lưu ý sau bảng tính kích hoạt, thuộc tính Cells sử dụng thoải mái mà không cần khai báo sheet cụ thể trả cell sheet hoạt động Sub SetUpTable() Worksheets("sheet1").Activate For theYear = To Cells(1, theYear + 1).Value = 1990 + theYear Next theYear For theQuarter = To Cells(theQuarter + 1, 1).Value = "Q" & theQuarter Next theQuarter End Sub Mặc dù bạn sử dụng hàm xử lý chuỗi Visual Basic để thay đổi tham chiếu kiểu A1, để dễ hiểu rèn luyện kỹ lập trình mình, bạn nên sử dụng kiểu Cells(1, 1) Nếu bạn sử dụng cú pháp expression.Cells(row,column), với expression biểu thức trả đối tượng Range, row column vị trí tương đối so với góc trái dãy cell kết trả phận dãy Trong ví dụ đây, VBA đến Cell(1,1) tức cell C5 bảng tính: Worksheets(1).Range("c5:c10").Cells(1, 1).Formula = "=rand()  Kết hợp Range and Cells Phối hợp Range Cells để tham chiếu đến dãy cell, bạn sử dụng cú pháp Range(cell 1, cell 2), với cell cell cell bắt đầu cell kết thúc dãy Để đặt kiểu đường viền cho cell bạn dùng lệnh sau: With Worksheets(1).Range(.Cells(1, 1), Cells(10, 10)).Borders.LineStyle = xlThick End With Ở cần lưu ý đến dấu chấm đằng trước thuộc tính Cells Dấu chấm quy định Worksheets(1) mà With nêu trước áp dụng cho thuộc tính Cells để tiết kiệm chỗ làm cho câu lệnh gọn (nếu dấu chấm, thuộc tính Cells trả cell sheet hoạt động)  Thuộc Tính Offset VBA dùng thuộc tính Offset(r,c) để di chuyển đến cell khác có vị trí cách r hàng c cột so với cell hành Ví dụ chọn cell cách cell góc bên trái vùng hành hàng phía cột bên phải Bạn chọn cell không nằm sheet hoạt động, trước bạn phải kích hoạt bảng tính lệnh Activate Worksheets("sheet1").Activate Selection.Offset(3, 1).Range("a1").Select  Phương thức Union VBA sử dụng Union(range1, range2, ) để trả vùng hỗn hợp - vùng gồm hai nhiều khối cell tách biệt Trong ví dụ dưới, đối tượng định nghĩa gồm vùng A1:B2 C3 4, sau chọn vùng định nghĩa Dim r1 As Range, r2 As Range, myMultiAreaRange As Range Worksheets("sheet1").Activate Set r1 = Range("A1:B2") Set r2 = Range("C3 4") Set myMultiAreaRange = Union(r1, r2) myMultiAreaRange.Select Nếu bạn làm việc với vùng chọn chứa hai hay nhiều dãy cell, thuộc tính Areas hữu ích Nó chia vùng chọn hỗn hợp thành đối tượng Range riêng biệt sau trả tập hợp đối tượng Bạn sử dụng thuộc tính Count tập hợp đuợc trả để kiểm tra vùng chọn có chứa nhiều dãy cell hay không, ví dụ sau đây: Sub NoMultiAreaSelection() numberOfSelectedAreas = Selection.Areas.Count If numberOfSelectedAreas > Then MsgBox "You cannot carry out this command " & _ "on multi-area selections" End If End Sub ... sai!), dùng thuộc tính Cells tiện lợi bạn sử dụng biến số đại diện cho hàng cột phục vụ yêu cầu lập trình Bạn tham khảo ví dụ tạo tiêu đề cột hàng Sheet1 sau đây, lưu ý sau bảng tính kích hoạt,... sử dụng hàm xử lý chuỗi Visual Basic để thay đổi tham chiếu kiểu A1, để dễ hiểu rèn luyện kỹ lập trình mình, bạn nên sử dụng kiểu Cells(1, 1) Nếu bạn sử dụng cú pháp expression.Cells(row,column),... tượng Range, row column vị trí tương đối so với góc trái dãy cell kết trả phận dãy Trong ví dụ đây, VBA đến Cell(1,1) tức cell C5 bảng tính: Worksheets(1).Range("c5:c10").Cells(1, 1).Formula = "=rand()

Ngày đăng: 03/01/2016, 21:28

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan