Làm thế nào để move sheet

Liên hệ QC

zen2505

Thành viên chính thức
Tham gia
29/11/11
Bài viết
68
Được thích
4
Nghề nghiệp
Manage & Acountant
Em chào anh chị!
Em đang có 1 file Excel nhơ các anh chị xem viết giùm em đoạn Marco.
Em xin mô ta như sau:
Trong 1 file Excel có nhiều sheet khác nhau.
Em muốn khi em nhập dữ liệu ở 1 sheet thì sheet đó được move đến sheet đầu tiên của file. Ví dụ nhập ở sheet5 thì sheet 5 sẽ chuyển vào thay thế sheet1 ở đầu và sheet1 nằm bên cạnh sheet5.
Em gửi file đính kèm nhờ anh chị xem giúp em!
Thanks!
 

File đính kèm

  • Bao cao TP 2014.XLS
    36 KB · Đọc: 7
Em chào anh chị!
Em đang có 1 file Excel nhơ các anh chị xem viết giùm em đoạn Marco.
Em xin mô ta như sau:
Trong 1 file Excel có nhiều sheet khác nhau.
Em muốn khi em nhập dữ liệu ở 1 sheet thì sheet đó được move đến sheet đầu tiên của file. Ví dụ nhập ở sheet5 thì sheet 5 sẽ chuyển vào thay thế sheet1 ở đầu và sheet1 nằm bên cạnh sheet5.
Em gửi file đính kèm nhờ anh chị xem giúp em!
Thanks!
Mở thêm 1 sheet làm sheet Menu, đặt 1 ô để gõ tên sheet, dùng code sự kiện Change để Move sheet trùng với tên đã gõ. Tham khảo code sau:
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sh As Worksheet
Application.DisplayAlerts = False
If Not Intersect(Target, [C3]) Is Nothing Then
For Each Sh In ThisWorkbook.Worksheets
If Sh.Name = Target Then
Sh.Move Before:=Sheets(2)
End If
Next
End If
Application.DisplayAlerts = True
End Sub
[/gpecode]
 

File đính kèm

  • Bao cao TP 2014.xlsm
    50.4 KB · Đọc: 10
Em cám ơn anh đã giúp em !
Nhưng em chưa thực hiện được anh có thể nói rõ hơn được không ạ!
Thanks a!
 
Em cám ơn anh đã giúp em !
Nhưng em chưa thực hiện được anh có thể nói rõ hơn được không ạ!
Thanks a!
- Hì hì Tôi Thấy code đã đáp ứng được yêu cầu của bạn rồi mà. Chọn sheet (Menu); tại ô C3, bạn chọn tên sheet cần move vậy thôi.
- Tại các sheet được Move, bác leonguyenz có thể cho thêm bạn đó một nút back về sheet menu thì hay hơn nữa, (em nghĩ vậy)

 
Uiza!
Thanks anh!
Hì! Em quên khoa disnable marco!
Em làm được rồi!
&&&%$R
 
Anh cho em hỏi thêm nếu file không chứa ngày tháng tên sheet là kiểu text có làm tương tự như vậy không ạ!
 
Anh cho em hỏi thêm nếu file không chứa ngày tháng tên sheet là kiểu text có làm tương tự như vậy không ạ!
- Được bạn ạ. Bác leonguyenz Sử dụng công thức cho E4= lTEXT(F4,"dd-mm") và sử dụng Validation.
- Nay tên các sheet bạn chỉ cần nhập trực tiếp vào cột E (Từ E4) và Rename lại ten sheet cho phù hợp là ok.
 
OK! Cám ơn bạn nhé!
:-=
 
Xem từ đầu đến giờ cũng chưa hiểu tác giả cần mấy cái sheet ấy chạy tới chạy lui để làm gì nữa?
Có ai biết mục đích của yêu cầu này không?
 
Xem từ đầu đến giờ cũng chưa hiểu tác giả cần mấy cái sheet ấy chạy tới chạy lui để làm gì nữa?
Có ai biết mục đích của yêu cầu này không?
Em nghĩ là bạn ấy muốn làm 1 Menu nên cố tình đặt sheet Menu, để LINK đến sheet cần đến. Chứ MOVE lại nhìn Sheet Tab lộn xộn thêm.
 
Link thì tôi hiểu, còn move sheet thì thật chẳng hiểu để làm giống gì nữa

do a chưa gặp, hôm nay e đã gặp :-=, e có làm 1 file cho 1 bạn trên GPE.

File đó gồm 77 sheet, e tạo 1 macro tự động tạo sheet mới có tên là Index + tạo Link đến tất cả các sheet (Sheet Index này dùng để hỗ trợ việc in nhiều sheet liên tục)

Vấn đề là, nếu e đang select tại sheet thứ 50 thì khi tạo sheet Index đó thì nó sẽ nằm cạnh sheet 50 chứ ko thể move về sheet đầu tiên tức là trước sheet 1.
 
Hì em cám ơn những comments của 2 anh!
em cũng thấy lộn xộn thật.+-+-+-+
 
Hì em cám ơn những comments của 2 anh!
em cũng thấy lộn xộn thật.+-+-+-+

Có lẽ bạn muốn di chuyển nhanh tới sheet càn muốn vậy chỉ cần làm hyperlik là được hoặc chỉ cần code

Mã:
Private Sub Worksheet_Change(ByVal Target As Range)


    Application.DisplayAlerts = False
    If Not Intersect(Target, [C3]) Is Nothing Then
        Sheets([C3].Value).Select
    End If
    Application.DisplayAlerts = True


End Sub
Chứ code trước sẽ làm lộn xộn thứ tự sheet hơi bị rối ah
 
Web KT
Back
Top Bottom