Giúp em công thức dò tìm giá trị trong các sheet khác nhau

Liên hệ QC

donhungtin2013

Thành viên mới
Tham gia
14/8/14
Bài viết
171
Được thích
4
Trong file đính kèm em muốn lập công thức ở các ô E8, F8, G8, H8 của sheet check với các điều kiện như trong file nhờ mọi người giúp em với, có thể dùng công thức hay VBA cũng được. Em cảm ơn nhiều.
 

File đính kèm

  • check.xlsb
    463.5 KB · Đọc: 18
Trong file đính kèm em muốn lập công thức ở các ô E8, F8, G8, H8 của sheet check với các điều kiện như trong file nhờ mọi người giúp em với, có thể dùng công thức hay VBA cũng được. Em cảm ơn nhiều.
Thấy file của bạn có nhiều code, chắc là bạn nhờ ai đó giúp bạn? Nếu bạn viết được code như trong file thì bài toán này thì bạn hoàn toàn làm được rồi.
 
Trong file đính kèm em muốn lập công thức ở các ô E8, F8, G8, H8 của sheet check với các điều kiện như trong file nhờ mọi người giúp em với, có thể dùng công thức hay VBA cũng được. Em cảm ơn nhiều.
Mã:
Public Sub GPE()
Dim dArr(1 To 1000, 1 To 4), sArr, I As Long, K As Long, J As Long, R As Long, Ws As Worksheet
Dim TySi As String, Le As Long, Z
TySi = Sheet1.[E3].Value: Le = Sheet1.[F3].Value
For Each Ws In Worksheets
    If Ws.Name Like "cutting list*" Then
        sArr = Ws.Range("C9", Ws.Range("C" & Rows.Count).End(3)).Resize(, 13).Value
        For I = 1 To UBound(sArr)
            If sArr(I, 1) = TySi Then
                If sArr(I, 12) = Le Then
                    K = K + 1
                    dArr(K, 1) = sArr(I, 13)
                    dArr(K, 2) = sArr(I, 11)
                End If
                If sArr(I, 3) = Le Then
                    R = R + 1
                    dArr(R, 3) = sArr(I, 13)
                    dArr(R, 4) = sArr(I, 4)
                End If
            End If
        Next
    End If
Next
If K > R Then Z = K Else Z = R
Sheet1.Range("E8").Resize(Z, 4).Value = dArr
End Sub
 
Lần chỉnh sửa cuối:
Mã:
Public Sub GPE()
Dim dArr(1 To 1000, 1 To 4), sArr, I As Long, K As Long, J As Long, R As Long, Ws As Worksheet
Dim TySi As String, Le As Long, Z
TySi = Sheet1.[E3].Value: Le = Sheet1.[F3].Value
For Each Ws In Worksheets
    If Ws.Name Like "cutting list*" Then
        sArr = Ws.Range("C9", Ws.Range("C" & Rows.Count).End(3)).Resize(, 13).Value
        For I = 1 To UBound(sArr)
            If sArr(I, 1) = TySi Then
                If sArr(I, 12) = Le Then
                    K = K + 1
                    dArr(K, 1) = sArr(I, 13)
                    dArr(K, 2) = sArr(I, 11)
                End If
                If sArr(I, 3) = Le Then
                    R = R + 1
                    dArr(R, 3) = sArr(I, 13)
                    dArr(R, 4) = sArr(I, 4)
                End If
            End If
        Next
    End If
Next
If K > R Then Z = K Else Z = R
Sheet1.Range("E8").Resize(Z, 4).Value = dArr
End Sub
Cảm ơn anh Khương đã giúp đỡ , anh ơi khi em copy đoạn code này vào file chính của em thì khi chạy nó báo lỗi chổ đoạn này:
TySi = Sheet1.[E3].Value: Le = Sheet1.[F3].Value
là do sao anh nhỉ?
 
Cảm ơn anh Khương đã giúp đỡ , anh ơi khi em copy đoạn code này vào file chính của em thì khi chạy nó báo lỗi chổ đoạn này:
TySi = Sheet1.[E3].Value: Le = Sheet1.[F3].Value
là do sao anh nhỉ?
Bạn đã xài biết bao nhiêu là code trên GPE này mà đến giờ này còn hỏi lý do vớ vẫn này nữa ah?

---------------------------------
Code theo file. Ứng dụng file khác thì bạn phải biết biến chế.....
 
Dạ không biết thiệt mà anh em đổi sheet1 thành check mà nó vẫn báo lỗi anh à?
 
Web KT
Back
Top Bottom