Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 15

Chủ đề: Gộp nhiều file excel thành 1 file và tách theo từng sheet theo dữ liệu của mỗi file!!

  1. #1
    kevin_cn08b Guest

    Gộp nhiều file excel thành 1 file và tách theo từng sheet theo dữ liệu của mỗi file!!

    Chào mọi người, em có vấn đề cần mọi người giúp, em có 2 file excel tên là "File 1" và "File 2"
    Có cách nào mình gôm 2 file excel thành một file mới và chia theo từng sheet (sheet "File 1" chứa dữ liệu của "File 1" và sheet "File 2" chứa dữ liệu của "File 2") không ạ, em cám ơn!!!

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Mở hai file, để con trỏ ở tên Sheet (dưới đáy màn hình), bấm chuột phải, chọn Move or copy, chọn file trong To book, chọn creat a copy, chọn Ok

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Vậy là phải mở file nên mới được hả bạn, mình có 102 đơn vị , mỗi đơn vị có 12 file cần gộp, vậy là mỗi đơn vị mình mở 12 file mới được hả bạn, có cách nào gộp mà không cần mở file không bạn?

  4. #4
    hajdajgja Guest
    Trích dẫn Gửi bởi lenongree
    Vậy là phải mở file nên mới được hả bạn, mình có 102 đơn vị , mỗi đơn vị có 12 file cần gộp, vậy là mỗi đơn vị mình mở 12 file mới được hả bạn, có cách nào gộp mà không cần mở file không bạn?
    Có làm được...Bằng VBA code. Bạn thử up vài file con và 1 file tổng cần tổng hợp lên đây xem...

  5. #5
    aukid411 Guest
    Trích dẫn Gửi bởi lenongree
    Vậy là phải mở file nên mới được hả bạn, mình có 102 đơn vị , mỗi đơn vị có 12 file cần gộp, vậy là mỗi đơn vị mình mở 12 file mới được hả bạn, có cách nào gộp mà không cần mở file không bạn?
    102 đơn vị x 12 = 1224 file . khác xa so với "tình yêu ban đầu"


    Trích dẫn Gửi bởi lenongree
    Chào mọi người, em có vấn đề cần mọi người giúp, em có 2 file excel tên là "File 1" và "File 2"
    mà cái này thì cần xem được file thì anh #4 mới làm được .

  6. #6
    khanhcool Guest
    Trích dẫn Gửi bởi hpkhuong
    Có làm được...Bằng VBA code. Bạn thử up vài file con và 1 file tổng cần tổng hợp lên đây xem...
    Dạ, để em gửi 3 file thử!!!

  7. #7
    tungsontq Guest
    Trích dẫn Gửi bởi lenongree
    Dạ, để em gửi 3 file thử!!!
    1. Bạn xóa 3 sheet đã ví dụ trong file hoàn thành (vì chạy code trùng tên cũ thì ko được). Copy code sau cho vào Module của file hoàn thành. Lưu file này đuôi .xlsm hoặc .xlsb thì mới chứa được code VBA

    2. Cho 4 file trên vào 1 Folder. Chạy code -> của sổ mở ra -> Chọn nguyên Folder và OK. Đợi xíu chạy xong

    P/s: Code trên chỉ lấy sheet có tên là VTU trong các file con. Bạn muốn copy nhiều file hơn nữa thì cứ tống các file đó vào Folder trên... (theo trên thì bạn nói là 12 file gì đó.)

    Code trên viết theo tên sheet là VTU, thực tế của bạn khác thì bạn tự chỉnh sửa lại cho phù hợp mà chạy.

    Chỉ cần code này trên file tổng hợp, các file con bạn đưa vào folder và chạy thì nó tự tổng hơp => Không cần phải mở file con.


    Mã:
    Option Explicit
    Public Sub GPE()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.AskToUpdateLinks = False
    Dim ChonO As Object, ChonF As Object, pFile, Path, ShName As String
    Dim fil As Object, Wb As Workbook, Sh As Worksheet, WbMain As Workbook
    pFile = ActiveWorkbook.Name
    Set WbMain = ActiveWorkbook
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Chon Folder"
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub
        Path = .SelectedItems(1) & "\"
    End With
    Set ChonO = CreateObject("Scripting.FilesyStemObject")
    Set ChonF = ChonO.GetFolder(Path)
    For Each fil In ChonF.Files
        If InStr(1, fil.Name, pFile) <= 0 Then
            Set Wb = Workbooks.Open(fil.Path)
            ShName = ChonO.GetBaseName(fil)
            For Each Sh In Wb.Worksheets
            If Sh.Name = "VTU" Then
                Sh.Copy After:=WbMain.Sheets(WbMain.Sheets.Count)
                WbMain.Sheets(WbMain.Sheets.Count).Name = ShName
            End If
            Next Sh
            Workbooks(fil.Name).Close
        End If
    Next fil
    Application.CutCopyMode = False
    Application.AskToUpdateLinks = True
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    End Sub

  8. #8
    dungcuthethaohc Guest
    Trích dẫn Gửi bởi hpkhuong
    1. Bạn xóa 3 sheet đã ví dụ trong file hoàn thành (vì chạy code trùng tên cũ thì ko được). Copy code sau cho vào Module của file hoàn thành. Lưu file này đuôi .xlsm hoặc .xlsb thì mới chứa được code VBA

    2. Cho 4 file trên vào 1 Folder. Chạy code -> của sổ mở ra -> Chọn nguyên Folder và OK. Đợi xíu chạy xong

    P/s: Code trên chỉ lấy sheet có tên là VTU trong các file con. Bạn muốn copy nhiều file hơn nữa thì cứ tống các file đó vào Folder trên... (theo trên thì bạn nói là 12 file gì đó.)

    Code trên viết theo tên sheet là VTU, thực tế của bạn khác thì bạn tự chỉnh sửa lại cho phù hợp mà chạy.

    Chỉ cần code này trên file tổng hợp, các file con bạn đưa vào folder và chạy thì nó tự tổng hơp => Không cần phải mở file con.


    <div class="bbcode_container">
    <div class="bbcode_description">Code:
    </div>
    </div>
    Ngưỡng mộ anh quá xá. Nhờ anh, em mới biết cách tổng hợp nhanh đến như vầy. Cảm ơn anh nhiều.

  9. #9
    nhocnguyen_vip Guest
    Trích dẫn Gửi bởi hpkhuong
    1. Bạn xóa 3 sheet đã ví dụ trong file hoàn thành (vì chạy code trùng tên cũ thì ko được). Copy code sau cho vào Module của file hoàn thành. Lưu file này đuôi .xlsm hoặc .xlsb thì mới chứa được code VBA

    2. Cho 4 file trên vào 1 Folder. Chạy code -> của sổ mở ra -> Chọn nguyên Folder và OK. Đợi xíu chạy xong

    P/s: Code trên chỉ lấy sheet có tên là VTU trong các file con. Bạn muốn copy nhiều file hơn nữa thì cứ tống các file đó vào Folder trên... (theo trên thì bạn nói là 12 file gì đó.)

    Code trên viết theo tên sheet là VTU, thực tế của bạn khác thì bạn tự chỉnh sửa lại cho phù hợp mà chạy.

    Chỉ cần code này trên file tổng hợp, các file con bạn đưa vào folder và chạy thì nó tự tổng hơp => Không cần phải mở file con.


    <div class="bbcode_container">
    <div class="bbcode_description">Code:
    </div>
    </div>
    Em làm được rồi, nhưng chỗ này mình chọn file để gộp được không anh đỡ mắc công phải chỉnh lại code và copy/paste/delete file, nếu được cho em xin một cái nút để bấm, hi, xin lỗi anh em hơi đòi hỏi tý!! Em cám ơn anh!!![IMG]images/smilies/a12.gif[/IMG]

  10. #10
    baloenglish.2015 Guest
    Trích dẫn Gửi bởi lenongree
    Em làm được rồi, nhưng chỗ này mình chọn file để gộp được không anh đỡ mắc công phải chỉnh lại code và copy/paste/delete file, nếu được cho em xin một cái nút để bấm, hi, xin lỗi anh em hơi đòi hỏi tý!! Em cám ơn anh!!![IMG]images/smilies/a12.gif[/IMG]
    1. Ý màu đỏ: là sao phải mắc công chỉnh code, copy/paste Delete cái gì vậy? Muốn chạy code thì bạn chạy code 1 lần thôi...chứ bạn làm gì nữa???

    2. Ý màu xanh: nút bấm gì...bạn đưa code vào. Bạn insert cho nó cái Shapes hoặc cái Button, click phải/Assign Macro: add cái Sub ấy vào rồi bấm thôi mà...

Trang 1 của 2 12 CuốiCuối

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
  •