/(hông rồi Tuấn ơi! Công thức thí làm sau hiển thị việc 1 lần trà cho 2 lần vay nợ trở lên được!?! (dòng cuối trong VD í!)Hình như ý bạn muốn là khi cột SỐ TIỀN TRẢ có dữ liệu thì sẽ đánh số TT vào cột GHI CHÚ, đúng ko? Nếu thế thì dùng công thức sau:
I6 =IF(G6="","",MAX($I$5:I5)+1) Ko biết đúng ý ko nữa
/)/(ình sẽ phiên dịch tiếng nào ra tiếng í, như sauCũng ko hiểu luôn... GIẤY NHẬN NỢ gì gì đó nó nằm ở cột nào trong file? . . .nhìn vào thấy tê quá!
tnfsmith đã viết:Chào các bác, hiện tại em có file Excel cần các bác giúp đở cách đánh số tự động với các điều kiện kèm theo file đính kèm. Các bác có thể tải file về máy và nghiên cứu tiếp em nhé. Cám ơn các bác nhiều!!![]()
![]()
Trong khi chờ đợi Bắp ta giúp bạn, tôi mới làm được các phw án của lần trả đầu tiên; cũng xin đưa lên đây, nhằm cho bạn tham khảo đỡ buồnMr Okebab đã viết:Cái này giống phương pháp tính hàng tồn kho FiFo của Kế toán đây mà. Có được dùng cột phụ không bạn ???!
Option Explicit[b]
Sub GhiNhanNo()[/b]
Dim GCuoi As Long, iJ As Integer
Dim PhieuCuoi, PhieuDau, SoVay As Double, SoTra As Double
Dim Rng As Range
Dim StrC As String
Sheets("S1").Select: GCuoi = Range("I65432").End(xlUp).Row
If GCuoi = 3 Then 'Ghi Lan Dau
Set Rng = Range("G4:G5").End(xlDown): SoTra = Rng
If Rng.Row > 65432 Then
Exit Sub
Else
PhieuCuoi = Rng.Offset(-1, -5)
End If
For iJ = 1 To PhieuCuoi
StrC = StrC & ", " & CStr(iJ)
If SoTra <= Range("H" & 5 + iJ) Then Exit For
Next iJ
Rng.Offset(, 2) = Mid$(StrC, 3)
Else
Range("I" & GCuoi).Select
With Selection
SoTra = .Offset(1, -2)
PhieuDau = Right(Range("I" & GCuoi), 1)
[COLOR="Blue"] ' (òn tiếp, . . .[/COLOR]
MsgBox SoTra, , PhieuDau
End With
End If[b]
End Sub[/b]
[SIZE=3][FONT=Times New Roman]Sub FIFORep()[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]LRow = Range("G" & Cells.Rows.Count).End(xlUp).Row[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]Rrow = Range("G5").End(xlDown).Row[/SIZE][/FONT]
[SIZE=3][FONT=Times New Roman]Range("I6:I" & LRow).ClearContents[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Range("D5").End(xlDown).Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Tieptuc:[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]loan = ActiveCell - Cells(Rrow, 7)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Cells(Rrow, 9) = ActiveCell(1, -1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Select Case loan[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Case Is > 0[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Check:[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Rrow = Cells(Rrow, 7).End(xlDown).Row[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]loan = loan - Cells(Rrow, 7)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Cells(Rrow, 9) = ActiveCell(1, -1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Case Is = 0[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]ActiveCell.End(xlDown).Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Rrow = Cells(Rrow, 7).End(xlDown).Row[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]GoTo Tieptuc[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Case Is < 0[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]LanNua:[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]ActiveCell(2, 1).Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]While IsEmpty(ActiveCell)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]ActiveCell(2, 1).Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Wend[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]loan = Abs(loan) - ActiveCell[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Cells(Rrow, 9) = Cells(Rrow, 9) & ", " & ActiveCell(1, -1)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]If loan > 0 Then GoTo LanNua[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]End Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]ActiveCell(2, 1).Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]While IsEmpty(ActiveCell)[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]ActiveCell(2, 1).Select[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Wend[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]Rrow = Cells(Rrow, 7).End(xlDown).Row[/FONT][/SIZE]
[SIZE=3][FONT=Times New Roman]If ActiveCell.Row < LRow Then GoTo Tieptuc[/FONT][/SIZE]
[FONT=Times New Roman][SIZE=3]End Sub[/SIZE][/FONT]
tnfsmith đã viết:Ok cám ơn SA_DQ agian nhé, mình sẽ thử nghiệm công thức của bạn trước khi có phản hồi chính xác. Có thể có cách giải quyết toàn vẹn hơn không. Cách tính của kế toán FiFo là gì vậy nhỉ?
vietanhu đã viết:Mình cũng sử dụng cột phụ làm xong rồi, tuy nhiên nếu dùng cột phụ thì số giấy nhận nợ tối đa một sheet là 255 số hơn nữa file nặng, mình nghĩ cách tốt nhất là nên dùng VBA
Mr Okebab đã viết:FIFO = Fist In Fist Out
Có được dùng cột phụ không bạn ???
- Kế toán : Nhập trước xuất trước
- TH của bạn : Vay trước trả trước.
tnfsmith đã viết:Tat nhien la dc roi, mien sao ra ket qua la ok ah. Ma sao code minh dua vao Excel no khong chay nhi ? Bao loi the nao ay, co ai biet cach chen VBA vao trong Excel trong truong hop nay giup minh luon nhe. May ngay nay busy qua nen chua co lam gi het, hix gio nay con len mang thi may bac bit roi do.
Sorry vi tieng viet khong dau