Nhặt ra số hóa đơn bị hủy bỏ tương ứng với ký hiệu và quyển hóa đơn từ các sheet chi tiết

Liên hệ QC

Excel my love_1

Thành viên thường trực
Tham gia
12/11/19
Bài viết
321
Được thích
179
Sắp tết nguyên đán rồi em chúc các anh chị và các bạn tết đẹp và khỏe
Oái oăm thay tết năm nay nó lại gần kỳ báo cáo của Nhà nước quy định, nên năm nay em ăn tết vẫn ăn ghém cả chứng từ hóa đơn mà thấy nhạt miệng quá các anh chị ạ
Em cần Trên sheet Tong hop Nhặt ra số hóa đơn bị hủy bỏ vào các cột I, L , O tương ứng với ký hiệu và quyển hóa đơn từ các sheet chi tiết Thang 10,11,12
Như trong ảnh
Chi tiết em có làm ra kết quả trong file và trình bày
Rất mong các anh chị giúp đỡ em để tết này em thấy có vị mặn chút ạ
Em cảm ơn các anh chị và các bạn đã quan tâm giúp đỡ em trong thời gian qua
 

File đính kèm

  • Theo doi hoa don.xlsb
    73.5 KB · Đọc: 12
  • Untitled.png
    Untitled.png
    263.5 KB · Đọc: 29
Lần chỉnh sửa cuối:
Sắp tết nguyên đán rồi em chúc các anh chị và các bạn tết đẹp và khỏe
Oái oăm thay tết năm nay nó lại gần kỳ báo cáo của Nhà nước quy định, nên năm nay em ăn tết vẫn ăn ghém cả chứng từ hóa đơn mà thấy nhạt miệng quá các anh chị ạ
Em cần Trên sheet Tong hop Nhặt ra số hóa đơn bị hủy bỏ và các cột I, L , O tương ứng với ký hiệu và quyển hóa đơn từ các sheet chi tiết Thang 10,11,12
Như trong ảnh
Chi tiết em có làm ra kết quả trong file và trình bày
Rất mong các anh chị giúp đỡ em để tết này em thấy có vị mặn chút ạ
Em cảm ơn các anh chị và các bạn đã quan tâm giúp đỡ em trong thời gian qua
Sẵn viết code thì lấy kết quả luôn cho 9 cột (Từ G đến O) luôn được không?
 
Upvote 0
Em cần Trên sheet Tong hop Nhặt ra số hóa đơn bị hủy bỏ và các cột I, L , O tương ứng với ký hiệu và quyển hóa đơn từ các sheet chi tiết Thang 10,11,12
Nhặt ra (giả dụ được) rồi thì bỏ vào đâu vậy bạn?
 
Upvote 0
Sẵn viết code thì lấy kết quả luôn cho 9 cột (Từ G đến O) luôn được không?
Anh ơi cũng mong anh giúp luôn cho em 12 tháng thay vì 3 tháng như file #1. Vì em muốn lưu file theo từng năm nên nhờ anh làm giúp luôn (từ cột G đến AP) . File em gửi lại ở đây luôn ạ
anh giúp em code lấy kết quả ra các cột luôn ạ.
Em cảm ơn anh trăm ngàn lần ạ
Bài đã được tự động gộp:

Nhặt ra (giả dụ được) rồi thì bỏ vào đâu vậy bạn?
Bác SA_DQ ơi nếu giả dụ được nhặt ra thì bỏ vào các cột mà có tiêu đề là Số hủy bỏ ở sheet Tong hop ạ
tức là vào các cột I, L , O (tương ứng với 3 tháng 10,11,12) Nếu là sheet Tong hop ở #1
tức là vào các cột I, L , O , R, U, X, AA, AD, AG, AJ, AM, AP (tương ứng 12 tháng) Nếu là sheet Tong hop ở #4 như trong file gửi kèm đây ạ
 

File đính kèm

  • Theo doi hoa don 2019.xlsb
    207 KB · Đọc: 8
Upvote 0
(1) Bạn chạy thử với phương thức FIND() muôn thuở xem sao; Nếu thời gian là rùa thì ta tìm phương cách khác:
PHP:
Sub ThongHop12Thang()
 Dim Rng As Range, sRng As Range, Sh As Worksheet
 Dim MyAdd As String, ShNum As String
 Dim Rws As Long, Cot As Integer, Num As Integer, Tmr As Double
1 'Xóa Du Liêu Lân Chay Truóc:      '
 Sheets("Tong Hop").Select:                             Tmr = Timer()
 Rws = [A4].CurrentRegion.Rows.Count
 For Num = 9 To 43 Step 3
    Cells(5, Num).Resize(Rws).ClearContents
 Next Num
2 'Tìm & Chép Lân Luot Theo Tháng:        '
 For Each Sh In ThisWorkbook.Worksheets
    ShNum = Right(Sh.Name, 2)
    If IsNumeric(ShNum) Then
        Rws = Sh.[G4].CurrentRegion.Rows.Count
        Set Rng = Sh.[G4].Resize(Rws):                  Num = CInt(ShNum)
        Set sRng = Rng.Find([H4].Value, , xlFormulas, xlWhole)
        If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
                Cells(65500, 3 * (2 + Num)).End(xlUp).Offset(1).Value = "'" & sRng.Offset(, -2).Value
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        End If
    End If
 Next Sh
 MsgBox Timer() - Tmr
End Sub

(2) Tên trang tính quá dài, bạn cầm tiết kiệm điện & thời gian chạy máy (tính) hơn
Ví dụ tên vầy cho các tháng 'Th09', 'Th13', . . . .là OK rồi, mần chi phải lê thê làm vậy!

Ngay đến, giả dụ 'Tong hop' nên chăng 'THop' là đủ nư rồi!
 
Upvote 0
Anh ơi cũng mong anh giúp luôn cho em 12 tháng thay vì 3 tháng như file #1. Vì em muốn lưu file theo từng năm nên nhờ anh làm giúp luôn (từ cột G đến AP) . File em gửi lại ở đây luôn ạ
File không "bảo hành", không bẫy lỗi.
Chúc ăn tết Nguyên Đán vui vẻ.
 

File đính kèm

  • Theo doi hoa don 2019.rar
    178.5 KB · Đọc: 14
Lần chỉnh sửa cuối:
Upvote 0
(1) Bạn chạy thử với phương thức FIND() muôn thuở xem sao; Nếu thời gian là rùa thì ta tìm phương cách khác:
PHP:
Sub ThongHop12Thang()
Dim Rng As Range, sRng As Range, Sh As Worksheet
Dim MyAdd As String, ShNum As String
Dim Rws As Long, Cot As Integer, Num As Integer, Tmr As Double
1 'Xóa Du Liêu Lân Chay Truóc:      '
Sheets("Tong Hop").Select:                             Tmr = Timer()
Rws = [A4].CurrentRegion.Rows.Count
For Num = 9 To 43 Step 3
    Cells(5, Num).Resize(Rws).ClearContents
Next Num
2 'Tìm & Chép Lân Luot Theo Tháng:        '
For Each Sh In ThisWorkbook.Worksheets
    ShNum = Right(Sh.Name, 2)
    If IsNumeric(ShNum) Then
        Rws = Sh.[G4].CurrentRegion.Rows.Count
        Set Rng = Sh.[G4].Resize(Rws):                  Num = CInt(ShNum)
        Set sRng = Rng.Find([H4].Value, , xlFormulas, xlWhole)
        If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
                Cells(65500, 3 * (2 + Num)).End(xlUp).Offset(1).Value = "'" & sRng.Offset(, -2).Value
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        End If
    End If
Next Sh
MsgBox Timer() - Tmr
End Sub

(2) Tên trang tính quá dài, bạn cầm tiết kiệm điện & thời gian chạy máy (tính) hơn
Ví dụ tên vầy cho các tháng 'Th09', 'Th13', . . . .là OK rồi, mần chi phải lê thê làm vậy!

Ngay đến, giả dụ 'Tong hop' nên chăng 'THop' là đủ nư rồi!
Vâng cháu cảm ơn bác SA_DQ ạ, Code của bác cháu thấy với khối lượng dữ liệu các năm như năm 2019 này, thì thời gian chạy code của bác cháu thấy cũng nhanh ạ. Tuy nhiên cách xuất ra dữ liệu hóa đơn hủy bên sheet Tong hop cháu đang cần để theo định dạng 000001;000002;........;00000n như trong file ở #1 cháu đã làm mẫu. Như hiện tại cháu chạy code của bác thì các hóa đơn hủy lại được liệt kê theo dòng, mỗi dòng là 1 số hóa đơn (như file ảnh cháu gửi này)
Chúc bác năm mới sức khỏe dồi dào
Bài đã được tự động gộp:

Em cảm ơn anh Ba Tê nhiều ạ, em sẽ kiểm tra kết quả. Em đã đọc nhiều trên GPE, thấy bài nào mà được anh Ba Tê giúp thì đều có kết quả rất hoàn mỹ, tựa như 1 phép mầu ạ
Chúc anh và gia đình năm mới sức khỏe dồi dào ạ
 

File đính kèm

  • Untitled2.png
    Untitled2.png
    262.8 KB · Đọc: 15
  • Theo doi hoa don 2019 (1).xlsb
    221.9 KB · Đọc: 6
Lần chỉnh sửa cuối:
Upvote 0
PHP:
Sub ThongHop12Thang()
Dim Rng As Range, sRng As Range, Sh As Worksheet
Dim MyAdd As String, ShNum As String:               Const FC As String = " "
Dim Rws As Long, Num As Integer, Tmr As Double, Dg As Long, Dm As Integer   '** '
1 'Xóa Du Liêu Lân Chay Truóc:      '
Sheets("Tong Hop").Select:                                 Tmr = Timer()
Rws = [A4].CurrentRegion.Rows.Count
For Num = 9 To 43 Step 3
    Cells(5, Num).Resize(Rws).ClearContents
Next Num
2 'Tìm & Chép Lân Luot Theo Tháng:        '
For Each Sh In ThisWorkbook.Worksheets
    ShNum = Right(Sh.Name, 2)
    If IsNumeric(ShNum) Then
        Rws = Sh.[G4].CurrentRegion.Rows.Count:     Dm = 0
        Set Rng = Sh.[G4].Resize(Rws):                      Num = CInt(ShNum)
        Set sRng = Rng.Find([H4].Value, , xlFormulas, xlWhole)
            If Not sRng Is Nothing Then
            MyAdd = sRng.Address:                               Dg = 5
            Do
                Dm = Dm + 1:                                     
                Cells(Dg, 3 * (2 + Num)).Value = Cells(Dg, 3 * (2 + Num)).Value & "'" & sRng.Offset(, -2).Value
                If Dm Mod 3 = 0 Then Dg = Dg + 1            '* *    '
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        End If
    End If
Next Sh
MsgBox Timer() - Tmr
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
File không "bảo hành", không bẫy lỗi.
Chúc ăn tết Nguyên Đán vui vẻ.
Em cảm ơn anh, code của anh ra kết quả mỹ mãn quá, hôm trước tết em cũng đã gửi lời cảm ơn anh.
Hôm nay đi làm gửi báo cáo xong nhẹ người quá, lại nhớ đến anh. Năm mới chúc anh sức khỏe dồi dào
Bài đã được tự động gộp:

PHP:
Sub ThongHop12Thang()
Dim Rng As Range, sRng As Range, Sh As Worksheet
Dim MyAdd As String, ShNum As String:               Const FC As String = " "
Dim Rws As Long, Num As Integer, Tmr As Double, Dg As Long, Dm As Integer   '** '
1 'Xóa Du Liêu Lân Chay Truóc:      '
Sheets("Tong Hop").Select:                                 Tmr = Timer()
Rws = [A4].CurrentRegion.Rows.Count
For Num = 9 To 43 Step 3
    Cells(5, Num).Resize(Rws).ClearContents
Next Num
2 'Tìm & Chép Lân Luot Theo Tháng:        '
For Each Sh In ThisWorkbook.Worksheets
    ShNum = Right(Sh.Name, 2)
    If IsNumeric(ShNum) Then
        Rws = Sh.[G4].CurrentRegion.Rows.Count:     Dm = 0
        Set Rng = Sh.[G4].Resize(Rws):                      Num = CInt(ShNum)
        Set sRng = Rng.Find([H4].Value, , xlFormulas, xlWhole)
            If Not sRng Is Nothing Then
            MyAdd = sRng.Address:                               Dg = 5
            Do
                Dm = Dm + 1:                                    
                Cells(Dg, 3 * (2 + Num)).Value = Cells(Dg, 3 * (2 + Num)).Value & "'" & sRng.Offset(, -2).Value
                If Dm Mod 3 = 0 Then Dg = Dg + 1            '* *    '
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        End If
    End If
Next Sh
MsgBox Timer() - Tmr
End Sub
Con Cảm ơn bác đã giúp code. Chúc bác sức khỏe, gừng càng già càng khỏe, sâm càng lâu càng trường sinh bất lão
 
Upvote 0
Web KT
Back
Top Bottom