=IF(H3<>"",COUNTA(H$3:H3),"")
	dạ tại em cần code để chạy VBA á anh vì có 5000 dữ liệu lầnNếu xác nhận của mình là đúng. Bạn có thể dùng công thức sau đặt tại ô G3 kéo thẳng xuống là OK nhé.
Công thức này sẽ có công dụng là đánh số TT cho các ô không rỗng bên cột H, bắt đầu từ H3.Mã:=IF(H3<>"",COUNTA(H$3:H3),"")
dạ em cảm ơn em đã kiếm được code mình cần thông qua link được đính kèm rồi ạBạn tham khảo topic này:Bạn cần đăng nhập để thấy link
Sub tuhocvba()
    Dim rend    As Long, i As Long, cnt As Long
    Dim arr, brr
    Const cotH      As Integer = 8
    Const cotG      As Integer = 7
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    rend = ThisWorkbook.ActiveSheet.Cells(Rows.Count, cotH).End(xlUp).Row
    arr = ThisWorkbook.ActiveSheet.Range(Cells(2, cotH), Cells(rend, cotH)).Value
    ReDim brr(1 To rend - 1, 1 To 1)
    cnt = 0
    For i = LBound(arr, 1) To UBound(arr, 1) Step 1
        If CStr(arr(i, 1)) <> "" Then
            cnt = cnt + 1
            brr(i, 1) = cnt
        End If
    Next i
    
    ThisWorkbook.ActiveSheet.Range(Cells(2, cotG), Cells(rend, cotG)).Value = brr
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
	Nhìn vào chữ ký của admin tuhocvba rồi hành động gì đó đi chứdạ em cảm ơn em đã kiếm được code mình cần thông qua link được đính kèm rồi ạ
dạ để qua mùa deadline cái ạ chứ vừa thất nghiệp do dịch vs deadline mấy nay em cũng đói kém lắm r ạ =))Nhìn vào chữ ký của admin tuhocvba rồi hành động gì đó đi chứ![]()
dạ em cảm ơnBài của bạn đã được tôi di chuyển sang Box Thành Viên Tự Giúp Nhau.
Nay BQT không hỗ trợ topic này nữa. Bạn tùy ý diễn đạt thông tin để nhận được trợ giúp từ thành viên khác.
Sub exchange()
    Dim rows As LongLong
    Dim i, j As LongLong
    rows = Range("A2").End(xlDown).Row
    Cells(2, 3).Value = 10000000
    Cells(2, 4).Value = 0
    Cells(2, 6).Value = 0
    Cells(2, 5).Value = Cells(2, 3) \ Cells(2, 2)
    For j = 3 To rows
        If Cells(j, 2).Value > Cells(j-1, 2).Value Then
           Cells(j, 5) = Cells(j, 4)
        Else
           Cells(j, 5) = 0
        End If
        If Cells(j, 5).Value < 0 Then
           Cells(j + 1, 5).Value = Cells(j, 4).Value
        End If
    Next
    For i = 3 To rows
        If Cells(i, 3) - Cells(i - 1, 3) <> 0 Then
            Cells(i, 3).Value = Cells(i - 1, 3).Value - Cells(i - 1, 2).Value * Cells(i - 1, 5).Value ' VND Fund
            Cells(i, 4).Value = Cells(i - 1, 4).Value + Cells(i - 1, 5).Value ' USD Fund
            Cells(i, 6).Value = Cells(i - 1, 2).Value * Cells(i - 1, 5).Value ' Volume
        Else
            Cells(i, 3).Value = Cells(i - 1, 3).Value - Cells(i - 1, 2).Value * Cells(i - 1, 5).Value ' VND Fund
            Cells(i, 4).Value = Cells(i - 1, 4).Value + Cells(i - 1, 5).Value ' USD Fund
            Cells(i, 6).Value = Cells(i - 1, 2).Value * Cells(i - 1, 5).Value ' Volume
        End If
        If Cells(i - 1, 5) <> 0 Then
            Cells(i, 8).Value = 1
        Else
            Cells(i, 8).Value = ""
        End If
    Next
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rangeToChange As Range
        Set rangeToChange = Range("H:H")
        Dim k As Integer, STT As Integer
        STT = 1
        If Not Application.Intersect(rangeToChange, Range(Target.Address)) Is Nothing Then
         Range("G2:G" & rows.Count).ClearContents
    For k = 2 To Range("H" & rows.Count).End(xlUp).Row
        If Range("H" & k).Value <> "" Then
            Range("G" & k).Value2 = STT
            STT = STT + 1
        End If
            Next k
        End If
End Sub