[Kế toán] - Gộp GL của một tháng lại

Liên hệ QC

tisdadu

Thành viên mới
Tham gia
27/3/20
Bài viết
5
Được thích
0
Hi mọi người,

Trường hợp của em là em có 1 sổ GL của 1 tháng (trong file đính kèm), thực ra là em có từ tháng 1 đến tháng 9. Em muốn gộp lại thành 1 file hoàn chỉnh (em lấy ví dụ là của tháng 9), các sheet trong file là theo từng account code. Em muốn khi mình gộp lại thì ra được một cột account code này, để phân biệt đc với các sheet khác. Cao nhân nào biết gộp chỉ em với ạ. Em có search trên mạng thấy mọi người dùng Macro, Power Query,... nhưng em vẫn làm chưa được.

Cám ơn mọi người nhiều!
 

File đính kèm

  • GeneralLedger 9.2019.xlsx
    1.1 MB · Đọc: 21
Hi mọi người,

Trường hợp của em là em có 1 sổ GL của 1 tháng (trong file đính kèm), thực ra là em có từ tháng 1 đến tháng 9. Em muốn gộp lại thành 1 file hoàn chỉnh (em lấy ví dụ là của tháng 9), các sheet trong file là theo từng account code. Em muốn khi mình gộp lại thì ra được một cột account code này, để phân biệt đc với các sheet khác. Cao nhân nào biết gộp chỉ em với ạ. Em có search trên mạng thấy mọi người dùng Macro, Power Query,... nhưng em vẫn làm chưa được.

Cám ơn mọi người nhiều!
Góp ý cho bạn:
1/ Bạn mới tham gia diễn đàn thì tránh dùng những từ ngữ thế này "Cao nhân, cao thủ, đại ca..v..v......" nghe rất phản cãm, nên dùng từ đơn giản thế này Anh/Chị thấy lịch sụ hơn.
2/ Nội quy quy định là các bài viết bằng tiếng Việt cần viết có dấu đầy đủ (có nghĩa là không viết tắt), bạn lại chơi thế này "sổ GL, đc, e", rút kinh nghiệm nhé, bạn hỏi về Macro mà ai cũng cẩu thả như bạn thì làm sao code chạy đúng, nếu muốn đi vào con đường đau khổ (VBA) thì tập tính cẩn thận.
3/ Trong File bạn có đế 174 sheet, nếu muốn gộp nhiều sheet vào 1 sheet thì bạn nên có 1 sheet kết quả gộp của 3 sheet và đính kèm dữ liệu của 3 sheet gộp thôi là đủ (bạn chỉ cần nêu thòng câu này là 1 tháng có đến 174 sheet như vậy) thì mọi người hiểu.
4/ Một vấn đề khác cũng quan trọng là bạn nên nêu rõ dữ liệu các sheet đó xuất từ phần mềm ra hay là bạn làm 1 cái mẫu cần dùng đến đâu thì copy đến đấy. Mục đích là biết quy trình thì mới tính đến phương pháp.
 
Hi mọi người,

Trường hợp của em là em có 1 sổ GL của 1 tháng (trong file đính kèm), thực ra là em có từ tháng 1 đến tháng 9. Em muốn gộp lại thành 1 file hoàn chỉnh (em lấy ví dụ là của tháng 9), các sheet trong file là theo từng account code. Em muốn khi mình gộp lại thì ra được một cột account code này, để phân biệt đc với các sheet khác. Cao nhân nào biết gộp chỉ em với ạ. Em có search trên mạng thấy mọi người dùng Macro, Power Query,... nhưng em vẫn làm chưa được.

Cám ơn mọi người nhiều!
Hi Bạn,
đọc xong mở file ra cũng không hiểu ý bạn là như thế nào luôn.
có thể nói rõ hơn xíu hong
Cảm ơn,
 
Hi mọi người,

Trường hợp của em là em có 1 sổ GL của 1 tháng (trong file đính kèm), thực ra là em có từ tháng 1 đến tháng 9. Em muốn gộp lại thành 1 file hoàn chỉnh (em lấy ví dụ là của tháng 9), các sheet trong file là theo từng account code. Em muốn khi mình gộp lại thì ra được một cột account code này, để phân biệt đc với các sheet khác. Cao nhân nào biết gộp chỉ em với ạ. Em có search trên mạng thấy mọi người dùng Macro, Power Query,... nhưng em vẫn làm chưa được.

Cám ơn mọi người nhiều!
Mẩu kết quả như thế nào?
 
Bài trên Chú Be09 vừa giảng nội quy xong. Bài dưới lại Hi bạn
 
Hi Bạn,
đọc xong mở file ra cũng không hiểu ý bạn là như thế nào luôn.
có thể nói rõ hơn xíu hong
Cảm ơn,
Chủ Topic muốn gộp 174 sheet vào 1 sheet, nhưng không có sheet kết quả gộp như thế nào thì bó tay với Chủ Topic luôn.
 
Đây là mẫu kết quả em muốn tạo ra ạ. Tức là có 174 sheets, mỗi sheet ứng với 1 đầu tài khoản kế toán (account code), ví dụ sheet 1 là 111100, sheet 2 là 111200,... em muốn kết quả ra cũng có chứa các account code này, chứ nếu mất đi thì em không còn phân biệt được đâu là phần nội dung của sheet 1, sheet 2,...
Bài đã được tự động gộp:

Góp ý cho bạn:
1/ Bạn mới tham gia diễn đàn thì tránh dùng những từ ngữ thế này "Cao nhân, cao thủ, đại ca..v..v......" nghe rất phản cãm, nên dùng từ đơn giản thế này Anh/Chị thấy lịch sụ hơn.
2/ Nội quy quy định là các bài viết bằng tiếng Việt cần viết có dấu đầy đủ (có nghĩa là không viết tắt), bạn lại chơi thế này "sổ GL, đc, e", rút kinh nghiệm nhé, bạn hỏi về Macro mà ai cũng cẩu thả như bạn thì làm sao code chạy đúng, nếu muốn đi vào con đường đau khổ (VBA) thì tập tính cẩn thận.
3/ Trong File bạn có đế 174 sheet, nếu muốn gộp nhiều sheet vào 1 sheet thì bạn nên có 1 sheet kết quả gộp của 3 sheet và đính kèm dữ liệu của 3 sheet gộp thôi là đủ (bạn chỉ cần nêu thòng câu này là 1 tháng có đến 174 sheet như vậy) thì mọi người hiểu.
4/ Một vấn đề khác cũng quan trọng là bạn nên nêu rõ dữ liệu các sheet đó xuất từ phần mềm ra hay là bạn làm 1 cái mẫu cần dùng đến đâu thì copy đến đấy. Mục đích là biết quy trình thì mới tính đến phương pháp.
Đây là bài viết đầu tiên của tôi ở diễn đàn này, chú biết mà, bớt sân si và góp ý người khác một cách thiếu tế nhị như thế nhé.
 

File đính kèm

  • MẪU GL THÁNG 9.xlsx
    9.9 KB · Đọc: 11
Lần chỉnh sửa cuối:
Đây là mẫu kết quả em muốn tạo ra ạ. Tức là có 174 sheets, mỗi sheet ứng với 1 đầu tài khoản kế toán (account code), ví dụ sheet 1 là 111100, sheet 2 là 111200,... em muốn kết quả ra cũng có chứa các account code này, chứ nếu mất đi thì em không còn phân biệt được đâu là phần nội dung của sheet 1, sheet 2,...
Bài đã được tự động gộp:


Đây là bài viết đầu tiên của tôi ở diễn đàn này, chú biết mà, bớt sân si và góp ý người khác một cách thiếu tế nhị như thế nhé.
Kết quả như vậy thì xem trong từng sheet hay hơn, cần gì gộp lại
 
Mình cần gộp lại để dễ lọc sổ đó bạn. Nói chung là mình đang audit 1 khách hàng có file sổ cái như thế á.
Cách làm của bạn có gì đó không ổn. Lưu ý 1 nghiệp vụ sẽ ghi trùng 2 lần
Mã:
Sub ABC()
  Dim sh As Worksheet, shName$, tKhoan$
  Dim eRow&, fRow&, n&, i&, iR&
 
  Application.ScreenUpdating = False
  shName = "TongHop" 'Ten sheet can tong hop
  Set sh = Sheets(shName)
  iR = sh.Range("A" & Rows.Count).End(xlUp).Row
  If iR > 3 Then sh.Range("A3:P" & iR).Clear
  For n = 1 To Sheets.Count
    If Sheets(n).Name <> shName Then
      With Sheets(n)
        eRow = .Range("A" & Rows.Count).End(xlUp).Row - 1
        tKhoan = Empty
        For i = 1 To eRow
          If Left(.Range("A" & i).Value, 14) = "GENERAL LEDGER" Then
            tKhoan = .Range("A" & i).Value
            tKhoan = Replace(Split(Split(tKhoan, ":")(1), "-")(0), " ", "")
          ElseIf .Range("A" & i).Value = "A" Then
            fRow = i + 3
            Exit For
          End If
        Next i
        If tKhoan <> Empty Then
          If .Range("A" & fRow).Value <> Empty Then
            iR = sh.Range("A" & Rows.Count).End(xlUp).Row
            If iR < 3 Then iR = 3 Else iR = iR + 1
            .Range("A" & fRow & ":O" & eRow).Copy sh.Range("B" & iR)
            sh.Range("A" & iR).Resize(eRow - fRow + 1) = tKhoan
          End If
        End If
      End With
    End If
  Next n
  iR = sh.Range("A" & Rows.Count).End(xlUp).Row
  If iR > 3 Then sh.Range("A3:A" & iR).Borders.LineStyle = 1
  Application.ScreenUpdating = True
End Sub
 

File đính kèm

  • GeneralLedger 9.2019.xlsb
    697.8 KB · Đọc: 12
Đây là mẫu kết quả em muốn tạo ra ạ. Tức là có 174 sheets, mỗi sheet ứng với 1 đầu tài khoản kế toán (account code), ví dụ sheet 1 là 111100, sheet 2 là 111200,... em muốn kết quả ra cũng có chứa các account code này, chứ nếu mất đi thì em không còn phân biệt được đâu là phần nội dung của sheet 1, sheet 2,...
Bài đã được tự động gộp:


Đây là bài viết đầu tiên của tôi ở diễn đàn này, chú biết mà, bớt sân si và góp ý người khác một cách thiếu tế nhị như thế nhé.
Bạn muốn được các thành viên trợ giúp thì nên nghe lời góp ý, còn bạn không muốn nghe là tùy bạn.
Hãy thử tiếp tục dùng từ ngữ như trên xem có bao nhiêu thành viên có nhiều kinh nghiệm vào giúp cho bạn.
 
Bạn muốn được các thành viên trợ giúp thì nên nghe lời góp ý, còn bạn không muốn nghe là tùy bạn.
Hãy thử tiếp tục dùng từ ngữ như trên xem có bao nhiêu thành viên có nhiều kinh nghiệm vào giúp cho bạn.
Cần gì phải nghe. Vẫn có người giúp đó thôi.

Muốn loại bỏ những thái độ như thế thì chỉ còn nước đồng lòng - không ai trả lời.
 
Chào các anh/chị em của GPE.
Em có 1 vấn đề tương tự muốn nhờ các thành viên trợ giúp.
Hiện tại em có 1 file hàng tháng có 30 sheet theo từng ngày. Giờ em muốn gộp dữ liệu từ 30 sheet lại làm 1 sheet tổng.
Mong các thành viên giúp đỡ.
Dữ liệu sẽ coppy từ cột A đến cột AJ. Coppy từ dòng 10 tới dòng cuối cùng có dữ liệu của từng sheet. Paste value giá trị khi coppy ạ
 

File đính kèm

  • GPE.xlsx
    2.6 MB · Đọc: 4
Chào các anh/chị em của GPE.
Em có 1 vấn đề tương tự muốn nhờ các thành viên trợ giúp.
Hiện tại em có 1 file hàng tháng có 30 sheet theo từng ngày. Giờ em muốn gộp dữ liệu từ 30 sheet lại làm 1 sheet tổng.
Mong các thành viên giúp đỡ.
Dữ liệu sẽ coppy từ cột A đến cột AJ. Coppy từ dòng 10 tới dòng cuối cùng có dữ liệu của từng sheet. Paste value giá trị khi coppy ạ
Không giải thích làm sao biết làm gì
 
Cần gì phải nghe. Vẫn có người giúp đó thôi.
...
Dân auditor (kiểm toán) mờ bác. Chỉ có người ta nghe mình chứ đâu có hơi đâu mà nghe người ta.
Tôi làm chung với họ nhiều năm rồi. Mọi ngừoi trên diễn đàn này thấy chính tôi cũng nhiễm thói hách dịch của họ.

Chỉ là tôi không hiểu sao cỡ trình độ kiểm toán mà phải nhờ ngừoi khác viết VBA? Theo nguyên tắc, kiểm toán phải tự kiểm VBA trước, và thẩm định nhũng code nào có thể dùng được.
 
Em gửi lại file. Các anh/chị xem giúp nhé
Chạy code
Mã:
Sub ABC()
  Dim sh As Worksheet, shName$, Dic As Object
  Dim eRow&, n&, iR&
 
  Const Thang As String = "03" 'Thang tong hop
 
  Application.ScreenUpdating = False
  Set sh = Sheet5'Sheet Tong Hop
  iR = sh.Range("A" & Rows.Count).End(xlUp).Row
  If iR > 9 Then sh.Range("A10:AK" & iR).Clear
  Set Dic = CreateObject("scripting.dictionary")
  For n = 1 To Sheets.Count
    Dic.Add Sheets(n).Name, ""
  Next n
  For n = 1 To 31
    shName = Thang & "." & Format(n, "00")
    If Dic.exists(shName) Then
      With Sheets(shName)
        eRow = .Range("A" & Rows.Count).End(xlUp).Row
        If eRow > 9 Then
          iR = sh.Range("A" & Rows.Count).End(xlUp).Row
          If iR < 10 Then iR = 10 Else iR = iR + 1
            sh.Range("B" & iR).Resize(eRow - 9, 36) = .Range("A10:AJ" & eRow).Value
            sh.Range("A" & iR).Resize(eRow - 9) = shName
        End If
      End With
    End If
  Next n
  Application.ScreenUpdating = True
End Sub
 
Dân auditor (kiểm toán) mờ bác. Chỉ có người ta nghe mình chứ đâu có hơi đâu mà nghe người ta.
Tôi làm chung với họ nhiều năm rồi. Mọi ngừoi trên diễn đàn này thấy chính tôi cũng nhiễm thói hách dịch của họ.
Nghề nào cũng có người giỏi người kém mà bác.
Bác hách dịch nhưng bác giỏi. Kém mà hách dịch thì hơi "ngược đời".
 
bạn ơi gửi lại mình bài này hôm t6 bạn giải cho mình với , bài mình đăng k biết sao admin gỡ rồi
 

File đính kèm

  • BAI12.xlsx
    11.9 KB · Đọc: 4
Web KT
Back
Top Bottom