Kính nhờ giúp chỉnh code nút "Xóa"

Liên hệ QC

cutun2610

Thành viên mới
Tham gia
4/5/21
Bài viết
16
Được thích
3
Sau khi gõ tên và nhấn tìm kiếm --> chọn vào dữ liệu mới tìm kiếm --> nhấn xóa. Em đang bị lỗi khi xóa dòng cuối trong bảng excel, nó không xóa hết được, còn các dòng trên dòng cuối thì xóa bình thường ạ. Các anh/chị giúp em sửa lỗi này với -+*/ Em cảm ơn rất nhiều!!!!
[I---CODE NÚT XÓA của em ạ[/ICODE]
Private Sub btnClear_Click()
On Error Resume Next
g = 0
Do
DoEvents
g = g + 1
p = Sheet1.Range("a" & g)
If p = txtMa.Text Then
Sheet1.Range("a" & g).Select
Selection.Delete
Sheet1.Range("b" & g).Select
Selection.Delete
Sheet1.Range("c" & g).Select
Selection.Delete
Sheet1.Range("d" & g).Select
Selection.Delete
Sheet1.Range("e" & g).Select
Selection.Delete
Sheet1.Range("f" & g).Select
Selection.Delete
End If
Loop Until p = ""
Form1.txtMa.SetFocus
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")

If MsgBox("Ban co chac chan muon xoa khong", vbYesNo, "Xoa du lieu") = vbNo Then
Exit Sub
Else
MsgBox "Da xoa du lieu"
End If
End Sub
 

File đính kèm

  • khởi chay form_update.xlsm
    35 KB · Đọc: 16
Sau khi gõ tên và nhấn tìm kiếm --> chọn vào dữ liệu mới tìm kiếm --> nhấn xóa. Em đang bị lỗi khi xóa dòng cuối trong bảng excel, nó không xóa hết được, còn các dòng trên dòng cuối thì xóa bình thường ạ. Các anh/chị giúp em sửa lỗi này với -+*/ Em cảm ơn rất nhiều!!!!
[I---CODE NÚT XÓA của em ạ[/ICODE]
Private Sub btnClear_Click()
On Error Resume Next
g = 0
Do
DoEvents
g = g + 1
p = Sheet1.Range("a" & g)
If p = txtMa.Text Then
Sheet1.Range("a" & g).Select
Selection.Delete
Sheet1.Range("b" & g).Select
Selection.Delete
Sheet1.Range("c" & g).Select
Selection.Delete
Sheet1.Range("d" & g).Select
Selection.Delete
Sheet1.Range("e" & g).Select
Selection.Delete
Sheet1.Range("f" & g).Select
Selection.Delete
End If
Loop Until p = ""
Form1.txtMa.SetFocus
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")

If MsgBox("Ban co chac chan muon xoa khong", vbYesNo, "Xoa du lieu") = vbNo Then
Exit Sub
Else
MsgBox "Da xoa du lieu"
End If
End Sub
Chỉ code cho nút Xóa các cái còn lại tôi không quan tâm.
Mã:
Private Sub btnClear_Click()
On Error Resume Next
    Dim Rng As Range, p%, g%
    g = Sheet1.Range("a10000").End(xlUp).Row
    Do
        'DoEvents
        p = Sheet1.Range("a" & g).Value
        If p = txtMa.Text Then
            If Rng Is Nothing Then
                Set Rng = Sheet1.Range("A" & g & ":F" & g)
            Else
                Set Rng = Union(Rng, Sheet1.Range("A" & g & ":F" & g))
            End If
        End If
        g = g - 1
    Loop Until g = 1
    If Rng Is Nothing Then
        MsgBox "Khong co du lieu thoa man dieu kien"
    Else
        If MsgBox("Ban co chac chan muon xoa khong", vbYesNo, "Xoa du lieu") = vbNo Then
            Exit Sub
        Else
            Rng.Delete
            MsgBox "Da xoa du lieu"
        End If
    End If
    Form1.txtMa.SetFocus
End Sub
 
Upvote 0
Chỉ code cho nút Xóa các cái còn lại tôi không quan tâm.
Mã:
Private Sub btnClear_Click()
On Error Resume Next
    Dim Rng As Range, p%, g%
    g = Sheet1.Range("a10000").End(xlUp).Row
    Do
        'DoEvents
        p = Sheet1.Range("a" & g).Value
        If p = txtMa.Text Then
            If Rng Is Nothing Then
                Set Rng = Sheet1.Range("A" & g & ":F" & g)
            Else
                Set Rng = Union(Rng, Sheet1.Range("A" & g & ":F" & g))
            End If
        End If
        g = g - 1
    Loop Until g = 1
    If Rng Is Nothing Then
        MsgBox "Khong co du lieu thoa man dieu kien"
    Else
        If MsgBox("Ban co chac chan muon xoa khong", vbYesNo, "Xoa du lieu") = vbNo Then
            Exit Sub
        Else
            Rng.Delete
            MsgBox "Da xoa du lieu"
        End If
    End If
    Form1.txtMa.SetFocus
End Sub
Tuyệt vời. Em cám ơn anh nhiều ạ ^_^
 
Upvote 0
Chỉ code cho nút Xóa các cái còn lại tôi không quan tâm.
Mã:
Private Sub btnClear_Click()
On Error Resume Next
    Dim Rng As Range, p%, g%
    g = Sheet1.Range("a10000").End(xlUp).Row
    Do
        'DoEvents
        p = Sheet1.Range("a" & g).Value
        If p = txtMa.Text Then
            If Rng Is Nothing Then
                Set Rng = Sheet1.Range("A" & g & ":F" & g)
            Else
                Set Rng = Union(Rng, Sheet1.Range("A" & g & ":F" & g))
            End If
        End If
        g = g - 1
    Loop Until g = 1
    If Rng Is Nothing Then
        MsgBox "Khong co du lieu thoa man dieu kien"
    Else
        If MsgBox("Ban co chac chan muon xoa khong", vbYesNo, "Xoa du lieu") = vbNo Then
            Exit Sub
        Else
            Rng.Delete
            MsgBox "Da xoa du lieu"
        End If
    End If
    Form1.txtMa.SetFocus
End Sub
Anh ơi, đợt trước anh có giúp em chỉnh lại code nút "Xóa". Anh có thể giúp em đoạn code với mục đích sau khi lệnh xóa được thực hiện thì đồng thời dòng dữ liệu vừa xóa sẽ nhảy sang sheet bên cạnh được không ạ? cứ thế tuần tự xóa xong nó sẽ nhảy sang sheet đó để mình theo dõi được coi đã xóa bao nhiêu nguời. Anh giúp em code này được không ạ?
 
Upvote 0
Web KT
Back
Top Bottom