Hoàng Nhật Phương
Thành viên gắn bó



- Tham gia
- 5/11/15
- Bài viết
- 1,895
- Được thích
- 1,219
Ngày xưa mới biết code con cũng hay viết kiểu này nhưng thời buổi này con thấy quê rồi chú , đó là con không thích kiểu này nữa thôiYêu thì nhận là yêu chứ gì mà ngại. Với công thức của bạn Thóc_Sama =IF(B2="","",IF(ISNUMBER(A1),A1+1,1)), không dùng evaluate:
Mã:[A2:A10] = ("=IF(RC[1]="""","""",if(isnumber(R[-1]C),R[-1]C + 1,1))") [A2:A10]=[A2:A10].value

Chào anh Quang HảiTại sao không dùng vòng lặp For Next cho đơn giản??? Tại sao cứ phải Evaluate???
Dạ, vì for next dài dòng:
Mã:
Dim i As Long
Dim lastRow As Long
lastRow = wsResult.Cells(wsResult.Rows.Count, 2).End(xlUp).Row
Dim lastNumber As Long
lastNumber = 0
For i = 2 To lastRow
If IsEmpty(wsResult.Cells(i, 2)) Then
wsResult.Cells(i, 1).Value = ""
lastNumber = 0
Else
lastNumber = lastNumber + 1
wsResult.Cells(i, 21).Value = lastNumber
End If
Next i
còn Evaluate thì là OT thấy gọn và lạ nên muốn tham khảo xem với dữ liệu xen kẽ dạng này thì xử lý thế nào thôi ạ nếu hay thì với OT là mốt mới
