Code VBA lọc số hóa đơn không có trong 1 cột

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Văn Toàn 1996

Thành viên hoạt động
Tham gia
5/6/23
Bài viết
102
Được thích
22
Xin chào các anh chị cô chú bác GPE ! em có 1 cột HĐ Trong vùng B3:B12 em muốn lọc ra những số HĐ không có ra cột D như hình mô tả. Nhờ mọi người giúp đỡ xin cảm ơn

1692256992327.png
 

File đính kèm

  • abcd.xlsx
    9.8 KB · Đọc: 14
Lần chỉnh sửa cuối:
Xin chào các anh chị cô chú bác GPE ! em có 1 cột HĐ Trong vùng B3:B12 em muốn lọc ra những số HĐ không có ra cột D như hình mô tả. Nhờ mọi người giúp đỡ xin cảm ơn

View attachment 293950
Kiểm tra lại . . .
Mã:
Sub XYZ()
  Dim arr(), res(), S, sRow&, i&, k&

  arr = Range("B3:B" & Range("B" & Rows.Count).End(xlUp).Row).Value
  sRow = UBound(arr) - 1
  ReDim res(1 To sRow, 1 To 1)
  For i = 1 To sRow
    If arr(i, 1) + 1 < arr(i + 1, 1) Then
      k = k + 1
      If arr(i, 1) + 2 = arr(i + 1, 1) Then
        res(k, 1) = arr(i, 1) + 1
      Else
        res(k, 1) = arr(i, 1) + 1 & " - " & arr(i + 1, 1) - 1
      End If
    End If
  Next i
  Range("D3").Resize(sRow, 1).NumberFormat = "@"
  If k Then Range("D3").Resize(sRow, 1) = res                '
End Sub
 
Upvote 0
Ủa kỳ vậy, nhớ là mình đã giải bài này rồi mà, không thấy hồi âm? Sao hỏi nhiều nơi quá zị?

Mã:
Option Explicit
Sub test()
Dim i&, j&, k&, rng, res()
rng = Range("B3:B14").Value
ReDim res(1 To UBound(rng), 1 To 1)
For i = 1 To UBound(rng) - 1
    For j = i + 1 To UBound(rng)
        If rng(j, 1) = rng(i, 1) + 1 Then
        Else
            k = k + 1
            res(k, 1) = rng(i, 1) + 1 & IIf(rng(i, 1) = rng(j, 1) - 2, "", " - " & rng(j, 1) - 1)
        End If
        Exit For
    Next
Next
Range("D3:D1000").ClearContents
Range("D3").Resize(k, 1).Value = res
End Sub

Capture.JPG1.JPG
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom