hanhpham1122
Thành viên mới
- Tham gia
- 8/4/21
- Bài viết
- 13
- Được thích
- 16
Của bạn đây. hãy nhấn nút chạy code và kiểm tra kết quả.Em muốn xin code trả về số thứ tự trong các mục I, II, III,... Số liệu trả về nằm ở cột 8, 9, 10.
Chi tiết em gửi file đính kèm ạ.
Sub DIEM()
Dim i&, j&
With Sheets("Data BS")
For i = 4 To .Cells(Rows.Count, 3).End(xlUp).Row
If .Cells(i, 2) <> Empty Then
j = .Cells(i, 2).End(xlDown).Row - 1
If j < .Cells(Rows.Count, 3).Row Then
.Cells(i, 9) = Application.Min(.Range(.Cells(i + 1, 3), .Cells(j, 3)))
.Cells(i, 10) = Application.Max(.Range(.Cells(i + 1, 3), .Cells(j, 3)))
.Cells(i, 11) = .Cells(i, 10) - .Cells(i, 9) + 1
End If
End If
Next i
End With
End Sub
Vâng, em cảm ơn ạ, em sẽ xem thêm.Thử cách này nhé bạn!
Lời khuyên thêm:
1. Có thật sự phải tách các số liệu như bạn đang cần làm không? Tôi đã làm dữ liệu kiểu này khá nhiều, sau khi làm xong thì lại xóa bỏ vì thấy không thật sự cần thiết.
2. Có phương án nào khác không?
Dạ, em cảm ơn nhiều ạ.Của bạn đây. hãy nhấn nút chạy code và kiểm tra kết quả.
Mã:Sub DIEM() Dim i&, j& With Sheets("Data BS") For i = 4 To .Cells(Rows.Count, 3).End(xlUp).Row If .Cells(i, 2) <> Empty Then j = .Cells(i, 2).End(xlDown).Row - 1 If j < .Cells(Rows.Count, 3).Row Then .Cells(i, 9) = Application.Min(.Range(.Cells(i + 1, 3), .Cells(j, 3))) .Cells(i, 10) = Application.Max(.Range(.Cells(i + 1, 3), .Cells(j, 3))) .Cells(i, 11) = .Cells(i, 10) - .Cells(i, 9) + 1 End If End If Next i End With End Sub