emgaingayngo
Thành viên hoạt động
- Tham gia
- 9/2/07
- Bài viết
- 141
- Được thích
- 5
Em có cde như sau :
Sau khi chạy xong có những cell nó không nhận ra được giá trị >=1, ví dụ trong sheet BaoCao cột A, range đầu tiên phải là từ ngày 05/01/06- 24/02/06, nhưng kq là từ ngày 12/01-24/02/06, bỏ mất của em 2 ngày không đếm.
Một chổ bị sai khác nữa là : 15/12/08-06/01/08
Em nghĩ mình bị sai định dạng, nhưng đã kiểm tra rồi, không được, các cao thủ GPE có cách nào hay chỉ em khắc phục với.
PHP:
Sub ReportCK()
'Kiem tra 1 khu vuc range lien tiep voi
'dieu kien la khoang cach giua cac so >=1 (chu ky) khong qua 7 ngay
Dim i As Long, j As Long, rng_dau As Range, rng_chuky As Range
Dim kqdau As String, kqgachngang As Long, icot As Long, cotcuoi As Long
Dim ws As Worksheet
Set ws = Worksheets("BaoCao")
cotcuoi = S02.Range("A2").End(xlToRight).Column
ws.Range("A2:B10000").ClearContents
ws.Range("A1000").End(xlUp).Offset(1, 0).Resize(1, 2).Formula = "=REPT(""-"",9)"
For j = 2 To cotcuoi
icot = 1
Do
Set rng_dau = Cells(2, j)
kqdau = rng_dau.Value
If kqdau = "-" Then
Exit Do
Else
Set rng_chuky = Cells(2, j).Resize(1, icot) ': rng_chuky.Select
kqgachngang = MaxCount(rng_chuky, "-", 2)
If kqgachngang = 7 Then
'ghi kq baocao
ws.Range("A1000").End(xlUp).Offset(1, 0).Value = S02.Cells(1, j).Value & "-" & S02.Cells(1, j + icot - 8).Value ' vi tri
ws.Range("B1000").End(xlUp).Offset(1, 0).Value = rng_chuky.Columns.Count - 7 ' dodai chu ky
End If
icot = icot + 1
End If
Loop Until kqgachngang = 7 Or icot = cotcuoi
Set rng_dau = Nothing
Set rng_chuky = Nothing
j = j + icot
Next j
End Sub
Sau khi chạy xong có những cell nó không nhận ra được giá trị >=1, ví dụ trong sheet BaoCao cột A, range đầu tiên phải là từ ngày 05/01/06- 24/02/06, nhưng kq là từ ngày 12/01-24/02/06, bỏ mất của em 2 ngày không đếm.
Một chổ bị sai khác nữa là : 15/12/08-06/01/08
Em nghĩ mình bị sai định dạng, nhưng đã kiểm tra rồi, không được, các cao thủ GPE có cách nào hay chỉ em khắc phục với.