Hỏi về code xóa nhiều sheet kết hợp với không cho thoát file thông thường (1 người xem)

Liên hệ QC

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

matran25251325

Thành viên tiêu biểu
Tham gia
13/1/11
Bài viết
424
Được thích
39
Em có mày mò trên diễn đàn thì gặp được code của thầy NDU:
1> Code trong Thisworkbook:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Chk = False Then
Cancel = True
Application.ExecuteExcel4Macro ("ALERT(""Ban phai bam vao nut 'QUIT' cua chuong trinh"",2)")
Else
If Workbooks.Count = 1 Then Application.Quit
End If
End Sub

2> Code trong Module
Code:
Public Chk As Boolean
Sub CloseWb()
Dim Ans As Long
With CreateObject("WScript.Shell")
Ans = .Popup("Ban có muon luu '" & ThisWorkbook.Name & "' khong?", , "THÔNG BÁO", vbYesNo)
End With
If Ans <> 2 Then
Chk = True
ThisWorkbook.Close (Ans = 6)
End If
End Sub

Nay em mún bổ sung vào code module của thầy ndu 1 đoạn với ý định là sau khi thoát file sẽ xóa vài sheet theo chỉ định trước: ví dụ sau khi chạy code trên sẽ xóa sheet 2, 5, 9 rồi lưu và thoát file thì em sẽ bổ sung thế nào. Chúc GPE.com và mọi người ăn lễ vui vẻ }}}}}
 
Lần chỉnh sửa cuối:
Em có mày mò trên diễn đàn thì gặp được code của thầy NDU:
1> Code trong Thisworkbook:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Chk = False Then
Cancel = True
Application.ExecuteExcel4Macro ("ALERT(""Ban phai bam vao nut 'QUIT' cua chuong trinh"",2)")
Else
If Workbooks.Count = 1 Then Application.Quit
End If
End Sub

2> Code trong Module
Code:
Public Chk As Boolean
Sub CloseWb()
Dim Ans As Long
With CreateObject("WScript.Shell")
Ans = .Popup("Ban có muon luu '" & ThisWorkbook.Name & "' khong?", , "THÔNG BÁO", vbYesNo)
End With
If Ans <> 2 Then
Chk = True
ThisWorkbook.Close (Ans = 6)
End If
End Sub

Nay em mún bổ sung vào code module của thầy ndu 1 đoạn với ý định là sau khi thoát file sẽ xóa vài sheet theo chỉ định trước: ví dụ sau khi chạy code trên sẽ xóa sheet 2, 5, 9 rồi lưu và thoát file thì em sẽ bổ sung thế nào. Chúc GPE.com và mọi người ăn lễ vui vẻ }}}}}
Bạn chèn vào code nào bạn muốn chạy xong rồi thực hiện theo ý bạn
[GPECODE=vb]Application.DisplayAlerts = False
Sheets("Sheet2").Delete
ThisWorkbook.Close (True)
Application.DisplayAlerts = True[/GPECODE]
 
Upvote 0
Bạn chèn vào code nào bạn muốn chạy xong rồi thực hiện theo ý bạn
[GPECODE=vb]Application.DisplayAlerts = False
Sheets("Sheet2").Delete
ThisWorkbook.Close (True)
Application.DisplayAlerts = True[/GPECODE]
Dạ chưa đúng lắm anh Việt hoài. Như file đính kèm thì sau khi nhấp "Quit" thì code sẽ xóa sheet3, sheet4, sheet5 và hiện thông báo có lưu file không? Mong anh tiếp tục giúp
 

File đính kèm

Upvote 0
Dạ chưa đúng lắm anh Việt hoài. Như file đính kèm thì sau khi nhấp "Quit" thì code sẽ xóa sheet3, sheet4, sheet5 và hiện thông báo có lưu file không? Mong anh tiếp tục giúp
Ở bài 1 bạn nói: sau khi chạy code trên sẽ xóa sheet 2, 5, 9 rồi lưu và thoát file
[GPECODE=vb]Sub CloseWb()
Dim Ans As Long
Application.DisplayAlerts = False
Sheets("Sheet2").Delete
With CreateObject("WScript.Shell")
Ans = .Popup("Ban có muon luu '" & ThisWorkbook.Name & "' khong?", , "THÔNG BÁO", vbYesNo)
End With
If Ans <> 2 Then
Chk = True
ThisWorkbook.Close (Ans = 6)
End If
Application.DisplayAlerts = True

End Sub[/GPECODE]


 
Upvote 0

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

Back
Top Bottom