Giải đáp giùm em, cách khắc phục lỗi này trên VBA (1 người xem)

  • Thread starter Thread starter Huy@@*
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

Huy@@*

Thành viên mới
Tham gia
5/11/24
Bài viết
11
Được thích
0
1730798095460.png
Option Explicit
Dim rngCho As Range, rngNhan As Range, rngData As Range, rngDMTK As Range
Dim endR&, eRow&, eR&, iR&, iRow&, soDong&
Dim i&, j&, k&, m&, s&, t&, u&, n&
Dim DemNo&, DemCo&, Dem&, dongDau&, iCT&
Public sSoCT As String
Dim wf As WorksheetFunction, Dic As Object
Const ColTkNo = 8: Const ColTkCo = 9: Const RowEnd = 1000000
Dim Arr(), ArrNo(), ArrCo(), ArrTK(), arrCho(), arrNhan(), ArrSap(), ArrDM(), ArrSoCT()
Dim Tg
Dim ArrKQ(1 To 100, 1 To 16)
Sub TaoRng()
Set wf = WorksheetFunction
iRow = 2 'dong dau NKC
With Sheets("NKC")
.Range("A" & iRow & ":P" & RowEnd).ClearContents
End With
With Sheets("Tmp")
endR = .Range("A" & RowEnd).End(xlUp).Row
ArrTK = .Range(.Cells(2, 14), .Cells(u, 16)).Value
End With
dongDau = 0
eRow = UBound(ArrTK)
For iCT = 1 To eRow
sSoCT = ArrTK(iCT, 1) 'so CT
Dem = ArrTK(iCT, 2) + ArrTK(iCT, 3) 'so lan N + C
If Dem = 0 Then GoTo exit_for
''*******************************************************'
''Day la phan tinh toan cac TH, co ban la xac dinh cac vung RngCho va RngNhan'
DemNo = ArrTK(iCT, 2) 'so lan N'
DemCo = ArrTK(iCT, 3) 'so lan C'
TaoSubRng
''**************************************************
'Truong hop nay la toan No
If DemCo = 0 Then
TinhToan07
GoTo exit_for
End If
''**************************************************
''Truong hop nay la toan Co
If DemNo = 0 Then
TinhToan08
GoTo exit_for
End If
''**************************************************
''Truong hop khac - TH nay nhieu nhat
'Truong hop nay la soct vua co No vua co Co
Select Case Dem
Case 2
''luc nay DemNo=1 va demCo =1
TinhToan01
Case Is > 2 'so record > 2
''Them 1 TH neu so TK No = So TK Co, STien No(1)=sotienco(1), SotienNo(end)=sotienco(end)
If Dem < 5 And DemNo = DemCo Then
If rngNhan(1, 9) = rngCho(1, 8) And rngNhan(DemCo, 9) = rngCho(DemNo, 8) Then
TinhToan04
GoTo exit_for
End If
End If
If DemNo = 1 Then 'quan he 1N nhieu C
TinhToan02
GoTo exit_for
End If
If DemCo = 1 Then 'quan he 1C nhieu N
TinhToan03
GoTo exit_for
End If
''quan he nhieu no nhieu co
If wf.CountIf(rngCho.Offset(, 7).Resize(, 1), "<0") = DemNo Then
''Truong hop nay la so tien No toan am
TinhToan06
GoTo exit_for
Else
TinhToan05
GoTo exit_for
End If
End Select
exit_for:
dongDau = dongDau + Dem
If dongDau >= endR Then Exit Sub
Next iCT
Erase ArrTK, arrCho(), arrNhan(), ArrKQ
Set rngCho = Nothing: Set rngNhan = Nothing
End Sub
Sub TaoNKC()
With Application
.ScreenUpdating = False: .DisplayAlerts = False: .Calculation = xlCalculationManual: .EnableEvents = False
End With
Tg = Timer
Sheets("NKC").Select
Sheets("NKC").AutoFilterMode = False
'Co the them 1 UDF kiem tra sh Tmp da ton tai
If SheetExists("Tmp") Then
With Sheets("Tmp")
.Cells.ClearContents
.[B1] = "SoCT" 'them tieu de
.[N1] = "SoCT": .[O1] = "DemNo": .[P1] = "DemCo": .[Q1] = "NgayHT"
End With
'Neu chua co thi add
Else
Sheets.Add
ActiveSheet.Name = "Tmp"
End If
ConvertGoc2Tmp
TaoTmp
TaoRng
'*********************************
'GanTKVN
XuLySoCT
Sheets("Tmp").Delete
MsgBox "OK" & Chr(13) & Timer - Tg
With Application
.ScreenUpdating = True: .DisplayAlerts = True: .Calculation = xlCalculationAutomatic: .EnableEvents = True
End With
End Sub
Sub TaoSubRng()
With Sheets("Tmp")
If DemNo = 0 Then
Set rngNhan = .Cells(2 + dongDau, 2).Offset(DemNo, -1).Resize(DemCo, 13)
GoTo bien
End If
If DemCo = 0 Then
Set rngCho = .Cells(2 + dongDau, 2).Offset(, -1).Resize(DemNo, 12)
GoTo bien
End If
Set rngCho = .Cells(2 + dongDau, 2).Offset(, -1).Resize(DemNo, 12)
Set rngNhan = .Cells(2 + dongDau, 2).Offset(DemNo, -1).Resize(DemCo, 13)
bien:
'rngCho.Select
'rngNhan.Select
arrCho = rngCho.Value: arrNhan = rngNhan.Value
End With
End Sub
Sub XuLySoCT()
Dim endR&, i&
Dim Arr(), ArrSoTT()
Dim SearchChar$, myPos&
SearchChar = ";"
With Sheets("NKC")
.AutoFilterMode = False
endR = .Cells(RowEnd, 1).End(3).Row
Arr = .Range("B2:B" & endR).Value
End With
ReDim ArrSoTT(1 To UBound(Arr), 1 To 1)
For i = 1 To UBound(Arr)
myPos = InStr(Arr(i, 1), SearchChar)
Arr(i, 1) = Right(Arr(i, 1), Len(Arr(i, 1)) - myPos)
ArrSoTT(i, 1) = i
Next i
With Sheets("NKC")
.Range("B2:B" & endR).Value = Arr
.Range("F2:F" & endR).Value = ArrSoTT
End With
Erase Arr, ArrSoTT
End Sub

Sub GanArr()
With Sheets("NKC")
.Cells(iRow, 1).Resize(soDong, 9) = ArrKQ
End With
iRow = iRow + soDong
Erase ArrKQ
End Sub


Sub TaoTmp()
With Sheets("Tmp")
.AutoFilterMode = False
endR = .Cells(RowEnd, 2).End(xlUp).Row
Arr = .Range("A2:M" & endR + 1).Value 'them +1'
End With
endR = UBound(Arr)
ReDim ArrNo(1 To endR, 1 To 13), ArrCo(1 To endR, 1 To 13), ArrTK(1 To endR, 1 To 4)
s = 0: t = 0: u = 1
For i = 1 To endR - 1
'Gan phan no
If Arr(i, 8) <> 0 Then 'sotien no <>0
s = s + 1
For k = 1 To 4
ArrNo(s, k) = Arr(i, k)
Next k
If Arr(i, 12) <> 0 Then
For k = 10 To 11
ArrNo(s, k) = Arr(i, k)
Next k
ArrNo(s, 12) = Arr(i, 12)
ArrNo(s, 6) = Arr(i, 12) / Arr(i, 8)
End If
ArrNo(s, 5) = "N"
ArrNo(s, 7) = CStr(Arr(i, 7)) ' & Arr(i, 5)) SHTK & CostStr
ArrNo(s, 8) = Arr(i, 8) 'so tien
ArrTK(u, 2) = ArrTK(u, 2) + 1 ' dem so N
End If
'Gan phan co
If Arr(i, 9) <> 0 Then 'sotien co <>0
t = t + 1
For k = 1 To 4
ArrCo(t, k) = Arr(i, k)
Next k
If Arr(i, 13) <> 0 Then
For k = 10 To 11
ArrCo(t, k) = Arr(i, k)
Next k
ArrCo(t, 13) = Arr(i, 13)
ArrCo(t, 6) = Arr(i, 13) / Arr(i, 9)
End If
ArrCo(t, 5) = "C"
ArrCo(t, 7) = CStr(Arr(i, 7)) '& Arr(i, 5)) 'SHTK & CostStr
ArrCo(t, 9) = Arr(i, 9) 'so tien
ArrTK(u, 3) = ArrTK(u, 3) + 1 ' dem so N
End If
'tao DM TK duy nhat voi dieu kien la soct da sort******
ArrTK(u, 1) = Arr(i, 2) 'soct
ArrTK(u, 4) = Arr(i, 1) 'NgayHT
If ArrTK(u, 1) <> Arr(i + 1, 2) Then u = u + 1
'co nen gan bien dem vao
Next i
With Sheets("tmp")
.[B1] = "SoCT"
.Range("A2:M" & RowEnd).ClearContents
.Range("N2:Q" & RowEnd).ClearContents
.Range("A2").Resize(s, 13) = ArrNo
.Range("A2").Offset(s, 0).Resize(t, 13) = ArrCo
.[N1] = "SoCT": .[O1] = "DemNo": .[P1] = "DemCo": .[Q1] = "NgayHT"
.Range("N2").Resize(u, 4) = ArrTK
End With
Erase Arr(), ArrNo(), ArrCo(), ArrTK
With Sheets("Tmp")
endR = s + t + 1
'sort tmp
Set rngData = .Range(.Cells(1, 1), .Cells(endR, 13))
With .Sort
With .SortFields
.Clear
.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 1 ngayCT
.Add Key:=Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 2 soct
.Add Key:=Range("H1"), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 4 Tien No
.Add Key:=Range("I1"), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 5 Tien co
End With
.SetRange rngData
.Header = xlYes ' co tieu de hay khong'
.Apply
End With
'sort soct duy nhat
Set rngData = .Range("N2:Q" & u)
With .Sort
With .SortFields
.Clear
.Add Key:=rngData.Cells(1, 4), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 1 ngayHT
.Add Key:=rngData.Cells(1, 1), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 2 soct
End With
.SetRange rngData
.Header = xlNo ' co tieu de hay khong'
.Apply
End With
End With
Set rngData = Nothing
End Sub
Sub ConvertGoc2Tmp()
Dim ArrKQ()
With Sheets("NKCGoc")
.AutoFilterMode = False
endR = .Cells(RowEnd, 1).End(3).Row
Arr = .Range("A3:I" & endR).Value
End With
ReDim ArrKQ(1 To UBound(Arr), 1 To 9)
s = 0
For i = 1 To UBound(Arr)
If Len(Arr(i, 7)) > 0 Then
s = s + 1
ArrKQ(s, 1) = Arr(i, 1)
ArrKQ(s, 2) = Arr(i, 1) & ";" & Arr(i, 2)
ArrKQ(s, 3) = Arr(i, 3)
ArrKQ(s, 7) = CStr(Arr(i, 7))
ArrKQ(s, 4) = Arr(i, 4)
ArrKQ(s, 5) = Arr(i, 5)
ArrKQ(s, 6) = Arr(i, 6)
ArrKQ(s, 8) = Arr(i, 8) * 1
ArrKQ(s, 9) = Arr(i, 9) * 1
End If

Next i
With Sheets("Tmp")
.[A2].Resize(RowEnd, 9).ClearContents
.[A2].Resize(s, 9) = ArrKQ
Set rngData = .Range("A2:I" & s + 1)
With .Sort
With .SortFields
.Clear
.Add Key:=rngData.Cells(1, 1), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 1 ngayHT
.Add Key:=rngData.Cells(1, 2), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 2 soct
.Add Key:=rngData.Cells(1, 3), SortOn:=xlSortOnValues, Order:=xlAscending 'Dieu kien 2 ngayCT
End With
.SetRange rngData
.Header = xlNo ' co tieu de hay khong'
.Apply
End With
End With
Erase Arr(), ArrKQ()
Set rngData = Nothing
End Sub
Private Function SheetExists(ShName) As Boolean
Dim x As Object
On Error Resume Next
Set x = ActiveWorkbook.Sheets(ShName)
If Err = 0 Then SheetExists = True _
Else SheetExists = False
End Function
Sub TinhToan01()
'Truong hop nay danh cho 1N va 1C - Dem=2
soDong = 1
ArrKQ(soDong, 1) = arrNhan(1, 1) 'ngay HT
ArrKQ(soDong, 2) = sSoCT 'SoCT
ArrKQ(soDong, 3) = arrNhan(1, 3) 'NgayCT
ArrKQ(soDong, 4) = arrNhan(1, 4) 'diengiai
ArrKQ(soDong, ColTkNo) = arrCho(1, 7) 'TKNo
ArrKQ(soDong, ColTkCo) = arrNhan(1, 7) 'TKCo;
ArrKQ(soDong, 7) = arrNhan(1, 9) 'sotien
'********************************
If arrNhan(1, 6) > 0 Then
ArrKQ(soDong, 14) = arrNhan(1, 10) 'MaKH
ArrKQ(soDong, 15) = arrNhan(1, 11) 'TenKH
ArrKQ(soDong, 16) = Round(arrNhan(1, 6) * ArrKQ(soDong, 7), 0) 'ST VND
End If
GanArr
End Sub
Sub TinhToan05()
Dim curCho&, curNhan&
Dim curSLCho As Double, curSLNhan As Double
Dim curSLChoDu As Double, curSLNhanThieu As Double, SLChia As Double
curCho = 0: curNhan = 0: s = 1
curSLNhanThieu = 0: curSLChoDu = 0: SLChia = 0
'Phan nay la nhieu no nhieu co
Do While Not (curCho = UBound(arrCho) And curSLChoDu = 0)
If curSLChoDu = 0 Then
curCho = curCho + 1
curSLCho = arrCho(curCho, 8)
curSLChoDu = curSLCho
End If
If curSLNhanThieu = 0 Then
curNhan = curNhan + 1
curSLNhan = arrNhan(curNhan, 9)
curSLNhanThieu = curSLNhan
End If
If curSLChoDu <= curSLNhanThieu Then
SLChia = curSLChoDu
Else
SLChia = curSLNhanThieu
End If
ArrKQ(s, 1) = arrCho(curCho, 1) 'Ngay HT
ArrKQ(s, 2) = sSoCT 'SoCT
ArrKQ(s, 3) = arrCho(curCho, 3) 'NgayCT
ArrKQ(s, 4) = arrCho(curCho, 4) 'Dien giai
ArrKQ(s, ColTkNo) = arrCho(curCho, 7) ' TK No
ArrKQ(s, ColTkCo) = arrNhan(curNhan, 7) ' TK Co
ArrKQ(s, 7) = SLChia 'So tien
If arrCho(curCho, 6) > 0 Then
ArrKQ(s, 14) = arrCho(curCho, 10) 'MaKH
ArrKQ(s, 15) = arrCho(curCho, 11) 'TenKH
ArrKQ(s, 16) = Round(arrCho(curCho, 6) * ArrKQ(s, 7), 0) 'ST VND
End If

curSLChoDu = curSLChoDu - SLChia
curSLNhanThieu = curSLNhanThieu - SLChia
s = s + 1
Loop
soDong = s - 1
GanArr
End Sub
'Phan code duoi day it khi dung
'*********************************************
Sub TinhToan06()
Dim curCho&, curNhan&
Dim curSLCho As Double, curSLNhan As Double
Dim curSLChoDu As Double, curSLNhanThieu As Double, SLChia As Double
curCho = 0: curNhan = 0: s = 1
curSLNhanThieu = 0: curSLChoDu = 0: SLChia = 0
'With Sheets("NKC")
'***---------------------------------------------------------
'Phan nay la nhieu no nhieu co vµ tat ca la so <0
Do While Not (curCho = UBound(arrCho) And curSLChoDu = 0)
If curSLChoDu = 0 Then
curCho = curCho + 1
curSLCho = arrCho(curCho, 8)
curSLChoDu = curSLCho
End If
If curSLNhanThieu = 0 Then
curNhan = curNhan + 1
curSLNhan = arrNhan(curNhan, 9)
curSLNhanThieu = curSLNhan
End If
If curSLChoDu >= curSLNhanThieu Then 'lay so < lon hon
SLChia = curSLChoDu
Else
SLChia = curSLNhanThieu
End If
ArrKQ(s, 1) = arrCho(curCho, 1) 'Ngay HT
ArrKQ(s, 2) = sSoCT 'SoCT
ArrKQ(s, 3) = arrCho(curCho, 3) 'NgayCT
ArrKQ(s, 4) = arrCho(curCho, 4) 'Dien giai
ArrKQ(s, ColTkNo) = arrCho(curCho, 7) ' TK No
ArrKQ(s, ColTkCo) = arrNhan(curNhan, 7) ' TK Co
ArrKQ(s, 7) = SLChia 'So tien
If arrCho(curCho, 6) > 0 Then 'Ti gia
ArrKQ(s, 14) = arrCho(curCho, 10) 'MaKH
ArrKQ(s, 15) = arrCho(curCho, 11) 'TenKH
ArrKQ(s, 16) = Round(ArrKQ(s, 7) * arrCho(curCho, 6), 0) 'VND
End If
curSLChoDu = curSLChoDu - SLChia
curSLNhanThieu = curSLNhanThieu - SLChia
s = s + 1
Loop
soDong = s - 1
GanArr
End Sub

Sub TinhToan02()
'Truong hop nay danh cho 1N va many C - Dem>2
soDong = UBound(arrNhan)
n = 1 '1 No
For i = 1 To soDong
For k = 1 To 4
ArrKQ(i, k) = arrNhan(i, k) '4 cot dau
Next k
For k = 14 To 16
ArrKQ(i, k) = arrNhan(i, k - 4) '3 cot sau
Next k
ArrKQ(i, ColTkNo) = arrCho(n, 7) 'TKNo
ArrKQ(i, ColTkCo) = arrNhan(i, 7) 'TKCo
ArrKQ(i, 7) = arrNhan(i, 9) 'So tien
If arrNhan(i, 6) > 0 Then
ArrKQ(i, 14) = arrNhan(i, 10) 'MaKH
ArrKQ(i, 15) = arrNhan(i, 11) 'TenKH
ArrKQ(i, 16) = Round(arrNhan(i, 6) * ArrKQ(i, 7), 0) 'ST VND
End If
Next i
GanArr
End Sub
Sub TinhToan03()
'Truong hop nay danh cho 1C va many N - Dem>2
'TH nay nguoc voi TinhToan02 - be care Tuan
soDong = UBound(arrCho)
n = 1 '1 No
For i = 1 To soDong
For k = 1 To 4
ArrKQ(i, k) = arrCho(i, k) '4 cot dau
Next k
ArrKQ(i, ColTkNo) = arrCho(i, 7) 'TKNo
ArrKQ(i, ColTkCo) = arrNhan(n, 7) 'TKCo
ArrKQ(i, 7) = arrCho(i, 8) 'So tien
If arrCho(i, 6) > 0 Then
ArrKQ(i, 14) = arrCho(i, 10) 'MaKH
ArrKQ(i, 15) = arrCho(i, 11) 'TenKH
ArrKQ(i, 16) = Round(arrCho(i, 6) * ArrKQ(i, 7), 0) 'ST VND
End If
Next i
GanArr
End Sub
Sub TinhToan04()
' TH neu so TK No = So TK Co, STien No(1)=sotienco(1), SotienNo(end)=sotienco(end)
'MsgBox "OK"
soDong = UBound(arrCho)
For i = 1 To soDong
For k = 1 To 4
ArrKQ(i, k) = arrCho(i, k) '4 cot dau
Next k
ArrKQ(i, ColTkNo) = arrCho(i, 7) 'TKNo
ArrKQ(i, ColTkCo) = arrNhan(i, 7) 'TKCo
ArrKQ(i, 7) = arrCho(i, 8) 'So tien
If arrCho(i, 6) > 0 Then
ArrKQ(i, 14) = arrCho(i, 10) 'MaKH
ArrKQ(i, 15) = arrCho(i, 11) 'TenKH
ArrKQ(i, 16) = Round(arrCho(i, 6) * ArrKQ(i, 7), 0) 'ST VND
End If
Next i
GanArr
End Sub
Sub TinhToan07()
' TH neu co nhieu TK No va khong co TK Co
soDong = UBound(arrCho)
For i = 1 To soDong
For k = 1 To 4
ArrKQ(i, k) = arrCho(i, k) '4 cot dau
Next k
For k = 10 To 3
ArrKQ(i, k) = arrCho(i, k) '4 cot sau
Next k
ArrKQ(i, ColTkNo) = arrCho(i, 7) 'TKNo
ArrKQ(i, ColTkCo) = "" 'TKCo
ArrKQ(i, 7) = arrCho(i, 8) 'So tien
If arrCho(i, 6) > 0 Then
ArrKQ(i, 14) = arrCho(i, 10) 'MaKH
ArrKQ(i, 15) = arrCho(i, 11) 'TenKH
ArrKQ(i, 16) = Round(arrCho(i, 6) * ArrKQ(i, 7), 0) 'ST VND
End If
Next i
GanArr
End Sub
Sub TinhToan08()
' TH neu co nhieu TK Co va khong co TK No
soDong = UBound(arrNhan)
n = 1 '1 No
For i = 1 To soDong
For k = 1 To 4
ArrKQ(i, k) = arrNhan(i, k) '4 cot dau
Next k
For k = 10 To 13
ArrKQ(i, k) = arrNhan(i, k) '4 cot sau
Next k
ArrKQ(i, ColTkNo) = "" 'arrCho(n, 7) 'TKNo
ArrKQ(i, ColTkCo) = arrNhan(i, 7) 'TKCo
ArrKQ(i, 7) = arrNhan(i, 9) 'So tien
If arrNhan(i, 6) > 0 Then
ArrKQ(i, 14) = arrNhan(i, 10) 'MaKH
ArrKQ(i, 15) = arrNhan(i, 11) 'TenKH
ArrKQ(i, 16) = Round(arrNhan(i, 6) * ArrKQ(i, 7), 0) 'ST VND
End If
Next i
GanArr
End Sub



Code là như vậy, giới hạn dòng của e là 1 triệu dòng
 
@Thớt: Em gửi file lên nhé. Hoặc chí ít úp hình lúc báo lỗi.

1 0 4 8 5 7 6

1730857350902.png
 

File đính kèm

tại là e chỉ chỉnh nội dung khoảng mức thấp hơn 1 triệu dòng ạ.
Mình đọc và vẫn không hiểu bạn đang muốn gì :D
Bạn cụ thể hơn chút là cái gì đang 1 triệu dòng, và bạn muốn chỉnh là gì ? Bạn rõ ràng vấn đề thì mới giúp được.
 
Mình đọc và vẫn không hiểu bạn đang muốn gì :D
Bạn cụ thể hơn chút là cái gì đang 1 triệu dòng, và bạn muốn chỉnh là gì ? Bạn rõ ràng vấn đề thì mới giúp được.
Dạ là em muốn tách sổ Nhật ký chung từ 1 file khác có tổng dữ liệu dòng xấp xỉ gần 1 triệu dòng ra thành Tài khoản Nợ và Tài khoản Có và 1 cột phát sinh số tiền ra riêng ấy ạ
 
Dạ là em muốn tách sổ Nhật ký chung từ 1 file khác có tổng dữ liệu dòng xấp xỉ gần 1 triệu dòng ra thành Tài khoản Nợ và Tài khoản Có và 1 cột phát sinh số tiền ra riêng ấy ạ
Hì, vậy để bạn khác giúp, do không có chuyên môn chỗ này nên không thể hiểu được bạn đang cần gì.
Bạn đưa một đống dòng lệnh lên và ghi "giới hạn dòng của e là 1 triệu dòng"; Mình chưa thấy mối liên hệ giữa việc tách sổ và một triệu dòng?

p/s: Mình bấm nút thì thấy vẫn chạy bình thường.
1730862460894.png
 
Chạy code với dữ liệu ít thì không thấy lỗi.
Khi lỗi (dòng tô vàng hình bài 1), trong tình trạng pause, kiểm tra s bằng bao nhiêu.
 
Nếu vậy thì sẽ fix lại như thế nào để hợp lý ạ
Tôi không biết "vậy" là thế nào. Đáng lẽ bạn phải nói nếu s = 0 thì làm thế nào, nếu curCho bằng 0 thì thế nào
Hoặc s= 1 tỷ thì làm thế nào, ...
 
Với cách hỏi của chủ nhân bài này thì không biết bao nhiêu bài nữa mới về đích đây. Thậm chí có thể sẽ không về đến đich đã dừng.
 
Dạ anh có gì xem dùm em nên sửa thế nào ạ
Bạn hỏi "nếu vậy", mà tôi không biết "vậy" là cái gì. Nếu bạn làm theo bài 10, thì bạn biết s bằng bao nhiêu, curCho bằng bao nhiêu, bạn mà cho tôi biết 2 giá trị đó thì tôi đội ơn bạn, bạn có công đức vô lượng. Căn cứ vào 2 giá trị đó tôi mới có thể gợi ý cách sửa, mà cũng có thể tôi bó tay. Còn cứ "nếu vậy" thì tôi bó tay ngay lập tức.
 
Dạ hiện tại em đang muốn tách dữ liệu của sổ sách nhiều nợ nhiều có thành Cột Nợ , cột Có, phát sinh. Nhưng mà khi làm xong thì thấy có nhiều trường bị sai, nên không biết là các cao nhân nào hỗ trợ giúp em fix lại code VBA trong file này với ạ :(((. Em cảm ơn rất nhiều ạ
 

File đính kèm

Dạ hiện tại em đang muốn tách dữ liệu của sổ sách nhiều nợ nhiều có thành Cột Nợ , cột Có, phát sinh. Nhưng mà khi làm xong thì thấy có nhiều trường bị sai, nên không biết là các cao nhân nào hỗ trợ giúp em fix lại code VBA trong file này với ạ :(((. Em cảm ơn rất nhiều ạ
Bạn này kiếm đâu ra được file từ cách đây gần 10 năm rồi, kiểu này chắc copy ở đâu về rồi đem lên hỏi chứ không phải file đang làm.
 
Bạn hỏi "nếu vậy", mà tôi không biết "vậy" là cái gì. Nếu bạn làm theo bài 10, thì bạn biết s bằng bao nhiêu, curCho bằng bao nhiêu, bạn mà cho tôi biết 2 giá trị đó thì tôi đội ơn bạn, bạn có công đức vô lượng. Căn cứ vào 2 giá trị đó tôi mới có thể gợi ý cách sửa, mà cũng có thể tôi bó tay. Còn cứ "nếu vậy" thì tôi bó tay ngay lập tức.
1730873219134.png
Thêm chủ đề mới, mà em đọc cũng chưa biết bạn này muốn gì.
Trình bày cái mình muốn mà sao thấy khó khăn quá.
Không biết trong công việc thì giao tiếp kiểu gì.
----------------------
Dạ anh có gì xem dùm em nên sửa thế nào ạ
Nói bạn đừng tự ái, chứ bạn mất khoảng 4-5 post trao đổi, trong này có 5 người mà vẫn không thể hiểu bạn đang muốn gì, thì bạn cần phải xem lại.
Bạn trình bày trên diễn đàn, suy rộng ra là công việc của bạn nữa, nó phải có đầu có cuối. Như là em có (chụp hình hoặc note trực tiếp trong file excel), dữ liệu nguồn là A em chạy code (do em lập hoặc do em lượm). Chạy ít nó ngon lành hay vướng, vướng là gì ? Chạy nhiều thì bị gì ? Em mong muốn tách nhiều file, triệu dòng thì nó ở đâu ?
Kết quả em mong muốn ra sao. Nếu tốt về trình bày thì trình bày hình ảnh, nếu không thì diễn giải ghi chú, lời nói.
 
Dạ em gửi file lên ạ, nhờ các cao nhân giúp e fix lại với ạ, tại là e chỉ chỉnh nội dung khoảng mức thấp hơn 1 triệu dòng ạ.
Nhật ký chung của bạn thuộc loại đơn giản, không phức tạp. Gửi bạn File mình đã chia sẽ trong 1 bài trước. File này đã gắn data của bạn và đã chạy chuyển đổi !
 

File đính kèm

View attachment 305342
Thêm chủ đề mới, mà em đọc cũng chưa biết bạn này muốn gì.
Trình bày cái mình muốn mà sao thấy khó khăn quá.
Không biết trong công việc thì giao tiếp kiểu gì.
----------------------

Nói bạn đừng tự ái, chứ bạn mất khoảng 4-5 post trao đổi, trong này có 5 người mà vẫn không thể hiểu bạn đang muốn gì, thì bạn cần phải xem lại.
Bạn trình bày trên diễn đàn, suy rộng ra là công việc của bạn nữa, nó phải có đầu có cuối. Như là em có (chụp hình hoặc note trực tiếp trong file excel), dữ liệu nguồn là A em chạy code (do em lập hoặc do em lượm). Chạy ít nó ngon lành hay vướng, vướng là gì ? Chạy nhiều thì bị gì ? Em mong muốn tách nhiều file, triệu dòng thì nó ở đâu ?
Kết quả em mong muốn ra sao. Nếu tốt về trình bày thì trình bày hình ảnh, nếu không thì diễn giải ghi chú, lời nói.
Dạ anh đợi em chút xíu, để e trình bày lại ạ :(((, em xin lỗi mọi người
 
Web KT

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

Back
Top Bottom