Mình muốn tạo nút nhấn để tới sheet cần đến. nhập tên sheet vào ô, sau đó bấm nút sẽ tới được sheet tên đó. mong mọi người giúp đỡ.
Em nghĩ mục đích người ta muốn tìm hiểu về VBA thôi chứ không phải là để đạt được kết quả.Bạn gửi bài vào box lập trình, chứng tỏ muốn giải quyết bằng code VBA?
Nếu dùng code thì không có gì đáng nói (quá dễ). Tuy nhiên tôi muốn gợi ý rằng: Bài này có thể làm bằng các công cụ bình thường của Excel (Hyperlink) vẫn ngon lành như thường. Bạn nghĩ sao?
=HYPERLINK("#'"&D3&"'!A1",D3)
Dùng Hàm HYPERLINK chỉ cần vậy thôi:
Mã:=HYPERLINK("#'"&D3&"'!A1",D3)
Vậy chỉ cần 1 dòng lệnh thôi:Nếu người ta "quyết" phải dùng nút nhấn thì sao? (tức không chơi hàm HYPERLINK)
Sheets("" & Sheet1.[D3] & "").Activate
Nếu muốn để tự động link đến sheet cần đến sau khi nhập tên sheet thì dùng VBA sự kiện Change:mình chỉ muốn nhập tên sheet nào thì sẽ hiện ra sheet đó, còn dùng nút hay hyperlink cũng được, mọi người giúp mình với.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sh As Worksheet
If Not Intersect(Target, [D3]) Is Nothing Then
For Each Sh In Worksheets
If Sh.Name = Target Then
Sheets("" & Target & "").Activate
End If
Next Sh
End If
End Sub
Hay quá, mình làm được rồi, cám ơn bạn!Nếu muốn để tự động link đến sheet cần đến sau khi nhập tên sheet thì dùng VBA sự kiện Change:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Dim Sh As Worksheet If Not Intersect(Target, [D3]) Is Nothing Then For Each Sh In Worksheets If Sh.Name = Target Then Sheets("" & Target & "").Activate End If Next Sh End If End Sub
Vậy chỉ cần 1 dòng lệnh thôi:
Như ý kiến của thầy: dùng hàm "vẫn ngon lành", tại sao phải dùng đến VBA cơ chứ.Mã:Sheets("" & Sheet1.[D3] & "").Activate
GPE đang cập nhật hay bị gì đó, có lúc vào rất chậm, ...
Không dùng công thức, không dùng VBA, thì dùng Name thôi.Ủa! Mà tôi đâu có nói đến việc dùng VBA nhỉ?
Link =INDIRECT("'"&Sheet1!$D$3&"'!A1")