Từ bản dữ liệu ban đầu Tìm các hóa đơn bị xóa bỏ và Tạo bản hóa đơn đầy đủ (1 người xem)

Liên hệ QC

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

Nguyễn Hồng Quang

Thành viên GPE Hà Nội
Tham gia
8/6/07
Bài viết
1,203
Được thích
877
Giới tính
Nam
Nghề nghiệp
Kế toán
Em chào các anh, chị và các thầy cô của GPE
Em có 1 bản dữ liệu chỉ gồm các hóa đơn được sử dụng.
Từ bản dữ liệu này có thể tìm được các hóa đơn bị xóa bỏ và
tạo ra 1 bản đầy đủ bao gồm cả hóa đơn được sử dụng và hóa đơn bị xóa bỏ
(các công việc tìm và tạo bản đầy đủ em đều làm thủ công nên mất nhiều thời gian)

Em mong các anh chị, các thầy cô của GPE giúp em phương thức tốt hơn để xử lý dữ liệu này
Mọi chi tiết em đã trình bày trong file excle gửi kèm
Em chúc các anh, chị và thầy cô của GPE kỳ nghỉ thiệt vui
EM cảm ơn mọi người
 

File đính kèm

Em chào các anh, chị và các thầy cô của GPE
Em có 1 bản dữ liệu chỉ gồm các hóa đơn được sử dụng.
Từ bản dữ liệu này có thể tìm được các hóa đơn bị xóa bỏ và
tạo ra 1 bản đầy đủ bao gồm cả hóa đơn được sử dụng và hóa đơn bị xóa bỏ
(các công việc tìm và tạo bản đầy đủ em đều làm thủ công nên mất nhiều thời gian)

Em mong các anh chị, các thầy cô của GPE giúp em phương thức tốt hơn để xử lý dữ liệu này
Mọi chi tiết em đã trình bày trong file excle gửi kèm
Em chúc các anh, chị và thầy cô của GPE kỳ nghỉ thiệt vui
EM cảm ơn mọi người
Bạn Format cột F kiểu Text rồi chạy thử Sub này:
PHP:
Public Sub GPE()
Dim sArr(), dArr(1 To 1000000, 1 To 2), I As Long, J As Long, K As Long, R As Long
Dim Dau As Long, Cuoi As Long, Txt As String, Del As String
sArr = Range("A2", Range("A2").End(xlDown)).Value
R = UBound(sArr)
For I = 1 To R - 1
    K = K + 1
    dArr(K, 1) = sArr(I, 1)
    If sArr(I + 1, 1) <> sArr(I, 1) + 1 Then
        Dau = sArr(I, 1) + 1: Cuoi = sArr(I + 1, 1) - 1
        For J = Dau To Cuoi
            K = K + 1
            Del = Format(J, "00000000"): Txt = Txt & Del & "; "
            dArr(K, 1) = Del: dArr(K, 2) = "Del"
        Next J
    End If
Next I
K = K + 1: dArr(K, 1) = sArr(R, 1)
Range("F2").Resize(K, 2) = dArr
Range("F1") = Txt
End Sub
 
Upvote 0
Cái này dễ đọc hơn nè:
Mã:
Sub TatCaHoaDon()
 Dim J As Long, W As Long, fNum As Long, lNum As Long
 Dim Tmp As String
 Dim Rng As Range, sRng As Range
 fNum = [A2].Value:         lNum = [A2].End(xlDown).Value
 Set Rng = Range([A2], [A2].End(xlDown))
 ReDim Arr(1 To lNum, 1 To 2)
 For J = fNum To lNum
    Tmp = Right("0000" & CStr(J), 7)
    Set sRng = Rng.Find(Tmp, , xlFormulas, xlWhole)
    W = W + 1:              Arr(W, 1) = "'" & Tmp
    If sRng Is Nothing Then
        Arr(W, 2) = "Xóa"
    Else
    End If
 Next J
 [c2].Resize(W, 2).Value = Arr()
End Sub
 
Upvote 0
Cái này dễ đọc hơn nè:
Cảm ơn bạn HYen17 đã giúp đỡ
Mong bạn bổ sung giúp thêm vào đoạn code để ra được kết quả như ô F1 của file gốc
(00001587; 00001594; 00001595; 00001599; 00001604; 00001610; 00001617; 00001618; 00001623; 00001624; 00001631; 00001644)
Chúc bạn kỳ nghỉ thiệt vui
 
Upvote 0
Web KT

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

Back
Top Bottom