XIN NHỜ SỬA CODE TÌM KIẾM THEO ĐIỀU KIỆN

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Lyly8989

Thành viên mới
Tham gia
1/8/23
Bài viết
4
Được thích
0
Mình có tạo 1 userform nhập dữ liệu và
1. nút CommandButton (LỘC DỮ LIỆU) ,
2. combobox "CNEE"
3. combobox (combobox1)từ ngày
4. combobox (combobox2)đến ngày (3 combobox phụ thuộc nhau)

combobox CNEE là ở sheet cột E được lưu dữ liệu 3 cty gồm DNA, HP, KE,
thao tác:
mỗi khi mình muốn tìm 1 trong 3 cty sau đó chọn từ ngày nào đến ngày nào để search ra dữ liệu
mình làm như này: thìu vụ

chọn tìm cty DNA (tại combobox cnee) > chọn từ ngày đến ngày (combobox1 và combobox2) > click CommandButton (LỘC DỮ LIỆU)
sẽ ra dữ liệu cty mình tìm và ngày tháng năm từ tháng nào đến tháng nào

nhưng code dưới đây chỉ cho search theo tên sheet ,ko cho chọn theo cột của sheet là tên 3 cty ,các bạn vui lòng kiểm dùm mình và nên sữa code ở phần nào ạ,
mình sữa và tìm tòi cả ngày không ra, (mình sữa ở đoạn này nhiều lần nhưng không được)
" For Each ws In ThisWorkbook.Worksheets
If (ws.Name = Me.ComboBox28.Value) Then) "


Dim lastRow As Long, R As Long, c As Long, count As Long, dulieu(), result(), ws As Worksheet, Tcx8 As Double, Tn8 As Double, TnJX As Double, TnJST As Double
If Me.ComboBox28.Value = "" Then
MsgBox "Ban Can Nhap So May", vbCritical
Exit Sub
End If
For Each ws In ThisWorkbook.Worksheets
If (ws.Name = Me.ComboBox28.Value) Then
lastRow = ws.Range("A10000").End(xlUp).Row
Exit For
End If
Next ws
If lastRow < 2 Then
MsgBox "Khong co so may da nhap hoac sheet khong co du lieu", vbCritical
Exit Sub
End If

dulieu = ws.Range("A4:V" & lastRow).Value ' cho toan bo du lieu vao mang dulieu
For R = 1 To UBound(dulieu, 1)
dulieu(R, 9) = Format(dulieu(R, 9), "#,##0")
dulieu(R, 10) = Format(dulieu(R, 10), "#,##0")
dulieu(R, 11) = Format(dulieu(R, 11), "#,##0")
dulieu(R, 12) = Format(dulieu(R, 12), "#,##0")
dulieu(R, 13) = Format(dulieu(R, 13), "#,##0")
dulieu(R, 15) = Format(dulieu(R, 15), "#,##0")
dulieu(R, 16) = Format(dulieu(R, 16), "#,##0")
dulieu(R, 17) = Format(dulieu(R, 17), "#,##0")
dulieu(R, 19) = Format(dulieu(R, 19), "#,##0")
dulieu(R, 20) = Format(dulieu(R, 20), "#,##0")
dulieu(R, 21) = Format(dulieu(R, 21), "#,##0")
dulieu(R, 22) = Format(dulieu(R, 22), "#,##0")

If dulieu(R, 2) >= CDate(ComboBox27.Value) And dulieu(R, 2) <= CDate(ComboBox26.Value) Then ' neu ngay thang nam trong khoang ...
count = count + 1
Tcx8 = Tcx8 + dulieu(R, 9): Tn8 = Tn8 + dulieu(R, 10)
TnJX = TnJX + dulieu(R, 22): TnJST = TnJST + dulieu(R, 13)
Me!ListBox2.List = dulieu():
Me!TextBox141.Value = Tcx8: Me!TextBox142.Value = Tn8
Me!TextBox143.Value = TnJX: Me!TextBox144.Value = TnJST
ReDim Preserve result(1 To 22, 1 To count) ' them 1 cot trong mang ket qua result
For c = 1 To UBound(dulieu, 2) ' cho dong thoa dieu kien vao cot cuoi cung vua them cua mang result


If c = 1 Then
result(c, UBound(result, 2)) = Format(dulieu(R, c), "Short Date") ' dinh dang ngay thang theo dang hien duoc dung trong system
Else
result(c, UBound(result, 2)) = dulieu(R, c) ' cac cot khac nhap binh thuong
End If
Next c
End If
Next R
If count Then ListBox134.Column = result ' nhap mang ket qua vao ListBox dung thuoc tinh Column
 

File đính kèm

  • huong dan.png
    huong dan.png
    29.1 KB · Đọc: 12
Web KT
Back
Top Bottom