[Hỏi] Tạo Hyperlink đến ô chạy ngang theo cột (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hungtin1997

Dậm chân tại chỗ là đi lùi
Tham gia
16/10/20
Bài viết
101
Được thích
54
Giới tính
Nam
Chào mọi người em có 1 file Excel 32 sheet, em muốn tạo Hyper link bằng VBA tại ô A1 của mỗi Sheet về 1 Sheet đích, nhưng mỗi Sheet lại về 1 ô khác nhau như không phải luôn là A1 của sheet đích.
Mọi người hướng dẫn giúp em chỗ ô đích đến linh hoạt hơn được không ạ.
Ví dụ như: Sheets(1) thì link tới ô F1 của sheets("Dich"), Sheets(2) thì link tới ô I1 của sheets("Dich"), tức là cứ cách 2 cột lại có 1 ô là đích đến.
Code ban đầu đây ạ.
Mã:
Sub Macro5()
    For i = 1 To 31
    Sheets(i).Select
    Range("A1").Select
    Selection.Hyperlinks(1).SubAddress = "'Dich'!A1"
    Next
End Sub
 
PHP:
Sub Macro5()
    For i = 1 To 31
    Sheets(i).Select
    Range("A1").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="Dich!A1"
    Next
End Sub
Dùng chức năng record macro thì mình thấy nó chạy đúng đó, mặc dù chẳng hiểu lắm
 
Upvote 0
Chào mọi người em có 1 file Excel 32 sheet, em muốn tạo Hyper link bằng VBA tại ô A1 của mỗi Sheet về 1 Sheet đích, nhưng mỗi Sheet lại về 1 ô khác nhau như không phải luôn là A1 của sheet đích.
Mọi người hướng dẫn giúp em chỗ ô đích đến linh hoạt hơn được không ạ.
Ví dụ như: Sheets(1) thì link tới ô F1 của sheets("Dich"), Sheets(2) thì link tới ô I1 của sheets("Dich"), tức là cứ cách 2 cột lại có 1 ô là đích đến.
Code ban đầu đây ạ.
Mã:
Sub Macro5()
    For i = 1 To 31
    Sheets(i).Select
    Range("A1").Select
    Selection.Hyperlinks(1).SubAddress = "'Dich'!A1"
    Next
End Sub
Thử vầy:
Mã:
Sub Macro6()
  Dim i As Long
  For i = 1 To 31
    Sheets(i).Range("A1").Hyperlinks(1).SubAddress = "'Dich'!" & Range("C1").Offset(, i * 3).Address(0, 0)
  Next
End Sub
 
Upvote 0
Thử vầy:
Mã:
Sub Macro6()
  Dim i As Long
  For i = 1 To 31
    Sheets(i).Range("A1").Hyperlinks(1).SubAddress = "'Dich'!" & Range("C1").Offset(, i * 3).Address(0, 0)
  Next
End Sub
OK Thầy ạ, thì ra vấn đề nằm ở chỗ "Range("C1").Offset(, i * 3).Address(0, 0)"
Em hỏi thêm được không ạ, SubAddress nó bắt buộc phải là style A1 chứ không phải R1C1 ha thầy. Vậy nên em không thể đưa i vào ô đích được vì i là số trong khi cột là A,B,C
 
Upvote 0
OK Thầy ạ, thì ra vấn đề nằm ở chỗ "Range("C1").Offset(, i * 3).Address(0, 0)"
Em hỏi thêm được không ạ, SubAddress nó bắt buộc phải là style A1 chứ không phải R1C1 ha thầy. Vậy nên em không thể đưa i vào ô đích được vì i là số trong khi cột là A,B,C
Muốn đưa i vào thế nào,
Nếu là đưa vào subAddress thì cứ lấy địa chỉ của vùng theo R1C1 .Address là được
 
Upvote 0
nhờ anh chị giúp em chỉnh đoạn code để xuất ra giá trị là hyperlink ạ. em cám ơn
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom