Hàm trả về giá trị là vị trí của file excel trong ổ cứng

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

momvip9

Thành viên mới
Tham gia
23/10/09
Bài viết
6
Được thích
0
Dear các anh chị!

Các pro cho em hỏi là có hàm nào để cho ta biết vị trí của file excel chứa hàm đó trong ổ cứng máy tính không ạ. Hoặc là có thể tự viết hàm như thế được không ạ. Ví dụ như trong ổ D:, em tạo một foleder là Data, trong folder đó em tạo file excel và viết một hàm để trả về giá trị là vị trí của file excel đó trên ổ cứng là: D:\Data\. Và khi em copy hoặc cut file Excel đó sang một vị trí khác trong máy tính thì hàm đó sẽ tự động trả về giá trị mới là vị trí mới mà em vừa cop/cut file đó sang. Liệu có không ạ. Nếu mà có hàm trả về các giá trị của hệ thống như ngày tháng năm... thì liệu có hàm như thế không?

Thanks các pro!
 
Dear các anh chị!

Các pro cho em hỏi là có hàm nào để cho ta biết vị trí của file excel chứa hàm đó trong ổ cứng máy tính không ạ. Hoặc là có thể tự viết hàm như thế được không ạ. Ví dụ như trong ổ D:, em tạo một foleder là Data, trong folder đó em tạo file excel và viết một hàm để trả về giá trị là vị trí của file excel đó trên ổ cứng là: D:\Data\. Và khi em copy hoặc cut file Excel đó sang một vị trí khác trong máy tính thì hàm đó sẽ tự động trả về giá trị mới là vị trí mới mà em vừa cop/cut file đó sang. Liệu có không ạ. Nếu mà có hàm trả về các giá trị của hệ thống như ngày tháng năm... thì liệu có hàm như thế không?

Thanks các pro!
Dùng hàm này thử xem:
PHP:
=LEFT(CELL("filename"),FIND("[",CELL("filename"))-1)
 
Cảm ơn anh đã trả lời câu hỏi của em về cách dùng hàm lấy vị trí của file excel hiện hành trên ổ cứng.


Em đang làm một cái file hệ thông văn bản pháp lý trên excel phục vụ cho việc tra cứu tài liệu của trm trong công việc. Em có một workbook1 tổng hợp tất cả các văn bản gồm các cột:

Á1:Nhómmục - B1:Số hiệu VB - C1:Tiêu đề VB - D:1Ngày ban hành
dưới các hàng là danh mục các văn bản, danh sách của em ở nhóm mục có 3 nhóm mục, luật, quyết định, thông tư. Mỗi nhóm mục có một số văn bản khác nhau kiểu như là:

Luật ----- 01 - Luật dan sự -------------------------- 01/01/09
Luật ----- 02 - Luật kinh tế -------------------------- 02/02/09
Nghị định - 01 - Huong dan thi hanh luat doanh nghiep - 03/03/09
Nghị định - 02.....................................................................
......

hiện em đang làm thử có khoảng 100 dòng, và em lập một mảng từ ô A1 đến ô D300 và đặt tên mảng này là {DS} (em chọn mảng rộng ra để sau này còn cập nhật thêm văn bản mới vào nữa- không biết tạo mảng thế này có thích hợp không)

Em làm tiếp một Wookbook2: tạm đặt tên là tra cứu gồm các sheet tên là luật, nghị định, thông tu...

Mỗi sheet em tạo một bảng sách giống hệt bảng em đã tạo ở wookbook1 nói ở trên
Các bảng ở mỗi sheet này em chỉ muốn hiện một nhóm mục dựa theo danh sách tổng hợp ở wookbook1 như là sheet luật thì chỉ hiện các văn bản luật (sau này em sẽ chèn link cho các dòng tới các file văn bản tương ứng)

Em đã thực hiện bằng công cụ advance filter của excel như sau
Tại sheet luật:
tạo một mảng điều kiện:
A1: Nhómmục
A2: Luật

Tại dòng 4 tạo như ở Woorkbook1:
A4:Nhómmục - B4:Số hiệu VB - C4:Tiêu đề VB - D4:Ngày ban hành

Tại sheet Luat của woorkbook2 tên "tra cứu" dùng Advance filter

Chọn mảng lọc là {DS}
mảng điều kiện là A1:A2 (để lọc những văn bản là luật)
copy to : A4:D4

Xong! Ok, đã lọc được những văn bản là luật,

các sheet như nghị định, thông tư cũng lọc ok

Vẫn đề là:

Em vào workbook1 và cập nhật thêm một dòng văn bản nữa, ví dụ thông tu 05 gì gì đấy và thuộc nhóm mục là Thông tư
Vậy mà đến khi em sang xem bên woorkbook "tra cứu" tại sheet "thông tư" thì chả thấy cái thông tư em mới nhập đâu cả

Vật em làm không đúng ở bước nào, hay điều em làm là không làm được (tức là advance filter không tự động cập nhật được như thế) và nếu có cách cập nhật được như thế thì các pro chỉ giúp em với ạ.

Thanks các pro nhiều!
 
Lần chỉnh sửa cuối:
Ồ vấn đề trên em đã tìm được cách giải quyết rồi, làm theo hướng khác chứ không làm như trên nữa. Em đã tạo ra một Macro ghi lại quá trình em lọc bằng Advancefilter. Sau đó chỉ trên một sheet duy nhất làm sheet chứa đích của kết quả lọc thì trong vùng điều kiện mỗi lần em thay đổi nội dung ô điều kiện và chạy Marco thì sẽ là một lần tự động lọc, và làm thế này nó cũng sẽ cập nhật được những thay đổi trên bảng dữ liệu vào bảng kết quả. hj. Em đã lập một được một ô có thể sổ xuống một lish danh sách các điều kiện lọc (gồm thông thu, quyết định, nghị định, công văn) và mỗi lần em chọn lại giá trị lọc và bấm phím tắt chạy macro vừa ghi quá trình advance filter lúc nãy thì kết quả lọc của em nó sẽ hiện ra ngay. Ví dụ khi chọn vào ô điều kiện lọc sẽ có một danh sách sổ xuống và em chọn giá trị là thông tư, rồi bắm tổ hợp Ctrl+Z thì ngay lập tức bên dưới sẽ cho kết quả lọc là tất cả các thông tư có trong danh sách văn bản tổng hợp.

THế là tạm ổn rồi nhưng em muỗn hỏi các bác, các anh, các chị pro một tẹo là có cách nào để marco tự động chạy mỗi khi giá trị của ô điều kiện thay đổi mà không cần phải bấm phím tắt không? Các pro chỉ giáo giúp em với ạ!

À em muốn hỏi nữa là có cách nào dấu hết công thức trong bảng mà không phải dùng đến protect sheet không ạ. Vì nế dùng chức năng này thì bảng của em sẽ không advancefilter được nữa, macro của em sẽ vô hiệu mất

Thanks các anh chị nhiều!
 
Web KT

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

Back
Top Bottom