Cần giúp Macro xóa sheet thời gian định trước

Liên hệ QC

nguahoangsad

Thành viên mới
Tham gia
13/7/10
Bài viết
20
Được thích
1
Cần anh em giúp!
Mình muốn một Macro để xóa các sheet 1; 2; 3... theo một thời gian định sẳn nào đó.
có anh em nào giúp mình với.
 
Có anh em nào giúp mình với. Thanks AE nhiều!
 
Vi du:
Hiện tại mình có một file lịch bóng đá, trong file bao gồm các sheet sau: "Schedule"; "Bracket"; "Teams"; "Settings" và "About"
ở đây mình muốn vào ngày 10/07/2016 sheet "Schedule" sẽ tự động xóa nếu file này được mở lên.
tiếp theo vào ngày 15/07/2016 thì sheet "Bracket" sẽ bị xóa nếu file tiếp tục được mở lên....
và tương tự các sheet còn lại sẽ tự bị xóa theo ngày mình định sẳn trong macro trước đó.
file đính kèm:

Thanks @Lê Duy Thương giúp mình cái này với
 

File đính kèm

Vi du:
Hiện tại mình có một file lịch bóng đá, trong file bao gồm các sheet sau: "Schedule"; "Bracket"; "Teams"; "Settings" và "About"
ở đây mình muốn vào ngày 10/07/2016 sheet "Schedule" sẽ tự động xóa nếu file này được mở lên.
tiếp theo vào ngày 15/07/2016 thì sheet "Bracket" sẽ bị xóa nếu file tiếp tục được mở lên....
và tương tự các sheet còn lại sẽ tự bị xóa theo ngày mình định sẳn trong macro trước đó.
file đính kèm:

Thanks @Lê Duy Thương giúp mình cái này với
Đương nhiên là làm được nhưng nếu người dùng Disible macro thì tôi chịu và họ vẫn sử dụng file này bình thường. bạn nên nghic cách khác đi nhé.--=0
 
Đương nhiên là làm được nhưng nếu người dùng Disible macro thì tôi chịu và họ vẫn sử dụng file này bình thường. bạn nên nghic cách khác đi nhé.--=0
Chỉ giúp mình , cái này mình chưa hiểu lắm
làm như thế này mà nó không chạy được , có gì sai chỉ tiếp hộ mình

Sub DelWs()
Application.DisplayAlerts = False
Dim Ws As Worksheet, WsName
For Each Ws In ThisWorkbook.Worksheets
If UCase(Ws.Name) = "SHEET2" And Now <= "28/06/2016" Then
Ws.Delete
End If
Next Ws
Application.DisplayAlerts = True
End Sub
 
Chỉ giúp mình , cái này mình chưa hiểu lắm
làm như thế này mà nó không chạy được , có gì sai chỉ tiếp hộ mình

Sub DelWs()
Application.DisplayAlerts = False
Dim Ws As Worksheet, WsName
For Each Ws In ThisWorkbook.Worksheets
If UCase(Ws.Name) = "SHEET2" And Now <= "28/06/2016" Then
Ws.Delete
End If
Next Ws
Application.DisplayAlerts = True
End Sub

Mình thấy trong file của bạn đâu có SHEET2
Cái thức 2 nữa là Now phải là >=
thứ 3, format date mỗi máy khác nhau nên ko nên viết trc tiếp ngày mà dùng Dateserial
 

File đính kèm

@Quangluu1989
Sửa trực tiếp trên file này giúp mình với.
thế này thui
Mã:
Sub DelWs()
Application.DisplayAlerts = False
Dim Ws As Worksheet, WsName
For Each Ws In ThisWorkbook.Worksheets
    If UCase(Ws.Name) = "SHEET2" And Now >= DateSerial(2016, 6, 28) Then
        Ws.Delete
    End If
Next Ws
Application.DisplayAlerts = True
End Sub
 
Đúng là không chạy được. bạn nguahoangsad chạy được chưa? share cho anh em cái nào!

bạn đọc code là xoá sheet có tên là sheet 2 và thoả mãn ngày, k biết bạn bảo k chạy đc là như thế nào? Bạn đã enable macro chửa?
 

File đính kèm

Tôi đã thử & thấy việc xóa Sheet2 hoàn toàn bình thường.
 
Web KT

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

Back
Top Bottom