vấn đề về Hyperlink với VBA?

Liên hệ QC

gakon_Office

Nguyễn Hoàng Nhi
Tham gia
18/9/11
Bài viết
176
Được thích
26
Em gửi file đính kèm mọi người và các thầy trong GPE chỉ cho em thắc mắc trong file với ạ!
Em cảm ơn!
 

File đính kèm

Em gửi file đính kèm mọi người và các thầy trong GPE chỉ cho em thắc mắc trong file với ạ!
Em cảm ơn!
Cái này bạn dùng Hyperlink là được rồi mà bạn, còn nếu bạn muốn VBA thì bạn có thể record new macro lại là cách đơn giản nhất. Chúc vui vẻ
 
Upvote 0
Cái này bạn dùng Hyperlink là được rồi mà bạn, còn nếu bạn muốn VBA thì bạn có thể record new macro lại là cách đơn giản nhất. Chúc vui vẻ
Em thử rồi nhưng mà vẫn fair sửa chữa thêm nhiều loằng ngoằng chẳng nhanh hơn làm tay là bao.
Anh Chị nào có VBA nào ngắn gọn chỉ cho em với!
 
Upvote 0

File đính kèm

Upvote 0
Em gửi file đính kèm mọi người và các thầy trong GPE chỉ cho em thắc mắc trong file với ạ!
Em cảm ơn!
Nếu muốn dùng code thì như sau:
- Trên sheet TONG HOP:
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count = 1 And Not Intersect(Target, [B2:B24]) Is Nothing Then Sheets(Target.Value).Select
End Sub
- Trên Thisworkbook:
PHP:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name <> "TONG HOP" And Target.Count = 1 Then
        If Target.Address = "$B$6" Then Sh.[N6].Select
        If Target.Address = "$L$6" Then Sh.[D6].Select
    End If
End Sub
Tuy nhiên, theo mình thì thực ra bài này không cần sử dụng VBA làm gì. Mình sẽ làm như sau:
1. Chọn ô B2 trên sheet TONG HOP, nhấn Ctrl+F3 và tạo name động LnkSheet=INDIRECT('TONG HOP'!B2&"!A1")
2. Chọn vùng B2:B24, nhấn Ctrl+K, nhập vào ô Address giá trị #LnkSheet
3. Trên các sheet Sheet1...Sheet23, chọn ô, nhấn Ctrl+K và nhập ô cần liên kết.
 

File đính kèm

Upvote 0
Xin trân thành cảm ơn 2 thầy ndu và nphuc!
Xin hỏi thêm các thầy một vấn đề nữa ạ!
Giả sử em tạo danh sách linhk từ Woorkbook tổng hợp sang nhiều Woorkbook con. ví dụ có 3 Woorkbook con tương ướng với 3 dòng links (D3:D6).
Sau đó em tạo một nút Butom ở Woorkbook tổng hợp, chỉ cần bẩm vào nút này thì lập tức 3 Woorkbook con hiện ra,..
Vậy fair viết code như thế nào ạ!
mục đíc của bài viết này là em tạo một nút Update chỉ cần bấm vào nút này thì cac WB con hiện lên thì dữ liệu mới links được.
Chứ lấy dữ liệu từ các file không mở thì chắc không được rồi!
Các thầy chỉ cho em với! em cảm ơn!
 
Lần chỉnh sửa cuối:
Upvote 0
Giả sử em tạo danh sách linhk từ Woorkbook tổng hợp sang nhiều Woorkbook con. ví dụ có 3 Woorkbook con tương ướng với 3 dòng links (D3:D6).
Sau đó em tạo một nút Butom ở Woorkbook tổng hợp, chỉ cần bẩm vào nút này thì lập tức 3 Woorkbook con hiện ra,..
Vậy fair viết code như thế nào ạ!
mục đíc của bài viết này là em tạo một nút Update chỉ cần bấm vào nút này thì cac WB con hiện lên thì dữ liệu mới links được.
Chứ lấy dữ liệu từ các file không mở thì chắc không được rồi!
Các thầy chỉ cho em với! em cảm ơn!
Để tổng hợp dữ liệu từ nhiều file, bạn có thể sử dụng chức năng tìm kiếm trên diễn đàn, chẳng hạn bài này
Để lấy dữ liệu từ file không mở, bạn tham khảo topic sau nhé: Lấy dữ liệu từ file không mở ?
 
Upvote 0
Ô! Thầy vẫn chưa đi nghỉ ah! em hỏi thêm chút xíu!
3. Trên các sheet Sheet1...Sheet23, chọn ô, nhấn Ctrl+K và nhập ô cần liên kết.
Em chon Bấm Shift+Sheét đến sheet 23 rồi chọn ô link 1. sau đó bấm Ctrl+K. không thấy hiện gì cả?
Thầy nói chi tiết cho em hiểu thêm về vấn đề này với! cảm ơn thầy
 
Upvote 0
Ô! Thầy vẫn chưa đi nghỉ ah! em hỏi thêm chút xíu!

Em chon Bấm Shift+Sheét đến sheet 23 rồi chọn ô link 1. sau đó bấm Ctrl+K. không thấy hiện gì cả?
Thầy nói chi tiết cho em hiểu thêm về vấn đề này với! cảm ơn thầy
Ý mình là làm việc lần lượt trên từng sheet chứ không phải là làm việc một lúc trên cả nhóm các sheet này.
 
Upvote 0
Ý mình là làm việc lần lượt trên từng sheet chứ không phải là làm việc một lúc trên cả nhóm các sheet này.
Thảo làm em làm mãi không được! Có lẽ trường hợp từng sheet này nên dùng code của thầy là nhanh nhất! còn Sheet tổng dùng name động!
Thầy cho em xin cái co de:bấm vào nút này thì cac WB con hiện lên với ạ!
Có trường hợp em sẽ dùng đến nó! Một lần nữa em cảm ơn thầy
 
Upvote 0
Thảo làm em làm mãi không được! Có lẽ trường hợp từng sheet này nên dùng code của thầy là nhanh nhất! còn Sheet tổng dùng name động!
Thầy cho em xin cái co de:bấm vào nút này thì cac WB con hiện lên với ạ!
Có trường hợp em sẽ dùng đến nó! Một lần nữa em cảm ơn thầy
Bạn nghiên cứu câu lệnh này nhé:
PHP:
Workbooks.Open "Đường_dẫn\Tên_tập_tin.xls"
Code cho nút này chỉ cần 3 câu lệnh có dạng như trên là được.
Còn vấn đề liên kết đến các ô N6, D6 trên 23 sheet kia thì thử phương án liên kết với name động này xem sao:
1. Từ 1 sheet bất kỳ, tạo name động N6_Lnk=INDIRECT("N6")
2. Chọn ô đặt liên kết, nhấn Ctrl+K, nhập #N6_Lnk vào ô Address --> OK.
3. Copy ô này và dán vào tất cả các sheet còn lại. Chắc chắn là việc này nhanh hơn nhiều so với tạo liên kết thủ công trên từng sheet.
 
Upvote 0
Ý mình là làm việc lần lượt trên từng sheet chứ không phải là làm việc một lúc trên cả nhóm các sheet này.
Cảm ơn thầy em làm được rồi.
Nhưng mà giả sử ở Sheet tổng hợp em không đặt các dòng link theo tên sheet nữa mà đặt abcd...hoặc 1 234 hay a1,a2,a3... thì phải dùng hàm nào vậy?
Thầy nào biết xin giúp em với ạ!
 
Upvote 0
Cảm ơn thầy em làm được rồi.
Nhưng mà giả sử ở Sheet tổng hợp em không đặt các dòng link theo tên sheet nữa mà đặt abcd...hoặc 1 234 hay a1,a2,a3... thì phải dùng hàm nào vậy?
Thầy nào biết xin giúp em với ạ!
Code trên sheet Tổng hợp như ở bài trước chỉ áp dụng được khi thông tin trên sheet Tổng hợp là tên các sheet cần liên kết.
Còn trong trường hợp bạn vừa nêu thì có lẽ phải thêm 1 cột phụ thể hiện tên sheet. Chẳng hạn mình thêm 1 cột phụ chứa tên sheet kế bên phải cột chứa abcd, 1234, a1,a2,a3,... Khi đó, bạn thay câu lệnh Sheets(Target.Value).Select thành Sheets(Target.Offset(,1).Value).Select
 
Upvote 0
Thầy ơi. Nếu em tạo một cột tiêu đề link các dòng có tên abcd, 1234, a1,a2,a3,...ở Sheet tổng hợp và em muốn các sheet con sẽ tự động đổi tên theo các dòng đó thì dùng hàm hoặc VBA nào ạ!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom