Đánh dấu cho dòng không có dữ liệu (2 người xem)

Người dùng đang xem chủ đề này

hoanglocphat

Thành viên thường trực
Tham gia
27/1/13
Bài viết
260
Được thích
30
Chào các bạn!
Nhờ các bạn viết giùm code như sau:
1/Nếu các dòng ở cột B hoặc cột AB có dữ liệu thì không đánh dấu XXX ở cột A
2/Nếu các dòng ở cột B và cột AB không có dữ liệu thì đánh dấu XXX ở cột A
3/Không đánh dấu từ dòng 26 trở xuống Vì Cell B25 có số liệu và là dòng cuối cùng (hoặc có thể cell AB25 có số liệu và là dòng cuối cùng)
-----------
Trong File, cột A tôi có làm kết quả.
Xin cảm ơn!
 

File đính kèm

Chào các bạn!
Nhờ các bạn viết giùm code như sau:
1/Nếu các dòng ở cột B hoặc cột AB có dữ liệu thì không đánh dấu XXX ở cột A
2/Nếu các dòng ở cột B và cột AB không có dữ liệu thì đánh dấu XXX ở cột A
3/Không đánh dấu từ dòng 26 trở xuống Vì Cell B25 có số liệu và là dòng cuối cùng (hoặc có thể cell AB25 có số liệu và là dòng cuối cùng)
-----------
Trong File, cột A tôi có làm kết quả.
Xin cảm ơn!
PHP:
Sub DanhDau()
Dim Ngay1(), Ngay2(), Kq(), i
With Range("B9", [B65536].End(3))
   Ngay1 = .Value
   Ngay2 = .Offset(, 26).Value
   ReDim Kq(1 To UBound(Ngay1), 1 To 1)
End With
For i = 1 To UBound(Ngay1)
   If Ngay1(i, 1) = "" Then
      If Ngay2(i, 1) = "" Then
         Kq(i, 1) = "XXX"
      End If
   End If
Next
[A9].Resize(i - 1) = Kq
End Sub
 
Upvote 0
Mã:
Sub DanhDau()
Dim Ngay1(), Ngay2(), Kq(), i
With Range("B9", [B65536].End(3))
   Ngay1 = .Value
   Ngay2 = .Offset(, 26).Value
   ReDim Kq(1 To UBound(Ngay1), 1 To 1)
End With
For i = 1 To UBound(Ngay1)
  [COLOR=#ff0000] If Ngay1(i, 1) = "" Then
      If Ngay2(i, 1) = "" Then
         Kq(i, 1) = "XXX"
      End If
   End If[/COLOR]
Next
[A9].Resize(i - 1) = Kq
End Sub
Bài của anh quanghai1969, em sửa như thế này kg biết được kg? về cơ bản có sai gì kg?
Mã:
Sub DanhDau_QH()
    Dim Ngay1(), Ngay2(), Kq(), i
    With Range("B9", [B65536].End(3))
        Ngay1 = .Value
        Ngay2 = .Offset(, 26).Value
        ReDim Kq(1 To UBound(Ngay1), 1 To 1)
    End With
    For i = 1 To UBound(Ngay1)
        [COLOR=#0000ff]If Ngay1(i, 1) = "" And Ngay2(i, 1) = "" Then
            Kq(i, 1) = "XXX"


        End If[/COLOR]
    Next
    [A9].Resize(i - 1) = Kq
End Sub
sửa chỗ màu đỏ thành màu xanh
 
Upvote 0
Bài của anh quanghai1969, em sửa như thế này kg biết được kg? về cơ bản có sai gì kg?
Mã:
Sub DanhDau_QH()
    Dim Ngay1(), Ngay2(), Kq(), i
    With Range("B9", [B65536].End(3))
        Ngay1 = .Value
        Ngay2 = .Offset(, 26).Value
        ReDim Kq(1 To UBound(Ngay1), 1 To 1)
    End With
    For i = 1 To UBound(Ngay1)
        [COLOR=#0000ff]If Ngay1(i, 1) = "" And Ngay2(i, 1) = "" Then
            Kq(i, 1) = "XXX"


        End If[/COLOR]
    Next
    [A9].Resize(i - 1) = Kq
End Sub
sửa chỗ màu đỏ thành màu xanh

Chỉ có thể chậm hơn tí tẹo (nghe nói vậy chứ mình có bao giờ đo tốc độ đâu)
Nếu vậy thì nối 2 cái chung luôn
If Ngay1(i, 1) & Ngay2(i, 1) = "" Then
 
Upvote 0
Theo e thì 2 code về cơ bản không khác nhau nhưng tốc độ thì Code của a QuangHai thì nó sẽ nhanh hơn vì
- nếu ngay1(I,1) nó khác rỗng thì nó sẽ không đi xét tiếp cái thằng ngay2(I,2) có rỗng hay không, còn nếu của Chị Hong.Van thì nó sẽ xét 1 lúc cả 2 cái ngay1 và ngay2 nên nó sẽ lâu hơn chút

Đây e hiểu như thế. Nếu có gì sai sót mong a chị góp ý ah !
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom