Bạn thử code này xem sao:Em chào thầy cô & anh chị!
Xin giúp em tạo Code STT hỗn hợp bao gồm chữ số La Mã và số theo điều kiện như công thức của Cột A trong File đính kèm!
Em cảm ơn.
Sub STT()
Dim Arr, i As Long, j As Long, T1 As Long, T2 As Long
Arr = Range([M9], [A65536].End(xlUp)).Formula
For i = 1 To UBound(Arr, 1)
For j = 5 To 13
If Arr(i, j) Like "=*" Then
T1 = T1 + 1
T2 = 0
Arr(i, 1) = Application.WorksheetFunction.Roman(T1)
Exit For
ElseIf Arr(i, j) <> "" Then
T2 = T2 + 1
Arr(i, 1) = T2
Exit For
End If
Next
Next
Range([M9], [A65536].End(xlUp)).Formula = Arr
End Sub
Bạn thử code này xem sao:
PHP:Sub STT() Dim Arr, i As Long, j As Long, T1 As Long, T2 As Long Arr = Range([M9], [A65536].End(xlUp)).Formula For i = 1 To UBound(Arr, 1) For j = 5 To 13 If Arr(i, j) Like "=*" Then T1 = T1 + 1 T2 = 0 Arr(i, 1) = Application.WorksheetFunction.Roman(T1) Exit For ElseIf Arr(i, j) <> "" Then T2 = T2 + 1 Arr(i, 1) = T2 Exit For End If Next Next Range([M9], [A65536].End(xlUp)).Formula = Arr End Sub
Code chỉ tạo tại cell A9 là I, các cell khác trong cột A không có gì
Em gởi file nhờ anh test lại
Em cảm ơn.
----------
P/s :em nói thêm, mục đích tạo code cho cột A (để em khỏi dùng công thức nữa)
Em còn chập chững với VBA, nên thực sự nghĩ chưa ra (đọc code mãng của anh, em còn đang nghiên cứu), Anh giúp giùm em luôn nhé! cảm ơn anh.Lúc nãy tôi quên bỏ dòng tổng cộng cuối cùng ra nên code đánh số thứ tự cho dòng này luôn. Bạn tự sửa lại luôn nhé. Tôi nghĩ bạn làm được.
Bạn xem trong file nhé.Em còn chập chững với VBA, nên thực sự nghĩ chưa ra (đọc code mãng của anh, em còn đang nghiên cứu), Anh giúp giùm em luôn nhé! cảm ơn anh.
Tôi viết code là dựa vào dữ liệu của bạn là chính chứ không phải là dựa vào công thức của bạn. Nếu dựa vào công thức của bạn thì tôi lấy gì để làm căn cứ đánh số thứ tự cho các dòng có số thứ tự là số La Mã?Anh Huuthang_bd và Thầy cô và anh chị sửa giúp tiếp giùm em
Nếu ở một hàng của cột E:M có số 0, thì nó vẫn đánh số thứ tự, Trong khi điều kiện của em là ( ví dụ SUM(E10:M10) =0) Thì không đánh số.
Em cảm ơn
Thử với Code này xem.Anh Huuthang_bd và Thầy cô và anh chị sửa giúp tiếp giùm em
Nếu ở một hàng của cột E:M có số 0, thì nó vẫn đánh số thứ tự, Trong khi điều kiện của em là ( ví dụ SUM(E10:M10) =0) Thì không đánh số.
Em cảm ơn
Hèn chi, khi em áp vào file thực tế thì nó không tạo số La Mã (cứ đang ngẫm nghĩ code cua anh để áp dụng cho các File khác)1. Nếu trong các cột từ E đến M của dòng nào có ít nhất một ô chứa công thức thì đánh số thứ tự là số La Mã