tanthanh94
Thành viên mới
- Tham gia
- 24/8/14
- Bài viết
- 46
- Được thích
- 3
Mình mượn code trên diễn đàn về chỉnh sữa lại
Mình muốn code trả về kết quả trực tiếp tại A3 mà không cần bổ sung thêm phần code màu đỏ
Mình muốn code trả về kết quả trực tiếp tại A3 mà không cần bổ sung thêm phần code màu đỏ
Mã:
Private Sub Worksheet_Activate()
Dim I As Long, K As Long, Darr()
Dim Sarr(), Temp(), Col As Long, J As Long, M As Long
Col = 8
Sarr = Sheet1.Range("B3", Sheet1.[B65536].End(3)).Resize(, Col).Value
ReDim Darr(1 To UBound(Sarr), 1 To Col)
With CreateObject("Scripting.Dictionary")
For I = 1 To UBound(Sarr)
If Not .exists(Sarr(I, 1)) Then
K = K + 1
.Add Sarr(I, 1), K
For J = 1 To Col - 1
Darr(K, J) = Sarr(I, J)
Next
Darr(K, Col) = Sarr(I, Col)
Else
Darr(.Item(Sarr(I, 1)), Col) = _
Darr(.Item(Sarr(I, 1)), Col) + Sarr(I, Col)
End If
Next
End With
Sheet2.Range("A3:I65000").ClearContents
Sheet2.[B3].Resize(K, Col) = Darr
[COLOR=#ff0000]Sarr = Sheet2.Range("B3", Sheet2.[B65536].End(3)).Resize(, Col).Value[/COLOR]
[COLOR=#ff0000] For I = 1 To UBound(Sarr)[/COLOR]
[COLOR=#ff0000] M = M + 1[/COLOR]
[COLOR=#ff0000] For J = 1 To Col[/COLOR]
[COLOR=#ff0000] Darr(M, 1) = M[/COLOR]
[COLOR=#ff0000] Darr(M, 2) = Sarr(I, 1)[/COLOR]
[COLOR=#ff0000] Darr(M, 3) = Sarr(I, 2)[/COLOR]
[COLOR=#ff0000] Darr(M, 4) = Sarr(I, 7)[/COLOR]
[COLOR=#ff0000] Darr(M, 5) = Sarr(I, 8) / Sarr(I, 4) / Sarr(I, 5)[/COLOR]
[COLOR=#ff0000] Next[/COLOR]
[COLOR=#ff0000] Next[/COLOR]
[COLOR=#ff0000] Sheet2.[K3].Resize(M, 5) = Darr[/COLOR]
End Sub