Newbie_Nhờ giúp đỡ công thức mảng Arr (1 người xem)

  • Thread starter Thread starter vinhlong
  • Ngày gửi Ngày gửi
Liên hệ QC

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

vinhlong

Thành viên mới
Tham gia
16/5/08
Bài viết
16
Được thích
0
Kính gửi anh/chị em
Tôi là dân newbie mới tập tành làm VBA excel nhưng không rành lắm, mình đang muốn tìm hiểu và học hỏi Code mảng (Array) trong VBA để tự thiết kế file làm kế toán.
File có 2 sheets gồm Sheet Data và Sheet KetQua
Mình muốn dung code mảng để xử lý dữ liệu từ sheet Data và cho ra kết quả ở Sheet KetQua như trong file đính kèm.
Rất mong nhận được sự giúp đỡ của anh/chị và mod trên diễn đàn.
Trân trọng./.
 

File đính kèm

Kính gửi anh/chị em
Tôi là dân newbie mới tập tành làm VBA excel nhưng không rành lắm, mình đang muốn tìm hiểu và học hỏi Code mảng (Array) trong VBA để tự thiết kế file làm kế toán.
File có 2 sheets gồm Sheet Data và Sheet KetQua
Mình muốn dung code mảng để xử lý dữ liệu từ sheet Data và cho ra kết quả ở Sheet KetQua như trong file đính kèm.
Rất mong nhận được sự giúp đỡ của anh/chị và mod trên diễn đàn.
Trân trọng./.

Tôi thấy trong Sheet "Data" thì chứng từ số 222 và 223 thuộc về 2 Cty khác nhau. Nhưng ở Sheet "ketqua" lại thuộc về 1 Cty.
Tương tự với chứng từ số 224 & 226 cũng vậy.
Liệu có sự nhầm lẫn chăng?
 
Upvote 0
Tôi thấy trong Sheet "Data" thì chứng từ số 222 và 223 thuộc về 2 Cty khác nhau. Nhưng ở Sheet "ketqua" lại thuộc về 1 Cty.
Tương tự với chứng từ số 224 & 226 cũng vậy.
Liệu có sự nhầm lẫn chăng?
Hi Bạn
Mình edit dữ liệu nguồn nhưng chưa hết. Ko có nhầm bạn ah, mình muốn chia bảng kê bán ra làm 2 dòng làm tiền trạn để chạy sổ.
 
Upvote 0
Mã:
Public Sub hello()
Dim arr As Variant, lr As Long, r As Long, thueVAT As String, rsArr As Variant, k As Long, c As Integer
With Worksheets("Data")
    If Not .[C7] = Empty Then
        lr = .[C6].End(xlDown).Row
        arr = .Range("C7:M" & lr).Value
        ReDim rsArr(1 To 2 * UBound(arr), 1 To 8)
        k = 1
        thueVAT = "Thu" & ChrW(7871) & " GTGT " & ChrW(273) & ChrW(7847) & "u ra hóa " & _
        ChrW(273) & ChrW(417) & "n s" & ChrW(7889) & ":"
        For r = 1 To UBound(arr) Step 1
            For c = 1 To 6 Step 1
                rsArr(k, c) = arr(r, c)
                If c < 5 Then rsArr(k + 1, c) = arr(r, c)
            Next
            rsArr(k, 7) = arr(r, 8)
            rsArr(k, 8) = arr(r, 9)
            rsArr(k + 1, 5) = thueVAT & arr(r, 1)
            rsArr(k + 1, 6) = arr(r, 7)
            rsArr(k + 1, 7) = arr(r, 10)
            rsArr(k + 1, 8) = arr(r, 11)
            k = k + 2
        Next
    End If
End With


With Worksheets("KetQua")
    If k > 1 Then
        .[C9].Resize(k - 1, 8).Value = rsArr
        .[C9].Offset(k - 1).Resize(20, 8).ClearContents
    End If
End With
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom