Làm sao tạo dc Name động có tác dụng trên mọi Sheet?

Liên hệ QC

thanhtri

Thành viên hoạt động
Tham gia
6/5/07
Bài viết
113
Được thích
23
Em có vấn đề muốn hỏi mấy anh! Giã sử em vào Insert\Name\Define để tạo name có Refers to là Sheet1!$A$1. Em muốn Name này khi sử dụng ở Sheet2 thì khung Refers to phải trở thành Sheet2!$A$1
Có cách nào cho nó trở nên "động" như thế ko?
Tóm lại em muốn sử dụng dc Name này trên mọi Sheet. Các anh giúp em với
Miss TT
 
Hình như không có bạn ạ.

Theo mình biết chỉ có 2 loại name :

Name toàn cục :
Có tác dụng trên mọi Sheet trong Workbook

Name cục bộ :
Chỉ có tác dụng trên Sheet đó. Như vậy Sh Thang01 có name là Ngay thì Sh Thang02 cũng có thể có name là Ngay. . . .

Thân!
 
Upvote 0
thanhtri đã viết:
Em có vấn đề muốn hỏi mấy anh! Giã sử em vào Insert\Name\Define để tạo name có Refers to là Sheet1!$A$1. Em muốn Name này khi sử dụng ở Sheet2 thì khung Refers to phải trở thành Sheet2!$A$1
Có cách nào cho nó trở nên "động" như thế ko?
Tóm lại em muốn sử dụng dc Name này trên mọi Sheet. Các anh giúp em với
Miss TT


Bạn xem file của Anh SA_DQ tại đây. Đây file rất hữu ích nhưng không biết anh SA_DQ đã có phiên bản mới chưa ha?!.
 
Upvote 0
Cám ơn anh đã gữi file, nhưng sao nó chạy chậm rì rì thế nhỉ? Máy tính em tốc độ 3G, RAM 512 vậy mà file cứ như rùa bò (mọi chương trình khác đều chạy như vũ bảo). Em đã thử file trên 5 máy tính khác nhau đều ko khả quan lắm
Em nghĩ là do code như thế nào đấy làm ảnh hưởng đến tốc độ. Vậy khi dùng VBA, ngoài việc nó có thễ giãi quyết dc vấn đề nào đó, chúng ta có nên suy nghĩ đến việc tối ưu hóa code đễ tăng tốc độ xử lý ko nhỉ?
Em ko biết gì về VBA nhưng em nghĩ thế, mong các anh đừng chữi em.
Miss TT
 
Upvote 0
Tôi cũng tải files này dùng, thấy chạy nhanh hơn tên lửa (Chỉ có phần khởi động là dừng lại thời gian ít giây để xem lịch - vì đây ý đồ của tác giả khi thiết kế chương trình này) / Hãy xem lại đi bạn !
 
Lần chỉnh sửa cuối:
Upvote 0
"Nhanh hơn tên lữa" ??? Anh nói hơi quá rồi! Nhanh đâu mà nhanh! Mỗi lần chuyển qua sheet khác rồi chuyển lại sheet Main, cái khung Tra cuu nhanh nó khựng lại chút xíu khoảng 1giây rồi mới hiện ra. Vậy cũng là chậm rồi
Em nêu ý kiến ra đây ko phải là chê bai chương trình, em chỉ muốn đứng trên phương diện người dùng góp ý cho sản phẫm ngày 1 tốt hơn mà thôi.
Sản phẩm nào mà ko có lỗi chứ (ngay cả người khỗng lồ Microsoft còn chưa dám tự tin về điều này).
Em thật sự rất yêu thích trang web giaiphapexcel này và yêu thích tất cả những đóng góp của mọi người. Trong bài "Chuong trinh quan ly nguon nhan luc" Anh VuNgoc cũng từng nói "nếu có người phản biện thì mình mới tiến bộ được chứ". Em nêu vấn đề ra cũng nhằm mục đích này đây! Hiii
Miss TT
 
Upvote 0
Em có vấn đề muốn hỏi mấy anh! Giã sử em vào Insert\Name\Define để tạo name có Refers to là Sheet1!$A$1. Em muốn Name này khi sử dụng ở Sheet2 thì khung Refers to phải trở thành Sheet2!$A$1
Có cách nào cho nó trở nên "động" như thế ko?
Vào VBA, nháy đúp vào ThisWorkbook rồi thêm đoạn code sau:
Mã:
Private Sub Workbook_Activate()
ActiveWorkbook.Names.Add Name:="name_dong", RefersToR1C1:="=" & sh.Name & "!R1C1"
End Sub
Thay đổi vùng (nếu cần).
Chúc thành công!
 
Upvote 0
Hi all,

Mình có thể kết hợp 1 trong 2 hàm sau (hàm trả ra tên sheet) để cho ra name động ứng với từng sheet không ?
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,255)
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1),1))

Làm hoài vẫn chưa được :P
Thanks,
vumian
 
Lần chỉnh sửa cuối:
Upvote 0
Hi all,

Mình có thể kết hợp 1 trong 2 hàm sau (hàm trả ra tên sheet) để cho ra name động ứng với từng sheet không ?
=MID(CELL("filename"),FIND("]",CELL("filename"))+1,255)
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1),1))

Làm hoài vẫn chưa được :P
Thanks,
vumian
He... he.. Câu hỏi này bx tôi thắc mắc đã lâu và cũng là vấn đề mà tôi quan tâm.. Thật ra rất đơn giản... Nếu muốn Name ấy có tác dụng trên mọi sheet thì ta chỉ cần đừng quan tâm tới tên sheet là dc:
Ví dụ có thể đặt name thế này:
Mã:
DS = INDIRECT("A1:A100")
Bảo đãm sang sheet nào thi DS vẫn tham chiếu đúng A1:A100
 
Upvote 0
Hi AnhTuan1066,
Giả sử mình đặt name là =vlookup(INDIRECT("1cell"),...). Vậy thì khi mình kéo xuống, thì chưa được. MÌnh có thể kết hợp thêm Address() hay cell() không ?
Thanks,
 
Lần chỉnh sửa cuối:
Upvote 0
Hi AnhTuan1066,
Giả sử mình đặt name là =vlookup(INDIRECT("1cell"),...). Vậy thì khi mình kéo xuống, thì chưa được. MÌnh có thể kết hợp thêm Address() hay cell() không ?
Thanks,
Khó hình dung quá!
Bạn có thể đưa lên 1 ít dử liệu giã lập dc ko? Xem thử có thể giãi quyết vu name động này thế nào...
Tôi chưa biết rõ yêu cầu nhưng đoán mò 1 chút..
=VLOOKUP(Trị dò , INDIRECT(.....)...)
Có lẽ thế này mới ổn chứ!
 
Upvote 0
Hi AnhTuân1066 & all,

MÌnh upload file mẫu lên thử,

Cái table_array là cố định, còn lookup_value và sheetname mới là động

Mình muốn ở Sheet3,Sheet4,Sheet5, chỉ dùng 1 công thức thôi

Thanks,
vumian
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Ah... tôi hiểu rồi...
Nhìn file bạn tôi giã định rằng cell chứa công thức luôn cách trị dò 4 column
Vậy bạn sửa name lại thành:
Mã:
P =VLOOKUP(INDIRECT(ADDRESS(ROW(),COLUMN()-4)),Database!$A:$D,4,0)
Khi ấy dù bạn ở bất cứ sheet nào, ở bất cứ dòng nào, cột nào, miển bảo đãm rằng cột công thức cách cột trị dò 4 cột là .. ăn tiền
Xem file nhé
ANH TUẤN
 

File đính kèm

Upvote 0
Thanks bác nha,

Đúng là tables ở các sheet động thì phải có cùng 1 format, nếu không thì chắc cũng hết cách, :)
 
Upvote 0
Thanks bác nha,

Đúng là tables ở các sheet động thì phải có cùng 1 format, nếu không thì chắc cũng hết cách, :)
He... he... chưa chắc đâu.. Nếu ko cùng format mà có 1 dấu hiệu nhận dạng gì đó thì tôi nghĩ là vẫn làm dc đấy... Tất nhiên khi ấy bài toán sẽ khó hơn rất nhiều!
 
Upvote 0
Web KT

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

Back
Top Bottom