Cần khắc phục Code Delete các Sheet (Chỉ giữ lại 1 Sheet nằm bên trái ngoài cùng) (1 người xem)

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

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
934
Được thích
240
Giới tính
Nam
Xin chào các Anh chị và các bạn GPE!
Nhờ các Anh chị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Tôi có một File Excel gồm n Sheet (Có thể là 2, 3, 4,... n Sheet) tùy theo tình hình thực tế phát sinh. Để Delete các Sheet (Chỉ giữ lại 1 Sheet duy nhất là Sheet nằm bên trái ngoài cùng) trong File đó tôi xài Code như sau:
[GPECODE=vb]
Sub Delete
Dim Ws As Worksheet
Application.DisplayAlerts = False
For Each Ws In Worksheets
If Ws.Name <> "Sheet1" Then
Sheets("" & Ws.Name & "").Delete
End If
Next
Application.DisplayAlerts = True
End Sub​
[/GPECODE]
=> Vấn đề được đặt ra ở đây là: Code trên có nhược điểm là chỉ giữ lại Sheet tên là Sheet1 và phải phụ thuộc vào tên Sheet1 nằm ở bên trái ngoài cùng thì Code trên mới có hiệu quả => Có cách nào khắc phục được nhược điểm của Code trên (Không phải phụ thuộc vào tên Sheet) mà vẫn giải quyết được vấn đề ở trên hay không?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
 
Bạn đừng nói với mọi người là bạn không biết tên trang tính bạn cần để lại đó nha.

--=0 --=0 --=0 ,,,,,,, ,,,,,,, ,,,,,,,
 
Upvote 0
Sub xxx()
Do While Sheets.Count>1
Sheets(2).Delete
Loop
End Sub
Mình viết bằng điện thoại nên có thể có lỗi, bạn thử xem.
 
Upvote 0
Sub xxx()
Do While Sheets.Count>1
Sheets(2).Delete
Loop
End Sub
Mình viết bằng điện thoại nên có thể có lỗi, bạn thử xem.
Code chạy rất mượt. Tuy nhiên, khi xóa Sheet nó hiện hộp thoại để xác nhận có xóa Sheet hay không. Để khắc phục điều này tôi cho thêm lệnh Application.DisplayAlerts = False:
[GPECODE=vb]Sub Delete()
Application.DisplayAlerts = False
Do While Sheets.Count>1
Sheets(2).Delete
Loop
Application.DisplayAlerts = True
End Sub[/GPECODE]
 
Upvote 0
Góp vui thêm một code nào!
[GPECODE=vb]Sub DeleteSheets()
Dim i As Long
Application.DisplayAlerts = False
For i = Sheets.Count To 2 Step -1
Sheets(i).Delete
Next
Application.DisplayAlerts = True
End Sub[/GPECODE]
 
Upvote 0

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

Back
Top Bottom