Giúp đỡ sửa code về VBA

Liên hệ QC

trantuan96

Thành viên mới
Tham gia
10/4/19
Bài viết
3
Được thích
0
Mình có đoạn code đã ghi trong file và những yêu cầu mong muốn cũng ở trong đó .nhờ mọi người giúp đỡ sửa code để giải quyết vấn đề ak . cảm ơn mọi người rất nhiều
 

File đính kèm

@trantuan96 : @ducna93 là anh em hả bạn :D, thấy cũng hỏi như bạn ở đây https://www.giaiphapexcel.com/diend...-giúp-giải-quyết-vấn-đề-đang-thắc-mắc.141668/
Mã:
Sub sGpe_()
Dim sArr, dArr, I As Long, J As Long, K As Long, X As Long, Z As Long, T As Long
With Sheet1
    .Range("e4:f18").Clear
    sArr = .Range("a4:c18")
    T = UBound(sArr)
    ReDim dArr(1 To T, 1 To 2)
    X = sArr(1, 1)
    K = sArr(1, 2) + sArr(1, 3)
    dArr(1, 1) = sArr(1, 2)
    dArr(1, 2) = sArr(1, 3)
    For I = 2 To T
        dArr(I, 1) = sArr(I, 2)
        dArr(I, 2) = sArr(I, 3)
        If sArr(I, 1) = X Then
            Z = sArr(I, 2) + sArr(I, 3) + sArr(I - 1, 2) + sArr(I - 1, 3)
            If Z = 0 Then
                If sArr(I, 2) <> 0 Then
                    dArr(I, 1) = -K
                Else
                    dArr(I, 2) = -K
                End If
                K = 0
            Else
                K = K + sArr(I, 2) + sArr(I, 3)
            End If
        Else
            X = sArr(I, 1)
            K = sArr(I, 2) + sArr(I, 3)
        End If
    Next I
    .Range("e4:f18") = dArr
End With
End Sub
 
Upvote 0
Lý do tại sao hỏi giống bài thì là anh em?
Ở đây hai ngừoi có lẽ là học chung một lớp, hoặc là làm cùng một công việc - ngừoi có kết quả trước được sếp thưởng.
 
Upvote 0
@trantuan96 : @ducna93 là anh em hả bạn :D, thấy cũng hỏi như bạn ở đây https://www.giaiphapexcel.com/diendan/threads/công-thức-hàm-excel-giúp-giải-quyết-vấn-đề-đang-thắc-mắc.141668/
Mã:
Sub sGpe_()
Dim sArr, dArr, I As Long, J As Long, K As Long, X As Long, Z As Long, T As Long
With Sheet1
    .Range("e4:f18").Clear
    sArr = .Range("a4:c18")
    T = UBound(sArr)
    ReDim dArr(1 To T, 1 To 2)
    X = sArr(1, 1)
    K = sArr(1, 2) + sArr(1, 3)
    dArr(1, 1) = sArr(1, 2)
    dArr(1, 2) = sArr(1, 3)
    For I = 2 To T
        dArr(I, 1) = sArr(I, 2)
        dArr(I, 2) = sArr(I, 3)
        If sArr(I, 1) = X Then
            Z = sArr(I, 2) + sArr(I, 3) + sArr(I - 1, 2) + sArr(I - 1, 3)
            If Z = 0 Then
                If sArr(I, 2) <> 0 Then
                    dArr(I, 1) = -K
                Else
                    dArr(I, 2) = -K
                End If
                K = 0
            Else
                K = K + sArr(I, 2) + sArr(I, 3)
            End If
        Else
            X = sArr(I, 1)
            K = sArr(I, 2) + sArr(I, 3)
        End If
    Next I
    .Range("e4:f18") = dArr
End With
End Sub
Cảm ơn bạn đã nhiệt tình giúp mình,nếu là dữ liệu như trong bảng thi code chạy đúng nhưng khi minh tăng dữ liệu lên thi có 1 vài chỗ lại chạy sai kết quả và thực tế là số liệu nó khoảng vài ngàn dòng như thế.
 
Upvote 0
Cảm ơn bạn đã nhiệt tình giúp mình,nếu là dữ liệu như trong bảng thi code chạy đúng nhưng khi minh tăng dữ liệu lên thi có 1 vài chỗ lại chạy sai kết quả và thực tế là số liệu nó khoảng vài ngàn dòng như thế.
sai thế nào thì bạn làm ví dụ lên xem sao
 
Upvote 0
Web KT

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

Back
Top Bottom