Code xóa dữ liệu (1 người xem)

Liên hệ QC

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

phonglan555

Thành viên mới
Tham gia
11/7/10
Bài viết
3
Được thích
0
Chào diễn đàn, minh mới tập tò về excel nay nhờ Diễn đàn chỉ giúp đoạn Code xóa dữ liệu: Khi mình click vào nút xóa thị hiện hộp thoại thông báo "có muốn xóa dữ liệu không" nếu chọ "YES" thì xóa những dòng hoặc cột mình đã định và chọn "NO" thì không xóa , sau khi xóa nếu cần có thể Undo trở lại, Rất mong các bác trên diễn đàn chỉ giáo. Xin đa tạ
 
Chào diễn đàn, minh mới tập tò về excel nay nhờ Diễn đàn chỉ giúp đoạn Code xóa dữ liệu: Khi mình click vào nút xóa thị hiện hộp thoại thông báo "có muốn xóa dữ liệu không" nếu chọ "YES" thì xóa những dòng hoặc cột mình đã định và chọn "NO" thì không xóa , sau khi xóa nếu cần có thể Undo trở lại, Rất mong các bác trên diễn đàn chỉ giáo. Xin đa tạ
Vấn đề hiện hộp thoại cảnh báo việc xóa dữ liệu thì không có vấn đề gì, code chỉ cần như vầy là đủ:
PHP:
Sub Xoa_DL()
    If MsgBox("Ban chac chan muon xoa du lieu chu?", vbYesNo, "Xac nhan thong tin") <> 6 Then Exit Sub
    Sheets("Sheet1").Range("A1:D6,B13:F17,H4:K8").ClearContents
End Sub
Còn vấn đề Undo sau khi chạy code thì... quên đi bạn ạ! Không làm nổi đâu!
 

File đính kèm

Upvote 0
Thử xem bạn nhé cho mình mượn tạm File của bạn nghiaphuc vậy:
Bác giúp em với ... e có khoảng 35 vùng dữ liệu cần xóa (đã khai đúng vùng) mà dùng code của bác nó cứ báo lỗi ko biết là thế nào, có phải là đổi số 6 thành số khác hay ko
If MsgBox(" Ban chac chan muon xoa du lieu chu?" & vbCrLf & vbCrLf _
& "Ban chi co the phuc hoi mot lan. Ban co muon tiep tuc?", 64 + 4, "Xac nhan thong tin") <> 6 Then Exit Sub
 
Upvote 0
Public WorkRange As Range
Dim NumAreas As Integer, i As Integer

Sub Xoa_DL()

If MsgBox(" Ban chac chan muon xoa du lieu chu?" & vbCrLf & vbCrLf _
& "Ban chi co the phuc hoi mot lan. Ban co muon tiep tuc?", 64 + 4, "Xac nhan thong tin") <> 6 Then Exit Sub

Sheets("cdpstk").Range("D10:G12,D14:G16,D18:G19,D21:G22,D24:G25,D28:G29,D31:G32,D34:G35,D37:G44,D46:G50,D52:G57,D59:G65,D67:G73,D75:G82,D84:G87,D89:G96,D98:G99,D102:G111,D113:G117,D119:G129,D131:G137,D139:G143,D145:G148,D150:G156,D158:G159,D161:G165,D167:G175,D177:G184,D186:G192,D194:G203,D205:G207,D210:G215").Select

On Error Resume Next

Set WorkRange = Selection

Sht.Range(WorkRange.Address).Clear

If TypeName(Selection) <> "Range" Then
MsgBox "Xin hay chon vung ban muon xoa.", vbExclamation, EXname: Exit Sub
End If

NumAreas = WorkRange.Areas.Count

For i = 1 To NumAreas
WorkRange.Areas(i).Copy Sht.Range(WorkRange.Areas(i).Address)
Next

WorkRange.ClearContents

Application.OnUndo "Undo ClearContents", "UndoClearContents"

End Sub

Public Sub UndoClearContents()

On Error GoTo ErrHandler

Application.ScreenUpdating = False

On Error Resume Next

For i = 1 To NumAreas
Sht.Range(WorkRange.Areas(i).Address).Copy WorkRange.Areas(i)
Next

Application.ScreenUpdating = True

On Error GoTo 0

MsgBox "Da khoi phuc thanh cong!", 64, "Ok"
Exit Sub
ErrHandler:

Application.ScreenUpdating = True

MsgBox "Khong the khoi phuc lai!", 48, "Error"

On Error GoTo 0

End Sub
bác nào xem giúp em với ... em dùng assign macro -> Xoa_DL mà sao chạy link toàn báo lỗi
Sheets("CDPSTK").Range("D10:G12,D14:G16,D18:G19,D21:G22,D24:G25,D28:G29,D31:G32,D34:G35,D37:G44,D46:G50,D52:G57,D59:G65,D67:G73,D75:G82,D84:G87,D89:G96,D98:G99,D102:G111,D113:G117,D119:G129,D131:G137,D139:G143,D145:G148,D150:G156,D158:G159,D161:G165,D167:G175,D177:G184,D186:G192,D194:G203,D205:G207,D210:G215").Select
thanks các bác quan tâm
 
Upvote 0
bác nào xem giúp em với ... em dùng assign macro -> Xoa_DL mà sao chạy link toàn báo lỗi

thanks các bác quan tâm

Dùng Phương thức Union đi đại khái là vậy, bạn phân chia ra từng phần nhỏ để select vì có thể Range mà select nhiều quá bị lỗi bộ nhớ. Dưng trích dẫn nhiều quá những thức không cần thiết để tiết kiệm tài nguyên diễn đàn

[GPECODE=vb]
Union(Range("D10:G12,D14:G16,D18:G19,D21:G22,D24:G25,D28:G29,D31:G32"), Range("D34:G35,D37:G44,D46:G50,D52:G57,D59:G65,D67:G73,D75:G82,D84:G87")).Select
[/GPECODE]
 
Upvote 0

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

Back
Top Bottom