tor
Thành viên chính thức


- Tham gia
- 4/9/14
- Bài viết
- 66
- Được thích
- 67
.
Đặt vấn đề
Khi bảng tính có nhiều sheet thì việc di chuyển qua lại các sheet trở nên khó khăn.
Chúng ta cần một form liệt kê và cho phép tìm kiếm các sheet bằng mô tả.
Form này có thể được gán một phím tắt để dễ dàng sử dụng.
Ý tưởng
» Form gồm ListView1 và TextBox1;
» ListView1 liệt kê danh sách các sheet, gồm 03 cột : Index, TênSheet, MôTảSheet;
» Gõ nội dung cần tìm kiếm vào TextBox1;
» Bấm {enter} hoặc kích-đúp lên mục trên ListView1 để đi đến sheet;
» Bấm {f2} để thay đổi mô tả cho sheet;
Thực hiện (cách 1 - gán mô tả vào thuộc tính Comment của Name có tên "SHEET_DESCRIPTION")
» Nạp danh sách sheet lên ListView1, cột Index là Index của sheet, cột Name là tên sheet, cột Description là mô tả cho sheet;
» Mô tả cho sheet là thuộc tính Comment các Name có tên "SHEET_DESCRIPTION" tham chiếu đến ô cuối cùng trên mỗi sheet;
» Nếu Name "SHEET_DESCRIPTION" chưa tồn tại thì giá trị khởi tạo của Comment là tên sheet;
» Khi sheet mới được tạo (sự kiện Workbook_NewSheet) thì tạo một Name có tên "SHEET_DESCRIPTION" trên sheet đó;
Hạn chế
» Chỉ hoạt động từ Excel 2007 (tệp định dạng .xlsm), vì trong Excel 2003, Name không có thuộc tính Comment;
» Chưa xử lý vấn đề Tiếng Việt trên ListView1 và InputBox;
Mong nhận được sự góp ý từ mọi người.
Xin cám ơn.
'GPE-Sheets List with Description (Searchable)
Đặt vấn đề
Khi bảng tính có nhiều sheet thì việc di chuyển qua lại các sheet trở nên khó khăn.
Chúng ta cần một form liệt kê và cho phép tìm kiếm các sheet bằng mô tả.
Form này có thể được gán một phím tắt để dễ dàng sử dụng.
Ý tưởng
» Form gồm ListView1 và TextBox1;
» ListView1 liệt kê danh sách các sheet, gồm 03 cột : Index, TênSheet, MôTảSheet;
» Gõ nội dung cần tìm kiếm vào TextBox1;
» Bấm {enter} hoặc kích-đúp lên mục trên ListView1 để đi đến sheet;
» Bấm {f2} để thay đổi mô tả cho sheet;

Thực hiện (cách 1 - gán mô tả vào thuộc tính Comment của Name có tên "SHEET_DESCRIPTION")
» Nạp danh sách sheet lên ListView1, cột Index là Index của sheet, cột Name là tên sheet, cột Description là mô tả cho sheet;
» Mô tả cho sheet là thuộc tính Comment các Name có tên "SHEET_DESCRIPTION" tham chiếu đến ô cuối cùng trên mỗi sheet;
» Nếu Name "SHEET_DESCRIPTION" chưa tồn tại thì giá trị khởi tạo của Comment là tên sheet;
» Khi sheet mới được tạo (sự kiện Workbook_NewSheet) thì tạo một Name có tên "SHEET_DESCRIPTION" trên sheet đó;
PHP:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Sh.Names.Add Name:="SHEET_DESCRIPTION", RefersTo:="=" & Cells(Sh.Rows.Count, Sh.Columns.Count).Address, Visible:=False
Sh.Names("SHEET_DESCRIPTION").Comment = Sh.Name
End Sub
Hạn chế
» Chỉ hoạt động từ Excel 2007 (tệp định dạng .xlsm), vì trong Excel 2003, Name không có thuộc tính Comment;
» Chưa xử lý vấn đề Tiếng Việt trên ListView1 và InputBox;
Mong nhận được sự góp ý từ mọi người.
Xin cám ơn.
'GPE-Sheets List with Description (Searchable)
File đính kèm
Lần chỉnh sửa cuối: