phuoclocvl
Thành viên thường trực
![](/diendan/data/PhoToDanhHieu/gold.gif)
![](/diendan/data/PhoToDanhHieu/gold.gif)
![](/diendan/data/PhoToDanhHieu/gold.gif)
![](/diendan/data/PhoToDanhHieu/gold.gif)
- Tham gia
- 28/3/12
- Bài viết
- 220
- Được thích
- 32
Xin Chào Các Anh Em GPE,
Em có viết đoạn code như sau nhưng nó không chạy, do mới tập viết mong là các anh chị em đừng ném đá.
các anh chị có thể xem file đính kèm cho dễ à.
Cảm ơn ạ.
Dim out, wht, kq As Worksheet
Public Sub Get_PuPl()
Set out = Worksheets("OUTPUT")
Set wht = Worksheets("WHT")
Set kr = Worksheets("KQ")
Worksheets("KQ").Range("A1:T1").AutoFilter
With Worksheets("KQ")
.Cells(1, 1) = "WKC" '2
.Cells(1, 2) = "MO_SUB" '3
.Cells(1, 3) = "MO_REFNO" '4
.Cells(1, 4) = "FITEM" '6
.Cells(1, 5) = "WHT-BODY" '
.Cells(1, 6) = "PU-PL"
.Cells(1, 7) = "QTY_SCAN" '8
.Cells(1, 8) = "WHT(PCS)"
.Cells(1, 9) = "QTY-PCS"
.Cells(1, 10) = "DATE" '19
.Cells(1, 11) = "WORK-CENTER" '14
.Cells(1, 12) = "WORK-CENTER-DATE-PU"
End With
k = 1
n = Worksheets("WHT").Range("A2:F" & Range("A" & Rows.Count).End(xlUp).Row)
m = Worksheets("OUTPUT").Range("A2:T" & Range("A" & Rows.Count).End(xlUp).Row)
'ReDim kq(1 To UBound(n, 1), 1 To 12)
For i = 1 To UBound(n) 'wht
For h = 1 To UBound(m) 'output
If out.Cells(h, 2) = "WP410" Or out.Cells(h, 2) = "WP460" Or out.Cells(h, 2) = "WP480" Then
If Not IsNull(out.Cells(h, 14)) And out.Cells(h, 6) = wht.Cells(i, 1) Then
k = k + 1
kq(k, 1) = out.Cells(h, 2)
kq(k, 2) = out.Cells(h, 3)
kq(k, 3) = out.Cells(h, 4)
kq(k, 4) = out.Cells(h, 6)
kq(k, 5) = wht.Cells(i, 2)
kq(k, 6) = wht.Cells(i, 6)
kq(k, 7) = out.Cells(h, 8)
kq(k, 8) = wht.Cells(h, 3)
kq(k, 9) = kq(k, 7) * kq(k, 8)
kq(k, 10) = out.Cells(h, 19)
kq(k, 11) = out.Cells(h, 14)
kq(k, 12) = kq(k, 6) & kq(k, 11) & kq(k, 10)
End If
End If
Next h
Next i
kr.Range("A2").Resize(k, 11).Value = kq
End Sub
Em có viết đoạn code như sau nhưng nó không chạy, do mới tập viết mong là các anh chị em đừng ném đá.
các anh chị có thể xem file đính kèm cho dễ à.
Cảm ơn ạ.
Dim out, wht, kq As Worksheet
Public Sub Get_PuPl()
Set out = Worksheets("OUTPUT")
Set wht = Worksheets("WHT")
Set kr = Worksheets("KQ")
Worksheets("KQ").Range("A1:T1").AutoFilter
With Worksheets("KQ")
.Cells(1, 1) = "WKC" '2
.Cells(1, 2) = "MO_SUB" '3
.Cells(1, 3) = "MO_REFNO" '4
.Cells(1, 4) = "FITEM" '6
.Cells(1, 5) = "WHT-BODY" '
.Cells(1, 6) = "PU-PL"
.Cells(1, 7) = "QTY_SCAN" '8
.Cells(1, 8) = "WHT(PCS)"
.Cells(1, 9) = "QTY-PCS"
.Cells(1, 10) = "DATE" '19
.Cells(1, 11) = "WORK-CENTER" '14
.Cells(1, 12) = "WORK-CENTER-DATE-PU"
End With
k = 1
n = Worksheets("WHT").Range("A2:F" & Range("A" & Rows.Count).End(xlUp).Row)
m = Worksheets("OUTPUT").Range("A2:T" & Range("A" & Rows.Count).End(xlUp).Row)
'ReDim kq(1 To UBound(n, 1), 1 To 12)
For i = 1 To UBound(n) 'wht
For h = 1 To UBound(m) 'output
If out.Cells(h, 2) = "WP410" Or out.Cells(h, 2) = "WP460" Or out.Cells(h, 2) = "WP480" Then
If Not IsNull(out.Cells(h, 14)) And out.Cells(h, 6) = wht.Cells(i, 1) Then
k = k + 1
kq(k, 1) = out.Cells(h, 2)
kq(k, 2) = out.Cells(h, 3)
kq(k, 3) = out.Cells(h, 4)
kq(k, 4) = out.Cells(h, 6)
kq(k, 5) = wht.Cells(i, 2)
kq(k, 6) = wht.Cells(i, 6)
kq(k, 7) = out.Cells(h, 8)
kq(k, 8) = wht.Cells(h, 3)
kq(k, 9) = kq(k, 7) * kq(k, 8)
kq(k, 10) = out.Cells(h, 19)
kq(k, 11) = out.Cells(h, 14)
kq(k, 12) = kq(k, 6) & kq(k, 11) & kq(k, 10)
End If
End If
Next h
Next i
kr.Range("A2").Resize(k, 11).Value = kq
End Sub