Lưu thời gian làm việc với bảng tính

Liên hệ QC

longlt08

Thành viên thường trực
Tham gia
23/3/08
Bài viết
321
Được thích
400
Điểm
1,218
Xin chào các anh chị GPE !
Tôi có bảng tính Excel 2007 có dũ liệu trên 100 sheet thường xuyên thao tác, cập nhật số liệu trên đó. Tôi muốn nhờ mọi người giúp đõ thêm về cách quản lý theo dõi.
Hiện tại: Để quản lý bảng tính tôi đã tạo một sheet danh mục, tạo các hypelink tới các sheet-cách này cũng đã giúp việc theo dõi có hiệu quả.
Mong muốn: Tôi muốn dành một sheet( ví dụ: Nhatky) để theo dõi việc chỉnh sửa bảng tính được ghi lại một cách tự động, sau khi cập nhật số liệu ở các sheet thì các sự kiện được tính theo giờ, ngày được tự động ghi vào sheet này ( dạng như nhật ký tự động). Khi cần có thể vào sheet đó để xem lại quá trình đã làm việc với bảng tính.
Tôi nghĩ rằng phải dùng VBA mới có thể làm được việc này. Tôi chưa rành về VBA nên mong được mọi người giúp đỡ. Xin chân thành cảm ơn !
 
Lần chỉnh sửa cuối:

Cách này mới ghi lại cách làm việc của workbook, tôi muốn ghi lại chi tiết việc làm ở từng sheet được ghi lại tự động.
ví dụ: + Ngày 08/5/2009 -8 giờ 12 phút.sheet 3 - cập nhật lần cuối
+ Ngày 08/5/2009 -8 giờ 15 phút.sheet 43 - cập nhật lần cuối
+ Ngày 09/5/2009 -14 giờ 12 phút.sheet 13 - cập nhật lần cuối
+ Ngày 09/5/2009 -16 giờ 15 phút.sheet 102- cập nhật lần cuối
.....
 
Cách này mới ghi lại cách làm việc của workbook, tôi muốn ghi lại chi tiết việc làm ở từng sheet được ghi lại tự động.
ví dụ: + Ngày 08/5/2009 -8 giờ 12 phút.sheet 3 - cập nhật lần cuối
+ Ngày 08/5/2009 -8 giờ 15 phút.sheet 43 - cập nhật lần cuối
+ Ngày 09/5/2009 -14 giờ 12 phút.sheet 13 - cập nhật lần cuối
+ Ngày 09/5/2009 -16 giờ 15 phút.sheet 102- cập nhật lần cuối
.....
Tôi nghĩ dùng sự kiện Worksheet_ActivateWorksheet_Deactivate là có thể giải quyết yêu cầu của bạn, tức:
- Mổi lần ta đứng tại 1 sheet nào đó thì nó sẽ ghi nhớ tên sheet
- Nếu chuyển qua sheet khác, nó sẽ so sánh tên sheet củ với tên sheet vừa Active, thấy có sự khác biệt thì lập tức ghi.. gì gì đó... vào... đâu đó
- Khi đóng file, lưu giờ 1 lần nữa trên sheet mà nó đang active là xong!
- Có thể sẽ phải kết hợp thêm với sự kiện Worksheet_Calculate hoặc Worksheet_Change để biết ta có thao tác thay đổi gì không?
Nói nôm na thế! Nếu bạn biết VBA tôi nghĩ hoàn toàn không có vấn đề (thuật toán đã có)
Có điều: Bạn muốn ghi giờ là ghi vào đâu? Vào 1 cell nào đó trên từng sheet chăng?
 
+ Ý tôi muốn tạo một sheet tên là Nhatky:
- sheet Nhatky ghi lại các sự kiện đã làm ở các sheet trong workbook
- Tất cả các sự kiện sau buổi làm việc của các sheet được liệt kê tự động vào sheet Nhatky theo thứ tự thời gian đã diễn ra.
- Khi kiểm tra các sheet chỉ cần vào sheet Nhạtky để đọc hoặc tìm theo thời gian là biết các sự kiện đã làm lần cuối của các sheet.
- Mỗi sự kiện ở các sheet chỉ ghi Lần cập nhật cuôi(Ngày, giờ) không ghi vào cell hoặc sheet đã làm việc mà ghi vào 1 dòng trong sheet Nhatky
Đây là mong muốn của tôi. Nhờ ACE trên GPE giúp đỡ. Xin cảm ơn !

Tôi nghĩ dùng sự kiện Worksheet_ActivateWorksheet_Deactivate là có thể giải quyết yêu cầu của bạn, tức:
- Mổi lần ta đứng tại 1 sheet nào đó thì nó sẽ ghi nhớ tên sheet
- Nếu chuyển qua sheet khác, nó sẽ so sánh tên sheet củ với tên sheet vừa Active, thấy có sự khác biệt thì lập tức ghi.. gì gì đó... vào... đâu đó
- Khi đóng file, lưu giờ 1 lần nữa trên sheet mà nó đang active là xong!
- Có thể sẽ phải kết hợp thêm với sự kiện Worksheet_Calculate hoặc Worksheet_Change để biết ta có thao tác thay đổi gì không?
Nói nôm na thế! Nếu bạn biết VBA tôi nghĩ hoàn toàn không có vấn đề (thuật toán đã có)
Có điều: Bạn muốn ghi giờ là ghi vào đâu? Vào 1 cell nào đó trên từng sheet chăng?
 
Web KT
Back
Top