=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