Trong trường hợp của hộp thoại Go To, khi hiển thị bằng VBA, nút Special bị mờ đi, không hoàn toàn giống như khi chọn từ trình đơn Edit Go To.Ngoài ra, còn có một vấn đề khác nữa, đó là việc không thể hiển thị được các hộp thoại có nhiều thẻ khác nhau. Lấy ví dụ với hộp thoại Format Cell, không có cách nào để hiển thị đầy đủ hộp thoại này với nhiều thẻ khác nhau từ VBA, thay vào đó, chỉ có thể hiển thị một thẻ tại một thời điểm. ...
CHƯƠNG IV: LẬdụng P TRÌNH ngun TRÊN MICROlý SOFlập T EXCtrình EL Giáo trình phân tích quy trình ứng ngơn ngữ visual basic java thơng báo cách gán thuộc tính DisplayAlerts FALSE, nên nhớ phải trả giá trị mặc định trước kết thúc chương trình Đổi tên worksheet Việc đổi tên worksheet thực cách dễ dàng, cần thay đổi thuộc tính Name có đối tượng worksheet Đoạn mã sau đổi tên Sheet2 thành MySheet: Worksheets("Sheet2").Name = "MySheet" 7.4 Làm việc với Range Cells 7.4.1 Duyệt qua ô vùng liệu Để duyệt qua ô vùng liệu, sử dụng vòng lặp For Each… Next để duyệt qua đối tượng tập đối tượng Cells Trình tự duyệt theo số thứ tự ô: duyệt từ trái sang phải từ xuống Ví dụ sau duyệt qua ô vùng liệu A1:D3, điền số vào ô theo thứ tự duyệt Thơng qua ví dụ này, ta hiểu rõ trình tự duyệt vùng liệu: Sub Duyet_O() Dim myCell As Range Dim i As Integer i = For Each myCell In Range("A1:D3").Cells ‘Các thao tác xử lý nằm ‘Ví dụ: điền số thứ tự duyệt vào ô i = i + myCell.Value = i Next myCell End Sub 7.4.2 Duyệt qua ô vùng liệu theo hàng cột Quá trình duyệt theo hàng cột thực sử dụng vòng lặp For Each…Next tập đối tượng Rows, Columns Cells Đối tượng thành phần tập đối tượng có kiểu Range Ví dụ sau tính tổng cột vùng liệu tham chiếu điền giá trị tổng vào phía cột Sub Duyet_O_Theo_Cot() Dim myCell As Range Dim myColumn As Range Dim Tong As Double For Each myColumn In Range("A1:D3").Columns Tong = For Each myCell In myColumn.Cells Tong = Tong + Val(myCell.Value) Next myCell 10 myColumn.Cells(myColumn.Rows.Count + 1, 1) = Tong 11 Next myColumn 12 End Sub 153 Dòng thứ vòng lặp cho phép duyệt qua cột vùng liệu A1:D3 Mỗi cột lại vùng liệu, thể lại tiếp tục duyệt qua vùng liệu đó, điều thực dòng thứ Dòng thứ 10 dùng đế gán giá trị tổng tính ô vào ô cột 7.4.3 Vùng có chứa liệu – Thuộc tính UsedRange UsedRange thuộc tính hữu dụng đối tượng Worksheet Thuộc tính trả vùng liệu hình chữ nhật bao tất có chứa liệu Góc bên trái hình chữ nhật có chứa liệu, cịn góc bên phải hình chữ nhật cuối có chứa liệu Các có chứa liệu hiểu có chứa thơng tin như: giá trị, định dạng thích Hình sau minh hoạ rõ thuộc tính UsedRange Mặc dù vùng liệu trả thuộc tính UsedRange có chứa khơng có liệu, hiệu tiết kiệm thời gian so với việc duyệt qua tất ô worksheet Ví dụ sau duyệt qua tất có chứa liệu chọn ô có giá trị âm worksheet hành: Sub Su_dung_UsedRange( ) Dim cel As Range, str As String For Each cel In ActiveSheet.UsedRange If cel.Value < Then str = str & cel.Address & "," Next If str "" Then str= Left(str, Len(str) - 1) ActiveSheet.Range(str).Select End If End Sub Ví dụ lấy địa tất có giá trị âm sử dụng dấu “,” ngăn cách địa ô để lấy hợp tất ô (xem thêm mục “Tham chiếu đến đối tượng Range” trang 132) Sau kết thúc vịng lặp, chuỗi str có kiểu “$A$1,$D$5,” nên dòng lệnh If cuối cắt ký tự cuối chuỗi str để chuyển dạng thức địa “$A$1,$D$5” Câu lệnh Len(str) trả chiều dài chuỗi ký tự str Còn câu lệnh Left(str,n) trả n ký tự nằm bên trái chuỗi ký tự str 154 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL 7.5 Làm việc với biểu đồ Tính biểu đồ Excel ấn tượng Một biểu đồ thể nhiều kiểu liệu khác Excel Excel hỗ trợ 100 loại biểu đồ khác người dùng điều khiển tất thành phần biểu đồ lẽ, thành phần biểu đồ đối tượng với phương thức thuộc tính khác Vì vậy, việc lập trình với biểu đồ khơng dễ, hiểu rõ phân cấp đối tượng kết ấn tượng nhiều Tuỳ theo vị trí mà biểu đồ Excel phân thành loại sau: Ø Biểu đồ nhúng – ChartObject: dạng biểu đồ nằm bên worksheet Trong worksheet chứa nhiều biểu đồ nhúng khác biểu đồ truy xuất thơng qua tập đối tượng ChartObjects có đối tượng worksheet Ø Biểu đồ độc lập – ChartSheet: dạng biểu đồ nằm sheet riêng biệt, gọi chartsheet Mỗi chartsheet chứa biểu đồ dạng mà Biểu đồ dạng truy xuất thơng qua tập đối tượng Charts có đối tượng workbook Biểu đồ, dù dạng nhúng hay độc lập, có kiểu liệu Chart Hơn nữa, hầu hết bảng tính, biểu đồ thường nhúng worksheet để tiện cho việc trình bày Chính vậy, nội dung giáo trình tập trung thao tác biểu đồ nhúng 7.5.1 Tạo biểu đồ Cách nhanh để tạo biểu đồ mã lệnh sử dụng phương thức ChartWizard đối tượng Chart Với phương thức này, người lập trình tạo biểu đồ bước: Tạo đối tượng Chart, sử dụng phương thức Add Gọi phương thức ChartWizard đối tượng Chart vừa tạo Phương thức ChartWizard có nhiều tham số khác nhau, tất tham số tuỳ chọn ChartWizard(Source, Gallery, Format, PlotBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle) Tham số Giải thích Source Vùng liệu chứa số liệu đầu vào cho biểu đồ Gallery Dạng biểu đồ, giá trị sau: xlArea, xlBar, xlColumn, xlLine, xlPie, xlRadar, xlXYScatter, xlCombination, xl3DArea, xl3DBar, xl3DColumn, xl3DLine, xl3DPie, xl3DSurface, xlDoughnut, xlDefaultAutoFormat Format Định dạng tự động Giá trị từ 1÷10 tuỳ thuộc vào loại biểu đồ Nếu bỏ qua tham số này, Excel tự chọn giá trị mặc định dựa dạng biểu đồ số liệu đầu vào PlotBy Xác định xem số liệu cho chuỗi số liệu theo cột hay hàng, xlRows xlColumns CategoryLabels Số nguyên xác định số hàng cột bên vùng liệu đầu vào làm CategoryLabels SeriesLabels Số nguyên xác định số hàng cột bên vùng liệu đầu vào làm SeriesLabels HasLegend Bằng TRUE biểu đồ có thêm phần giải 155 Title Tiêu đề biểu đồ CategoryTitle Tiêu đề trục ngang ValueTitle Tiêu đề trục đứng ExtraTitle Tiêu đề trục biểu đồ 3D tiêu đề trục giá trị thứ biểu đồ 2D Ví dụ sau tạo biểu đồ chartsheet nằm sau worksheet hành, sau sử dụng phương thức ChartWizard để tạo biểu đồ dựa vùng liệu có tên SoLieu Nội dung vùng liệu sau: Mặt Hàng A Mặt hàng B 2000 20.0 35.0 2001 21.0 35.5 2002 24.0 36.0 2003 25.0 37.0 2004 23.0 36.5 2005 23.5 37.0 2006 25.0 38.0 Sub ChartWizard() Dim ws As Worksheet, chrt As Chart Set ws = ActiveSheet ' Tạo chartsheet, nằm sau worksheet hành Set chrt = Charts.Add(, ws) ' Đặt tên cho chartsheet chrt.Name = "Bieu Do Gia" ' Tạo biểu đồ sử dụng phương thức ChartWizard chrt.ChartWizard ws.[SoLieu], xlLine, , xlColumns, 1, 1, True, _ "Bieu Do Gia Hang Nam", "Nam", "Gia" End Sub 156 CHƯƠNG IV: LẬP TRÌNH TRÊN MICROSOFT EXCEL 7.5.2 Thêm chuỗi số liệu vào biểu đồ có Các số liệu vẽ biểu đồ lưu trữ tập đối tượng SeriesCollection Mỗi hàng cột liệu lưu trữ đối tượng Series tương ứng số liệu đối tượng Series lưu trữ đối tượng Point Người lập trình thêm chuỗi số liệu vào biểu đồ có cách gọi phương thức Add tập đối tượng SeriesCollection Phương thức Add có tham số sau: Tham số Giải thích Source Vùng liệu chứa liệu chuỗi số liệu mảng số liệu Rowcol Xác định xem chuỗi số liệu bố trí theo dạng cột hay dạng hàng, xlRows xlColumns SeriesLabels Giá trị bị bỏ qua Source mảng số liệu Nếu Source vùng liệu giá trị TRUE hàng cột vùng liệu chứa tên chuỗi số liệu, khơng gán giá trị FALSE CategoryLabels Giá trị bị bỏ qua Source mảng số liệu Nếu Source vùng liệu giá trị TRUE hàng cột vùng liệu chứa giá trị làm CategoryLabels chuỗi số liệu, khơng gán giá trị FALSE Replace Nếu CategoryLabels TRUE Replace TRUE, giá trị CategoryLabels biểu đồ thay Nếu Replace FALSE CategoryLabels biểu đồ giữ nguyên Mặc định giá trị FALSE Ví dụ sau thêm chuỗi số liệu vào biểu đồ tạo ví dụ trước, chuyển dạng biểu đồ thành dạng cột Sub AddNewSeries() Dim chrt As Chart, sc As SeriesCollection, sr As Series ' Lấy lại biểu đồ theo tên biểu đồ Set chrt = Charts("Bieu Do Gia") ' Lấy tập đối tượng SeriesCollection 157 ... phương thức thuộc tính khác Vì vậy, việc lập trình với biểu đồ khơng dễ, hiểu rõ phân cấp đối tượng kết ấn tượng nhiều Tuỳ theo vị trí mà biểu đồ Excel phân thành loại sau: Ø Biểu đồ nhúng – ChartObject:... Biểu đồ, dù dạng nhúng hay độc lập, có kiểu liệu Chart Hơn nữa, hầu hết bảng tính, biểu đồ thường nhúng worksheet để tiện cho việc trình bày Chính vậy, nội dung giáo trình tập trung thao tác biểu... Cách nhanh để tạo biểu đồ mã lệnh sử dụng phương thức ChartWizard đối tượng Chart Với phương thức này, người lập trình tạo biểu đồ bước: Tạo đối tượng Chart, sử dụng phương thức Add Gọi phương thức