Fix lỗi VBA - Clear dữ liệu (1 người xem)

Liên hệ QC

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

ti@ict.com

Thành viên mới
Tham gia
29/3/11
Bài viết
25
Được thích
2
Chào AE GPE. Mình đang làm file nhập hàng. Nhưng mình bị lỗi button Clear. Nhờ AE GPE gỡ rối giúp mình. Thanks

Ps: Mình đã tìm 2 ngày rồi mà không có kết quả. Đành làm phiền anh em 1 tí.
 

File đính kèm

Lỗi như thế nào đề nghị nói rõ đi chủ thớt! Dò cái lỗi của bạn đến mùa world cup 2022 mất!
 
Upvote 0
Thứ nhất: Bấm vô nút lệnh [Clear] Code vẫn chạy 1 cách bình thường (nghĩa là không báo lỗi)
Vậy lỗi là macro không làm đúng theo í đồ của bạn? Vậy, như bạn trên đã nêu, í đồ của bạn chưa được thực hiện là gì?

Nhân đây xin mạnh dạn góp vài í nhỏ mọn:
1./ Tên trang tính cũng như tên các Control quá dài & theo mình là không cần thiết dài đến thế; Lấy ví dụ thay vì 'BN_DMHang', nên chăng chỉ là 'DMHH'
1.1./ Các Control nên có tên tường minh; như TextBox8.Text nên là tbCKhau.Text
Nhìn vô ta mường tượng được nó là gì & nên nhập gì vô nó. & cái quan trọng hơn là tránh được những sai sót ngớ ngẩn mà không fải lúc nào cũng dễ tìm ra;

2./ Với mình, thói quen luôn là thẳng cột trong viết Code; Chuyện là dễ kiểm soát thiếu đủ các vòng lặp,. . . . Như vầy:
PHP:
Private Sub CommandButton3_Click() ' Delete Button
 Dim sil As Long
 If ListBox1.ListIndex = -1 Then
   MsgBox "Choose an entry", vbExclamation
   Exit Sub
 End If
 If ListBox1.ListIndex >= 0 Then
    cevap = MsgBox("Entry will be deleted. ... Are you sure ?", vbYesNo)
    If cevap = vbYes Then
        Sheets("BN_NhapHang").Range("B:B").Find(What:=ListBox1.Value, LookIn:=xlValues, LookAt:=xlWhole).Activate
        sil = ActiveCell.Row
        Sheets("BN_NhapHang").Rows(sil).Delete
    End If
 End If
 Call Main 'Progress Bar    '
 For a = 1 To 18
    Controls("textbox" & a) = ""
 Next a
 ListBox1.List = Sheets("BN_NhapHang").Range("B2:S" & Cells(Rows.Count, 1).End(xlUp).Row).Value
 TextBox19.Value = ListBox1.ListCount
End Sub
(Nếu bạn quán xuyến tốt các dòng lệnh thì xin bỏ qua khuyến cáo này)

3./ Như là mình thì sẽ nhập 2 trang tính thành trang 'DMuc' gồm 2 bảng dữ liệu;
Bảng thứ nhất là danh mục hàng hóa & bảng thứ 2 là danh mục khách hàng hay nhà cung cấp

Tạm là vậy & mong không làm fiền đến bạn bỡi những điều trên.
 
Upvote 0
Thứ nhất: Bấm vô nút lệnh [Clear] Code vẫn chạy 1 cách bình thường (nghĩa là không báo lỗi)
Vậy lỗi là macro không làm đúng theo í đồ của bạn? Vậy, như bạn trên đã nêu, í đồ của bạn chưa được thực hiện là gì?

Nhân đây xin mạnh dạn góp vài í nhỏ mọn:
1./ Tên trang tính cũng như tên các Control quá dài & theo mình là không cần thiết dài đến thế; Lấy ví dụ thay vì 'BN_DMHang', nên chăng chỉ là 'DMHH'
1.1./ Các Control nên có tên tường minh; như TextBox8.Text nên là tbCKhau.Text
Nhìn vô ta mường tượng được nó là gì & nên nhập gì vô nó. & cái quan trọng hơn là tránh được những sai sót ngớ ngẩn mà không fải lúc nào cũng dễ tìm ra;

2./ Với mình, thói quen luôn là thẳng cột trong viết Code; Chuyện là dễ kiểm soát thiếu đủ các vòng lặp,. . . . Như vầy:
PHP:
Private Sub CommandButton3_Click() ' Delete Button
Dim sil As Long
If ListBox1.ListIndex = -1 Then
   MsgBox "Choose an entry", vbExclamation
   Exit Sub
End If
If ListBox1.ListIndex >= 0 Then
    cevap = MsgBox("Entry will be deleted. ... Are you sure ?", vbYesNo)
    If cevap = vbYes Then
        Sheets("BN_NhapHang").Range("B:B").Find(What:=ListBox1.Value, LookIn:=xlValues, LookAt:=xlWhole).Activate
        sil = ActiveCell.Row
        Sheets("BN_NhapHang").Rows(sil).Delete
    End If
End If
Call Main 'Progress Bar    '
For a = 1 To 18
    Controls("textbox" & a) = ""
Next a
ListBox1.List = Sheets("BN_NhapHang").Range("B2:S" & Cells(Rows.Count, 1).End(xlUp).Row).Value
TextBox19.Value = ListBox1.ListCount
End Sub
(Nếu bạn quán xuyến tốt các dòng lệnh thì xin bỏ qua khuyến cáo này)

3./ Như là mình thì sẽ nhập 2 trang tính thành trang 'DMuc' gồm 2 bảng dữ liệu;
Bảng thứ nhất là danh mục hàng hóa & bảng thứ 2 là danh mục khách hàng hay nhà cung cấp

Tạm là vậy & mong không làm fiền đến bạn bỡi những điều trên.
Thanks bạn đã góp y - Nhờ bạn fix giúp mình Nhút Clear đó chư ko phải nứt Del
 
Upvote 0
Cảm ơn bạn đã góp y - Nhờ bạn fix giúp mình Nhút Clear đó chư ko phải nứt Del
Trên Form của bạn có 2 nút lệnh 'Clear'
Vậy bạn cần chỉnh hay sửa nút nào trong nớ?

Mà nhắc bạn không nên trên 1 Form có 2 nút lệnh có cùng tên như vậy; dễ thành đống rác lắm!
 
Upvote 0
Web KT

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

Back
Top Bottom