trantuan96
Thành viên mới
- Tham gia
- 10/4/19
- Bài viết
- 3
- Được thích
- 0
Cái này dùng làm gì vậy bạnMì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
trong file excel mình có ghi rõ mục đích rồi đó bạnCái này dùng làm gì vậy bạn
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
Lý do tại sao hỏi giống bài thì là anh em?@trantuan96 : @ducna93 là anh em hả bạn , 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/
...
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ế.@trantuan96 : @ducna93 là anh em hả bạn , 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
sai thế nào thì bạn làm ví dụ lên xem saoCả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ế.