XD360 KÍNH CHÚC CHO MỌI NHÀ VẠN SỰ AN LÀNH!

Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng

 Quên mật khẩu
 Đăng ký mới
Anh Trần HòeBùi Quốc Hưng
Xem: 2742|Trả lời: 5
In Chủ đề trước Tiếp theo
Thu gọn cột thông tin

[Hỏi] Hyberlinks trong VBA

[Lấy địa chỉ]
Nhảy đến trang chỉ định
1#

Hãy đăng nhập để có nhiều chức năng hữu dụng hơn và xem ảnh rõ hơn!

Bạn phải đăng nhập để xem được nội dung, nếu bạn chưa có tài khoản? hãy Đăng ký mới

x
E đang muốn lập 1 sheet "List" trong đó sử dụng hyperlink để link đến các sheets khác trong workbook nhưng e đang bị vướng phần ghi macro Phần linkSheet. Mong được diễn đàn chỉ bảo!
E xin cảm ơn!
SuDungHyperlink.xls (44.5 KB, Lượt tải về: 1292)

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

fubi gửi lúc 12/1/2015 11:26
Tạo chỉ mục cho các Sheet trong Workbook
Nếu bạn đã tốn quá nhiều thời gian trong một w ...

Chủ thớt Xài cái Addins ở bài này của bạn Ngọc Lan có đầy đủ thứ mà bạn cần!
http://xaydung360.vn/diendan/-ho ... xcel-14339-1-1.html

Số người tham gia 1Thanked +1 Thu lại Lý do
anhnamktxd + 1 Thích bài này! Thanks!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Đề cử
fubi Đăng lúc 12/1/2015 11:26 | Chỉ xem của tác giả

Tạo chỉ mục cho các Sheet trong Workbook

Tạo chỉ mục cho các Sheet trong Workbook
Nếu bạn đã tốn quá nhiều thời gian trong một workbook (bảng tính) với rất nhiều worksheet (trang tính), bạn sẽ cảm thông được sự khó khăn trong việc tìm kiếm một trang tính nào đó. Khi đó, có lẽ ta nên lập một chỉ mục các trang tính đang có để thuận tiện cho việc điều hướng trong bảng tính. Dưới đây là cách tạo chỉ mục cho các Sheet trong Workbook
Bằng cách sử dụng một chỉ mục các trang tính sẽ cho phép bạn nhanh chóng và dễ dàng điều hướng trong bảng tính, chỉ bằng một cú nhấp chuột sẽ đưa bạn đến chính xác nơi bạn muốn đến mà không lo bị nhầm lẫn. Bạn có thể tạo một chỉ mục trong một vài cách: bằng tay, tự động tạo ra bởi mã VBA, hoặc là sử dụng trình đơn tùy chọn theo ngữ cảnh (thậm chí có thể dùng các hàm Macro4 – không trình bày ở đây).

Tạo chỉ mục thủ công

Cách này rất dễ làm, bạn chỉ cần chèn mới một worksheet và đăt cho nó một cái tên, ví dụ như tên là Index. Sau đó, bạn nhận vào tên của các worksheet có trong workbook và tạo các siêu liên kết (hyperlink) đến các worksheet tương ứng với tên mà bạn nhập.
Để tạo hyperlink bạn chọn tên sheet, sau đó vào Insert | chọn Hyperlink tại nhóm Links [E2003: Insert | Hyperlinks]hoặc nhấn phím tắt là Ctrl+K để mở hộp thoại Insert Hyperlink.

                               
Đăng nhập/Đăng ký mở rộng

Hộp thoại Insert Hyperlink
Chọn Place in This Documentchọn tên Sheet muốn kết nối tới. Nhấn nút OK để hoàn tất.
Phương pháp này phù hợp khi bảng tính không có quá nhiều worksheet và tên worksheet không có sự thay đổi thường xuyên, nếu không sẽ gây ra nhiều khó khăn cho công tác bảo trì trang chỉ mục.

Tạo chỉ mục tự động bằng cách sử dụng VBA

Một cách thay thế khác là sử dụng VBA để tự động tạo ra các chỉ mục. Đoạn mã sau đây sẽ tự động tạo ra một bảng chỉ mục liên kết đến tất cả các worksheet mà bạn có trong workbook. Bảng chỉ mục này sẽ được tạo lại mỗi khi worksheet lưu chỉ mục được chọn.
Đoạn mã này phải được đặt trong private module của Sheet chứa chỉ. Chèn một worksheet mới vào workbook và đặt tên cho nó là Index chẳng hạn. Nhấp chuột phải vào tên worksheet vừa tạo và chọn ViewCode từ trình đơn ngữ cảnh hoặc nhấn tổ hợp phím Alt+F11.
Nhập đoạn mã VBA sau vào cửa sổ Code:
[Visual Basic] 纯文本查看 复制代码
Private Sub Worksheet_Activate()
Dim wSheet As Worksheet
Dim lCount As Long
lCount = 1With Me
.Columns(1).ClearContents
.Cells(1, 1) = “INDEX”
End With 

For Each wSheet In Worksheets
If wSheet.Name <> Me.Name Then
lCount = lCount + 1
With wSheet
.Range(“A1″).Name = “Start” & wSheet.Index
.Hyperlinks.Add Anchor:=.Range(“A1″), Address:=””, SubAddress:= _
“Index”, TextToDisplay:=”Back to Index”
End With
Me.Hyperlinks.Add Anchor:=Me.Cells(lCount, 1), Address:=””, SubAddress:= _
“Start” & wSheet.Index, TextToDisplay:=wSheet.Name
End If
Next wSheet
End Sub



Nhấn tổ hợp phím Alt+Q để thoát VBE và trở về cửa sổ bảng tính, sau đó lưu bảng tính lại. Để chạy đoạn mã vừa tạo, bạn dùng chuột chọn sang worksheet khác trong workbook và sau đó chọn lại worksheet Index để kích hoạt sự kiện Worksheet_Activate.
Lưu ý rằng, đoạn mã sẽ các đặt tên (Name) cho các ô A1 ở mỗi worksheet kèm theo số chỉ mục của worksheet trong bảng tính (worksheet đầu tiên có chỉ mục là 1, kế đó là 2, 3…. n). Điều này bảo đảm rằng ô A1 trên mỗi trang tính có một tên khác nhau. Nếu ô A1 trên worksheet của bạn đã được đặt tên, bạn nên cân nhắc đến việc thay đổi ô A1 trong đoạn mã sang một địa chỉ khác phù hợp hơn.

                               
Đăng nhập/Đăng ký mở rộng

Thêm thuộc tính cho workbook
Lưu ý, nếu bạn có thiết lập Hyperlink base (siêu liên kết cơ sở) trong workbook thì các hyperlink được tạo ra từ đoạn mã trên sẽ không thể hoạt động được, do chúng đã liên kết đến các Name trong workbook hiện hành. Khi thuộc tính hyperlink base được thiết lập thì các siêu liên kết sẽ trỏ đến hyperlink base kết hợp với các Name.
Thêm thuộc tính Hyperlink base: Vào Office | Prepare | Properties | Document Properties | chọn Advanced Properties [E2003: File | Properties | Summary] và nhập vào hyperlink base. Ví dụ như chúng ta nhập vào http://www.giaiphapexcel.com/

                               
Đăng nhập/Đăng ký mở rộng

Siêu liên kết trước và sau khi thêm Hyperlink base
Thêm lệnh gọi chỉ mục vào trình đơn ngữ cảnh
Cách thứ ba sẽ hướng dẫn bạn thêm một lệnh vào trình đơn ngữ cảnh để gọi danh sách các worksheet trong workbook và bạn có thể chọn lệnh này bằng cách kích phải chuột vào vùng bảng tính bất kỳ. Đoạn mã sau sẽ gọi thanh lệnh Tabs của workbook như hình sau:


                               
Đăng nhập/Đăng ký mở rộng

Thêm lệnh “Sheet Index” vào trình đơn ngữ cảnh
Nhấn Alt+F11 để mở cửa sổ VBE, sau đó nhập đoạn mã sau vào cửa sổ Code của ThisWorkbook:
[Visual Basic] 纯文本查看 复制代码
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim cCont As CommandBarButton
On Error Resume Next
Application.CommandBars("Cell").Controls("Sheet Index").Delete
On Error GoTo 0
Set cCont = Application.CommandBars("Cell").Controls.Add _
(Type:=msoControlButton, Temporary:=True)
With cCont
.Caption = "Sheet Index"
.OnAction = "IndexCode"
End With
End Sub





Tiếp theo, bạn vào Insert | Module và nhập vào đoạn mã sau:
[Visual Basic] 纯文本查看 复制代码
Sub IndexCode()
Application.CommandBars("workbook Tabs").ShowPopup
End Sub

Đoạn mã trên sẽ thực thi mỗi khi bạn chọn lệnh “Sheet Index” từ trình đơn ngữ cảnh và bạn phải đặt nó trong Module thì Excel mới có thể thấy được thủ tục này.
Nhấn Alt+Q để đóng cửa sổ VBE trở về bảnh tính Excel. Kể từ lúc này, bạn nhấp phải chuột tại bất kỳ ô nào trong bất kỳ worksheet nào thì trong trình đơn ngữ cảnh sẽ có thêm lệnh “Sheet Index” giúp bạn điều hướng đến bất cứ worksheet nào trong workbook một cách dễ dàng.

sưu tầm giaiphapexcel.com

Đánh giá

Chia sẻ hay! Thanks bạn nhé!: 5.0
Chia sẻ hay! Thanks bạn nhé!: 5
  Đăng lúc 24/9/2016 14:01

Số người tham gia 1Thanked +1 Thu lại Lý do
anhnamktxd + 1 Thích bài này! Thanks!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

4#
 Tác giả| anhnamktxd Đăng lúc 13/1/2015 08:52 | Chỉ xem của tác giả
Cảm ơn mọi người e làm được rồi. :) SuDungHyperlink.xls (40.5 KB, Lượt tải về: 1245)

Đánh giá

Chia sẻ hay! Thanks bạn nhé!: 5.0
Chia sẻ hay! Thanks bạn nhé!: 5
  Đăng lúc 24/9/2016 13:57

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Phiên bản Mobile|Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng  

Phần mềm dự toán xây dựng excel | Hướng dẫn lập dự toán xây dựng | Phần mềm tư vấn giám sát | Phần mềm quản lý chất lượng xây dựng |

Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng

Phần mềm ôn thi sát hạch chứng chỉ hành nghề Kiến Trúc sư

Phần mềm ôn thi sát hạch chứng chỉ hành nghề Đấu thầu

GMT+7, 23/8/2026 03:38 , Processed in 0.107401 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Kiso Comsenz Inc.