Giúp tiếp code Báo Cao Tuần (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

levanhoa1977

Thành viên chính thức
Tham gia
10/10/11
Bài viết
62
Được thích
3
Báo cáo tuần lấy dữ liệu từ 2 sheet chi tiêt và thu chi.
1/ phần lấy dữ liệu từ sheet chi tiết qua từng tuần ( cột mua hàng) mình đã làm rồi.
2/ Lấy dữ liệu từ sheet thu chi
Dữ liệu dựa vào mã khách hàng có sẳn cột A và dòng và tuần C5:L5
Cảm ơn
 

File đính kèm

Báo cáo tuần lấy dữ liệu từ 2 sheet chi tiêt và thu chi.
1/ phần lấy dữ liệu từ sheet chi tiết qua từng tuần ( cột mua hàng) mình đã làm rồi.
2/ Lấy dữ liệu từ sheet thu chi
Dữ liệu dựa vào mã khách hàng có sẳn cột A và dòng và tuần C5:L5
Cảm ơn
Chạy code sau và phản hồi lại nhé:
Mã:
Sub GPE()
Dim Arr, vlArr(1 To 10000, 1 To 10), DL, I, J, Dic, Tem, x
Set Dic = CreateObject("Scripting.Dictionary")
With Sheet8
Arr = .Range(.[B12], .[G65000].End(3)).Value
End With
For I = 1 To UBound(Arr, 1)
 Tem = Arr(I, 1) & "#" & Arr(I, 3)
  If Not Dic.exists(Tem) Then
    Dic.Add Tem, Arr(I, 6)
   Else
    Dic.Item(Tem) = Dic.Item(Tem) + Arr(I, 6)
  End If
Next I
With Sheet1
DL = .[A7:L70].Value
x = .[C5:L5].Value
 For I = 1 To UBound(DL, 1)
   For J = 1 To 10 Step 2
      If Len(DL(I, 1)) Then Tem = x(1, J) & "#" & DL(I, 1)
      If Dic.exists(Tem) Then
         vlArr(I, J) = Dic.Item(Tem)
      End If
   Next J
 Next I
.[D7].Resize(I, 10) = vlArr
End With
End Sub
 
Upvote 0
Lấy phần thanh toán ok rồi. Nhưng kết hợp với phần mua thì chưa load được
 
Upvote 0
Lấy phần thanh toán ok rồi. Nhưng kết hợp với phần mua thì chưa load được
Phần mua bạn nói bạn đã làm được rồi thì lấy code của bạn luôn đi (không muốn phá công sức bạn đã viết). Bỏ code tui viết bài trên vào 1 module. Trước chữ end sub code bạn viết trong sheet TUAN lấy phần mua qua thêm câu lệnh này.
Mã:
Call GPE
P/s: Xíu rảnh tui viết lại cho bạn 2 trong 1 cho gọn. Còn giờ bạn cứ xài tạm vậy đi.
 
Upvote 0
Phần mua bạn nói bạn đã làm được rồi thì lấy code của bạn luôn đi (không muốn phá công sức bạn đã viết). Bỏ code tui viết bài trên vào 1 module. Trước chữ end sub code bạn viết trong sheet TUAN lấy phần mua qua thêm câu lệnh này.
Mã:
Call GPE
P/s: Xíu rảnh tui viết lại cho bạn 2 trong 1 cho gọn. Còn giờ bạn cứ xài tạm vậy đi.
Để thử gọi hàm. Cảm ơn bạn nhiều.
 
Upvote 0
Đính kèm thêm file cho bạn tham khảo. Vì không thấy bạn phản hồi bạn có làm được chưa.
 

File đính kèm

Upvote 0
Đính kèm thêm file cho bạn tham khảo. Vì không thấy bạn phản hồi bạn có làm được chưa.
Cuối bảng tính nó báo #n/a. Và những dòng không có Mã Khách Hàng thì ko điền giá trị. Vì dòng này mình làm công thức tổng. Khi load sẽ mất công thức. Bạn xem lại giúp.

Cảm ơn
 
Upvote 0
Giờ này bạn tìm không được chàng ấy đâu. Thử sửa lại code của chàng ấy như này:

Mã:
Sub GPE()
Dim Arr, vlArr(), DL, I, J, Dic, Tem, x
Set Dic = CreateObject("Scripting.Dictionary")
With Sheet8
Arr = .Range(.[B12], .[G65000].End(3)).Value
End With
For I = 1 To UBound(Arr, 1)
 Tem = Arr(I, 1) & "#" & Arr(I, 3)
  If Not Dic.exists(Tem) Then
    Dic.Add Tem, Arr(I, 6)
   Else
    Dic.Item(Tem) = Dic.Item(Tem) + Arr(I, 6)
  End If
Next I
With Sheet1
DL = .[A7:L70].Value
x = .[C5:L5].Value
vlArr = .Range("C7:L" & .Range("A65000").End(3).Row).FormulaR1C1
'ReDim vlArr(1 To UBound(DL, 1), 1 To 10)
 For I = 1 To UBound(DL, 1)
 If DL(I, 1) <> Empty Then
   For J = 1 To 10 Step 2
      vlArr(I, J) = DL(I, J + 2)
      If Len(DL(I, 1)) Then Tem = x(1, J) & "#" & DL(I, 1)
      If Dic.exists(Tem) Then
         vlArr(I, J + 1) = Dic.Item(Tem)
      End If
   Next J
End If
 Next I
.Range("C7:L" & .Range("A65000").End(3).Row) = vlArr
End With
Set Dic = Nothing
End Sub


Cảm ơn bạn nhiều nhiều.
C
 
Upvote 0
Báo cáo tuần lấy dữ liệu từ 2 sheet chi tiêt và thu chi.
1/ phần lấy dữ liệu từ sheet chi tiết qua từng tuần ( cột mua hàng) mình đã làm rồi.
2/ Lấy dữ liệu từ sheet thu chi
Dữ liệu dựa vào mã khách hàng có sẳn cột A và dòng và tuần C5:L5
Cảm ơn

1/ Bạn đã "làm rồi" được cột Mua hàng mà cột Thanh toán dễ hơn rất nhiều sao bạn không làm luôn?
2/ Nếu là nhờ người khác làm thì nhờ 1 lần, người ta sẽ hình dung "cấu trúc" code 1 lần, dễ tư duy hơn là lắp ráp 1 code viết kiểu này, 1 code kiểu khác.
Bạn xem lại file này, lấy 2 cột Mua hàng và Thanh toán 1 lần. Các dòng công thức (Ô đầu dòng là rỗng) bạn tự nhập thủ công theo ý bạn.
 

File đính kèm

Upvote 0
1/ Bạn đã "làm rồi" được cột Mua hàng mà cột Thanh toán dễ hơn rất nhiều sao bạn không làm luôn?
2/ Nếu là nhờ người khác làm thì nhờ 1 lần, người ta sẽ hình dung "cấu trúc" code 1 lần, dễ tư duy hơn là lắp ráp 1 code viết kiểu này, 1 code kiểu khác.
Bạn xem lại file này, lấy 2 cột Mua hàng và Thanh toán 1 lần. Các dòng công thức (Ô đầu dòng là rỗng) bạn tự nhập thủ công theo ý bạn.
Cảm ơn bạn. Trước kia thì mình cũng code. Nhưng bỏ hơn 10 năm rồi. Nay đụng lại tư duy ko như trước được nên nhờ ae giúp đỡ. Sẳn tiện học hỏi lại.

Cảm ơn bạn nhiều
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom