Chào mọi người trên GPE,
Tôi có chỉnh sửa 1 code sưu tầm trên diễn đàn mình áp dụng cho công việc của mình đó là tạo useform trong đó có listbox chứa dữ liệu, có 1 ô textbox dùng để lọc dữ liệu trên listbox theo ký tự nhập vào textbox
Tuy nhiên có thể do dòng dữ liệu trên textbox quá lớn hay sao mà chạy lệnh toàn báo lỗi (gần 10000 dòng)
Nhờ mọi người giúp xem phải xử lý như nào để giải quyết vấn đề này
code:
mọi người xem ở userform fchinhsua , textbox t1 và listbox l1 ở file excel đính kèm
Tiện thể sau khi sửa nhờ mọi người giúp đỡ viết code cho nút Sửa ở userform fchinhsua
Mục đích của nút Sửa là : khi ta chọn 1 list trong listbox l1 thì các ô textbox t2-t19 sẽ hiển thị nội dung dòng list tại listbox l1, sau đó ta thay đổi các ô textbox này ấn Sửa --> sẽ nhập lại dữ liệu các ô textbox trong userform vào đúng vị trí đã chọn trên bảng excel sheets "BC_ngay"
Tôi có chỉnh sửa 1 code sưu tầm trên diễn đàn mình áp dụng cho công việc của mình đó là tạo useform trong đó có listbox chứa dữ liệu, có 1 ô textbox dùng để lọc dữ liệu trên listbox theo ký tự nhập vào textbox
Tuy nhiên có thể do dòng dữ liệu trên textbox quá lớn hay sao mà chạy lệnh toàn báo lỗi (gần 10000 dòng)
Nhờ mọi người giúp xem phải xử lý như nào để giải quyết vấn đề này
code:
Mã:
strsearch = LCase(t1.Text)
Dim lr As Long
lr = Sheets("BC_ngay").Range("B" & Rows.Count).End(xlUp).Row
If lr - 3 <= 99999999 Then
Dim rw As Range, R As Range
Set R = Sheets("BC_ngay").Range("A5:AF" & lr)
With l1
.Clear ' Lam moi Listbox
For Each rw In R.Rows
' Do tim theo Ma hang, ten hang, don vi tinh
If InStr(LCase(Sheets("BC_ngay").Cells(rw.Row, 1) & Sheets("BC_ngay").Cells(rw.Row, 2) & Sheets("BC_ngay").Cells(rw.Row, 3) & Sheets("BC_ngay").Cells(rw.Row, 4) & Sheets("BC_ngay").Cells(rw.Row, 5) & Sheets("BC_ngay").Cells(rw.Row, 6) & Sheets("BC_ngay").Cells(rw.Row, 7) & Sheets("BC_ngay").Cells(rw.Row, 8) & Sheets("BC_ngay").Cells(rw.Row, 9) & Sheets("BC_ngay").Cells(rw.Row, 11) & Sheets("BC_ngay").Cells(rw.Row, 12)), strsearch) Then
' Neu chuoi can tim co trong chuoi Ma hang nôi voi Ten hang nôi voi Don vi tinh thi add vao Listbox
.AddItem Sheets("BC_ngay").Cells(rw.Row, 1).Value
.List(l1.ListCount - 1, 0) = Sheets("BC_ngay").Cells(rw.Row, 1).Value
.List(l1.ListCount - 1, 1) = Sheets("BC_ngay").Cells(rw.Row, 2).Value
.List(l1.ListCount - 1, 2) = Sheets("BC_ngay").Cells(rw.Row, 3).Value
.List(l1.ListCount - 1, 3) = Sheets("BC_ngay").Cells(rw.Row, 4).Value
.List(l1.ListCount - 1, 4) = Sheets("BC_ngay").Cells(rw.Row, 5).Value
.List(l1.ListCount - 1, 5) = Sheets("BC_ngay").Cells(rw.Row, 6).Value
.List(l1.ListCount - 1, 6) = Sheets("BC_ngay").Cells(rw.Row, 7).Value
.List(l1.ListCount - 1, 7) = Sheets("BC_ngay").Cells(rw.Row, 8).Value
.List(l1.ListCount - 1, 8) = Sheets("BC_ngay").Cells(rw.Row, 9).Value
.List(l1.ListCount - 1, 9) = Sheets("BC_ngay").Cells(rw.Row, 10).Value
.List(l1.ListCount - 1, 10) = Sheets("BC_ngay").Cells(rw.Row, 11).Value
.List(l1.ListCount - 1, 11) = Sheets("BC_ngay").Cells(rw.Row, 12).Value
.List(l1.ListCount - 1, 12) = Sheets("BC_ngay").Cells(rw.Row, 13).Value
.List(l1.ListCount - 1, 13) = Sheets("BC_ngay").Cells(rw.Row, 14).Value
.List(l1.ListCount - 1, 14) = Sheets("BC_ngay").Cells(rw.Row, 15).Value
.List(l1.ListCount - 1, 15) = Sheets("BC_ngay").Cells(rw.Row, 16).Value
.List(l1.ListCount - 1, 16) = Sheets("BC_ngay").Cells(rw.Row, 17).Value
.List(l1.ListCount - 1, 17) = Sheets("BC_ngay").Cells(rw.Row, 18).Value
.List(l1.ListCount - 1, 18) = Sheets("BC_ngay").Cells(rw.Row, 19).Value
.List(l1.ListCount - 1, 19) = Sheets("BC_ngay").Cells(rw.Row, 20).Value
.List(l1.ListCount - 1, 20) = Sheets("BC_ngay").Cells(rw.Row, 21).Value
.List(l1.ListCount - 1, 21) = Sheets("BC_ngay").Cells(rw.Row, 22).Value
.List(l1.ListCount - 1, 22) = Sheets("BC_ngay").Cells(rw.Row, 23).Value
.List(l1.ListCount - 1, 23) = Sheets("BC_ngay").Cells(rw.Row, 24).Value
.List(l1.ListCount - 1, 24) = Sheets("BC_ngay").Cells(rw.Row, 25).Value
.List(l1.ListCount - 1, 25) = Sheets("BC_ngay").Cells(rw.Row, 26).Value
.List(l1.ListCount - 1, 26) = Sheets("BC_ngay").Cells(rw.Row, 27).Value
.List(l1.ListCount - 1, 27) = Sheets("BC_ngay").Cells(rw.Row, 28).Value
.List(l1.ListCount - 1, 28) = Sheets("BC_ngay").Cells(rw.Row, 29).Value
.List(l1.ListCount - 1, 29) = Sheets("BC_ngay").Cells(rw.Row, 30).Value
.List(l1.ListCount - 1, 30) = Sheets("BC_ngay").Cells(rw.Row, 31).Value
.List(l1.ListCount - 1, 31) = Sheets("BC_ngay").Cells(rw.Row, 32).Value
End If
Next rw
End With
End If
Tiện thể sau khi sửa nhờ mọi người giúp đỡ viết code cho nút Sửa ở userform fchinhsua
Mục đích của nút Sửa là : khi ta chọn 1 list trong listbox l1 thì các ô textbox t2-t19 sẽ hiển thị nội dung dòng list tại listbox l1, sau đó ta thay đổi các ô textbox này ấn Sửa --> sẽ nhập lại dữ liệu các ô textbox trong userform vào đúng vị trí đã chọn trên bảng excel sheets "BC_ngay"