Xóa nhiều sheet cùng lúc trong excel

Liên hệ QC

linhung8589

Thành viên mới
Tham gia
11/7/11
Bài viết
16
Được thích
2
Cả nhà ơi cho e hỏi, e muốn xóa nhiều sheet cùng lúc trong excel thì như thế nào ah? Ví dụ có 10 sheet chỉ để lại 1 sheet, xóa 9 sheet còn lại ah?
 
Cả nhà ơi cho e hỏi, e muốn xóa nhiều sheet cùng lúc trong excel thì như thế nào ah? Ví dụ có 10 sheet chỉ để lại 1 sheet, xóa 9 sheet còn lại ah?

Đặt tên sheet cần chừa lại là GPE.
Chạy Code này sẽ xoá sạch sành sanh.
PHP:
Public Sub GPE()
Application.DisplayAlerts = False
Dim Ws As Worksheet
For Each Ws In Worksheets
    If Ws.Name <> "GPE" Then Ws.Delete
Next Ws
Application.DisplayAlerts = True
End Sub
 
Cả nhà ơi cho e hỏi, e muốn xóa nhiều sheet cùng lúc trong excel thì như thế nào ah? Ví dụ có 10 sheet chỉ để lại 1 sheet, xóa 9 sheet còn lại ah?

Đơn giản chọn (select) các sheet (cần xoá) đó ở tab Sheet (góc trái dưới màn hình excel) rồi RightClick --> Delete là xong,

Các chọn nhanh, bỏ chọn 1 sheet, chắc chắn bạn làm tốt
 
Click vào sheet đầu tiên
Nhấn và giữ phím Shift, click vào sheet cuối cùng (tức là chọn tất cả các sheets)
Nhấn và giữ phím Control, click vào sheet muốn giữ lại (tức là loại nó ra khỏi số sheets vừa chọn)
Click chuột phải, chọn delete
Hết
 
Sau khi làm cái print multi sheet, tiện thể làm cái delete multi sheet.
Chủ topic nếu hứng thú thì tải về dùng nhé.
 

File đính kèm

  • Delete Sheets.zip
    21.5 KB · Đọc: 127
Sau khi làm cái print multi sheet, tiện thể làm cái delete multi sheet.
Chủ topic nếu hứng thú thì tải về dùng nhé.
Tôi thấy chổ
Mã:
Sheets(ListBox1.List(j - 1, 0)).Delete
chưa ổn nhé bác.
Mã:
Private Sub B_del_Click()
Application.DisplayAlerts = False
Dim j As Integer, n&, t&

With ListBox1
    For t = 0 To .ListCount - 1
    If .Selected(t) Then n = n + 1
    Next
'TH1:
If n = 0 Then
    Exit Sub
End If
'TH2:
If n = ListBox1.ListCount Then
    MsgBox "Workbook toi thieu phai co mot (01) worksheet!" & vbNewLine & "Uncheck sheet can giu lai.", vbInformation, "Thông báo"
    Exit Sub
End If
'TH3:
If n >= 1 And n < ListBox1.ListCount Then
    For j = 1 To ListBox1.ListCount
       If ListBox1.Selected(j - 1) = True Then
         'Lỡ Sheet đang ẩn thì sẽ báo lỗi nhé.
          Sheets(ListBox1.List(j - 1, 0)).Delete
          ListBox1.Selected(j - 1) = False
       End If
    Next
    ListBox1.Clear
    Call UserForm_Initialize
End If

End With

Application.DisplayAlerts = False
End Sub
 
Đặt tên sheet cần chừa lại là GPE.
Chạy Code này sẽ xoá sạch sành sanh.
PHP:
Public Sub GPE()
Application.DisplayAlerts = False
Dim Ws As Worksheet
For Each Ws In Worksheets
    If Ws.Name <> "GPE" Then Ws.Delete
Next Ws
Application.DisplayAlerts = True
End Sub
bác Ba Tê ơi cho em hỏi nếu muốn để lại 3 sheet còn lại xóa hết các sheet khác thì core viết lại thể nào vậy bác. Mong bác chỉ em dùm, em cảm ơn bác.
 
bác Ba Tê ơi cho em hỏi nếu muốn để lại 3 sheet còn lại xóa hết các sheet khác thì core viết lại thể nào vậy bác. Mong bác chỉ em dùm, em cảm ơn bác.
Bạn dùng thêm điều kiện And. Điều kiện và cho các sheet bạn muốn để lại thì sẽ thực hiện được lệnh thôi.
 
Tôi thấy chổ
Mã:
Sheets(ListBox1.List(j - 1, 0)).Delete
chưa ổn nhé bác.
Mã:
Private Sub B_del_Click()
Application.DisplayAlerts = False
Dim j As Integer, n&, t&

With ListBox1
    For t = 0 To .ListCount - 1
    If .Selected(t) Then n = n + 1
    Next
'TH1:
If n = 0 Then
    Exit Sub
End If
'TH2:
If n = ListBox1.ListCount Then
    MsgBox "Workbook toi thieu phai co mot (01) worksheet!" & vbNewLine & "Uncheck sheet can giu lai.", vbInformation, "Thông báo"
    Exit Sub
End If
'TH3:
If n >= 1 And n < ListBox1.ListCount Then
    For j = 1 To ListBox1.ListCount
       If ListBox1.Selected(j - 1) = True Then
         'Lỡ Sheet đang ẩn thì sẽ báo lỗi nhé.
          Sheets(ListBox1.List(j - 1, 0)).Delete
          ListBox1.Selected(j - 1) = False
       End If
    Next
    ListBox1.Clear
    Call UserForm_Initialize
End If

End With

Application.DisplayAlerts = False
End Sub

bác @giaiphap tích hợp luôn chức năng xoá/unhide sheet hàng loạt vào vnTools được ko ạ? coi như cập nhật ver 2021 lun :)

Bạn thử nhấn phím Ctrl trong khi mở Excel xem có thông báo lỗi gì không? Nếu vẫn còn bạn thử xem cách này thế nào nhé.
http://answers.microsoft.com/en-us/...k/5da89258-34fa-4bcc-96bc-223787da6ada?auth=1
Hoặc
http://www.codedawn.com/index/-compile-error-in-hidden-module-message-in-excel
bác có chạy được add-in RegEx của trang Codedawn trên win 64bit ko ạ? e thử các kiểu vẫn bị lỗi hidden module
 

File đính kèm

  • RegEx Find-Replace.xlam
    98 KB · Đọc: 3
Lần chỉnh sửa cuối:
bác @giaiphap tích hợp luôn chức năng xoá/unhide sheet hàng loạt vào vnTools được ko ạ? coi như cập nhật ver 2021 lun :)


bác có chạy được add-in RegEx của trang Codedawn trên win 64bit ko ạ? e thử các kiểu vẫn bị lỗi hidden module
Trong cái VnTools đã có sẳn chức năng Hide và Unhide nhều sheet cùng lúc rồi bạn nhé, còn vụ nâng cấp thì mình chưa tính (Do không rảnh).
Cái RegEx Find-Replace.xlam có sử dụng một số hàm API, mà hàm API thì 32bit chạy khác và 64bit chạy khác. Cái hiện tại chỉ viết cho 32bit thôi, bạn klhông thể sử dụng được cho 64bit. Muốn sử dụng 64Bit bạn phải liên hệ tác giả nhé, còn sửa code là tôi không làm được.
 
Trong cái VnTools đã có sẳn chức năng Hide và Unhide nhều sheet cùng lúc rồi bạn nhé, còn vụ nâng cấp thì mình chưa tính (Do không rảnh).
Cái RegEx Find-Replace.xlam có sử dụng một số hàm API, mà hàm API thì 32bit chạy khác và 64bit chạy khác. Cái hiện tại chỉ viết cho 32bit thôi, bạn klhông thể sử dụng được cho 64bit. Muốn sử dụng 64Bit bạn phải liên hệ tác giả nhé, còn sửa code là tôi không làm được.
sorry bác e nhầm. ý e là tuỳ chọn xoá/hide sheet hàng loạt cơ ạ. Cái tính năng ẩn nhiều sheet trong vnTools hơi bị dị còn ẩn/xoá thủ công (giữ shift + chọn sheet) thì lại mất thời gian >"<

1622168328113.png

Untitled.png


P/s: Tiếc cái add-in RegEx quá bác nhỉ, add-in đó mà biết dùng thì tiện khủng khiếp
 

File đính kèm

  • Del_Sheets.xla
    58 KB · Đọc: 7
Lần chỉnh sửa cuối:
sorry bác e nhầm. ý e là tuỳ chọn xoá/hide sheet hàng loạt cơ ạ. Cái tính năng ẩn nhiều sheet trong vnTools hơi bị dị còn ẩn/xoá thủ công (giữ shift + chọn sheet) thì lại mất thời gian >"<

View attachment 259556

View attachment 259555


P/s: Tiếc cái add-in RegEx quá bác nhỉ, add-in đó mà biết dùng thì tiện khủng khiếp
Tiếp nhận ý kiến, phiên bản sau có nâng cấp sẽ cải thiện và được sẽ đưa chức năng như Add-ins RegEx vào luôn.
 
Web KT
Back
Top Bottom