Code VBA lọc số hóa đơn không có trong 1 cột (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

Văn Toàn 1996

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
5/6/23
Bài viết
106
Được thích
19
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

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