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!
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!
