[NHỜ GÓP Ý] Form liệt kê danh sách các sheet kèm theo mô tả (cho phép tìm kiếm) (1 người xem)

  • Thread starter Thread starter tor
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

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;

jkNNJsN.png


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:
Cách 2 - gán mô tả vào Comment tại ô A1 mỗi sheet

.
Đặt vấn đề

Ý tưởng

Thực hiện (cách 2 - gán mô tả vào Comment tại ô A1 mỗi sheet)
» 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à nội dung Comment tại ô A1 của sheet đó;
» Nếu ô A1 chưa có Comment thì tạo Comment mới có nội dung là tên sheet;


Hạn chế
» Comment tại ô A1 đã bị xí chỗ; :)
» Chưa xử lý vấn đề Tiếng Việt trên ListView1 và InputBox;
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Xin cho hỏi vài câu nhỏ:

(1) File cỡ bao nhiêu trang tính trở lên mới cần tạo Form thế này?

(2) Có thể xài ListBox thay vì ListView được không vậy bạn?

Chúc nghỉ lễ vui vẻ!
 
Upvote 0
(1) File cỡ bao nhiêu trang tính trở lên mới cần tạo Form thế này?
Chừng nào các bạn thấy cần thì tạo Form thế này.
Đơn cử như Phần mềm Kế toán bằng Excel chẳng hạn.

(2) Có thể xài ListBox thay vì ListView được không vậy bạn?
Tất nhiên là được, các bạn quen control nào thì dùng thôi.

Chúc nghỉ lễ vui vẻ!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom