Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 8 của 8
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Giúp em viết code VBA để copy nhiều sheet vào sheet tổng cộng


  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Bạn có thể tham khảo file này



    Mã:
    Option Explicit
    Sub Button4_Click()
    Dim Sh As Worksheet
    
    Application.ScreenUpdating = False
    [b2].CurrentRegion.Offset(1, 1).ClearContents
    For Each Sh In Worksheets
        If Sh.Name <> "THop" Then
            With [B65500].End(xlUp).Offset(1)
                Sh.[b2].CurrentRegion.Offset(1, 1).Copy Destination:=.Offset(0)
            End With
        End If
    Next Sh
    Application.ScreenUpdating = True
    Columns("E:E").Hidden = True:                   Randomize
    [b1].Resize(, 6).Interior.ColorIndex = 34 + 9 * Rnd() \ 1
    End Sub

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    18
    Ðề: Giúp em viết code VBA để copy nhiều sheet vào sheet tổng cộng

    Cảm ơn TQChanh đã giúp

    ---------- Post added at 04:36 ---------- Previous post was at 04:07 ----------

    Anh TQChanh giúp thêm em Mẫu báo cáo này nữa,
    Vì có rất là nhiều sheet nên mới phải mất công viết code như thế này
    Ở sau cột 6 em chèn thêm 1 cột và cộng cột (4+5) sau đó để hiển thị cột 6 và ẩn cột 4, 5
    anh giúp thêm em cái này nhé
    cảm ơn anh trước

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Bạn thay bằng macro sau:



    Mã nguồn PHP:
    [COLOR=#000000]
    Option Explicit Sub Button4_Click[/COLOR][COLOR=#007700]() [/COLOR][COLOR=#0000BB]Dim Sh [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Worksheet[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Rws [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long Application[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]ScreenUpdating [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]False [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]b2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]CurrentRegion[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]ClearContents Columns[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"G:G"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Delete [/COLOR][COLOR=#DD0000]'*|*' [/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Each Sh In Worksheets [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Sh[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Name [/COLOR][COLOR=#007700]<> [/COLOR][COLOR=#DD0000]"THop" [/COLOR][COLOR=#0000BB]Then With [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]B65500[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlUp[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Sh[/COLOR][COLOR=#007700].[[/COLOR][COLOR=#0000BB]b2[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]CurrentRegion[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Copy Destination[/COLOR][COLOR=#007700]:=.[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]0[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]End With End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Next Sh Application[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]ScreenUpdating [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]True Columns[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"E:E"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Hidden [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]True[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]Randomize [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]b1[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700](, [/COLOR][COLOR=#0000BB]6[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Interior[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]ColorIndex [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]34 [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]Int[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]9 [/COLOR][COLOR=#007700]* [/COLOR][COLOR=#0000BB]Rnd[/COLOR][COLOR=#007700]()) [/COLOR][COLOR=#DD0000]'*| Doan Ma Them|*' [/COLOR][COLOR=#0000BB]Columns[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"G:G"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Select Selection[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Insert Shift[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000BB]xlToRight Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"G1"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"Total" [/COLOR][COLOR=#0000BB]With [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]G2[/COLOR][COLOR=#007700]] [/COLOR][COLOR=#0000BB]Rws [/COLOR][COLOR=#007700]= .[/COLOR][COLOR=#0000BB]Offset[/COLOR][COLOR=#007700](, -[/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]End[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]xlDown[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Row [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]FormulaR1C1 [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"=RC[-3]+RC[-2]" [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]HorizontalAlignment [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]xlCenter [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Select Selection[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]AutoFill Destination[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"G2:g" [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#0000BB]Rws[/COLOR][COLOR=#007700]), [/COLOR][COLOR=#0000BB]Type[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000BB]xlFillDefault End With End Sub [/COLOR
    :dichoi:​

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Giúp em viết code VBA để copy nhiều sheet vào sheet tổng cộng

    cảm ơn anh nhiều

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Helps !!!

    Sẵn e đang đi tìm cách phục vụ công việc copy Sheet này ... xin nhờ bác TQChanh giúp e cái bác nhé
    :love03:

    - Nội dung yêu cầu của e cũng gần giống với chủ đề này - e xin nói cụ thể như sau :

    Đầu tiên là e có n Sheet theo thứ tự 1 tới n ( n lớn nhất là 12 - e tổng hợp lương đó bác )
    Và Sheet Tổng hợp nằm tại vị trí n + 1

    + Nội dung của mỗi Sheet bên trong bác không cần chú ý nhiều lắm vì e cần Chép cả cột thôi ạ.
    Và dạng của các sheet này luôn luôn là :

    + Cột A chứa tên và cột H chứa số tiền tổng cộng
    ===> E cần chép 2 cột A và H của mỗi Sheet sang Sheet Tổng hợp

    * Theo nguyên tắc sau :

    Sheet1.CộtA .... Sheetn.CộtA ( các cột này sẽ nằm tại cột A - đến cột n trong Sheet Tổng hợp )

    Sheet1.CộtH ... Sheetn.CộtH ( các cột này sẽ nằm tại cột n + 2 đến cột n + 2 + n trong Sheet Tổng hợp )

    Với điều kiện : Tên NV trong mỗi Sheet sẽ từ ô A3 trở xuống ( tương tự H3 trở xuống )
    Và có tháng sẽ có 50 NV nhưng cũng có tháng có 60 NV ... hoặc khác nữa ( số dòng trong mổi tháng có thể thay đổi )

  7. #7
    Ngày tham gia
    Nov 2015
    Bài viết
    9
    Ðề: Giúp em viết code VBA để copy nhiều sheet vào sheet tổng cộng

    Bạn xài đoạn mã sau:


    Mã nguồn PHP:
    [COLOR=#000000]
    Option Explicit Sub gpeCopy[/COLOR][COLOR=#007700]() [/COLOR][COLOR=#0000BB]Dim Sh [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Worksheet[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Byte[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]Rw [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]Long Dim ShName [/COLOR][COLOR=#007700]As [/COLOR][COLOR=#0000BB]String Sheets[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"Tong Hop"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Select [/COLOR][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Each Sh In ThisWorkbook[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Worksheets [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Len[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Sh[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Name[/COLOR][COLOR=#007700]) = [/COLOR][COLOR=#0000BB]1 Then J [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]J [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]1 ShName [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]CStr[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]With Sheets[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]ShName[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Rw [/COLOR][COLOR=#007700]= .[[/COLOR][COLOR=#0000BB]A4[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]CurrentRegion[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Rows[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Count [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]9 [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Columns[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"A:A"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Copy Destination[/COLOR][COLOR=#007700]:=[/COLOR][COLOR=#0000BB]Cells[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700]) [/COLOR][COLOR=#0000BB]Cells[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]1[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]13 [/COLOR][COLOR=#007700]+ [/COLOR][COLOR=#0000BB]J[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Rw[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value [/COLOR][COLOR=#007700]= .[[/COLOR][COLOR=#0000BB]h1[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#0000BB]Resize[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]Rw[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000BB]Value End With End [/COLOR][COLOR=#007700]If [/COLOR][COLOR=#0000BB]Next Sh MsgBox J End Sub [/COLOR

  8. #8
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Giúp em viết code VBA để copy nhiều sheet vào sheet tổng cộng

    Hay quá bác ơi ... e Thanks bác nhiều nhé

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •