Chuyển dữ liệu cho nhiều file (1 người xem)

  • Thread starter Thread starter hdg2318
  • Ngày gửi Ngày gửi
Liên hệ QC

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

hdg2318

Thành viên mới
Tham gia
13/5/13
Bài viết
40
Được thích
3
Mình có tìm được đoạn code này trên mạng. Chức năng của nó là copy 1 vùng dữ liệu từ file này sang file khác (code ở file trung gian, không có dữ liệu).
Code này chỉ áp ụng được cho 1 file 1 thôi. Nhờ các bạn sửa giúp để có thể chạy cho nhiều file.
VD:
Folder 01: có 10 file với tên file dạng A001.xlsm, A002.xlsm....A010.xlsm
Folder 02: có 10 file tương ứng NA001~NA010.xlsm.

Mình cần chuyển dữ liệu từ 1 vùng xác định (VD vùng A1:L15) tại 1 sheet xác định (VD sheet có tên M1) từ các file trong folder 01 sang các file tương ứng trong folder 02.

Đây là code mình tìm được, mong các bạn giúp đỡ. Thanks!

Mã:
Sub CopyIt()
    Dim wbCopy As Workbook
    Dim wbPaste As Workbook
     
    Application.ScreenUpdating = False
    Set wbCopy = Workbooks.Open("E:\Form\Test\01\Test.xlsm")
    Set wbPaste = Workbooks.Open("E:\Form\Test\02\NTest.xlsm")
    wbCopy.Sheets("M1").Range("A1:L15").Copy
    With wbPaste.Sheets("M2").Range("A10:L25")
        .PasteSpecial xlValues
        .PasteSpecial xlFormats
    End With
    wbCopy.Close (False)
    wbPaste.Close (True)
    Application.ScreenUpdating = True
End Sub
 
Mình có tìm được đoạn code này trên mạng. Chức năng của nó là copy 1 vùng dữ liệu từ file này sang file khác (code ở file trung gian, không có dữ liệu).
Code này chỉ áp ụng được cho 1 file 1 thôi. Nhờ các bạn sửa giúp để có thể chạy cho nhiều file.
VD:
Folder 01: có 10 file với tên file dạng A001.xlsm, A002.xlsm....A010.xlsm
Folder 02: có 10 file tương ứng NA001~NA010.xlsm.

Mình cần chuyển dữ liệu từ 1 vùng xác định (VD vùng A1:L15) tại 1 sheet xác định (VD sheet có tên M1) từ các file trong folder 01 sang các file tương ứng trong folder 02.

Đây là code mình tìm được, mong các bạn giúp đỡ. Thanks!

Bạn thử dùng code này, đường dẫn do bạn đặt, còn thuật toán là thế này:

Mã:
Sub CopyIt()
    Dim i As Integer
    Dim wbCopy As Workbook, wbPaste As Workbook
    Dim FileNameCopy As String, FileNamePaste As String
     
    Application.ScreenUpdating = False
    
    For i = 1 To 10
        FileNameCopy = "A" & Format(i, "000")
        FileNamePaste = "NA" & Format(i, "000")
        
        Set wbCopy = Workbooks.Open("E:\Form\Test\01\[COLOR=#ff0000]" & FileNameCopy & "[/COLOR].xlsm")
        Set wbPaste = Workbooks.Open("E:\Form\Test\02\[COLOR=#ff0000]" & FileNamePaste & "[/COLOR].xlsm")
        
        wbCopy.Sheets("M1").Range("A1:L15").Copy
        With wbPaste.Sheets("M2").Range("A10:L25")
            .PasteSpecial xlValues
            .PasteSpecial xlFormats
        End With
        wbCopy.Close (False)
        wbPaste.Close (True)
    Next
    Set wbCopy = Nothing
    Set wbPaste = Nothing
    
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
thank bạn. Code chạy tuơng đối. Có điều với mỗi cặp file copy, nó lại hiện thông báo như hình dưới. có cách nào để nó tự động chọn No hoặc không hiện lên không bạn?
 

File đính kèm

  • gpe02.jpg
    gpe02.jpg
    13.7 KB · Đọc: 30
Upvote 0

Sinh nhật ndu, anh đặt đường dẫn như thế này, không biết code trên nó có chạy được không?

PHP:
Dim Sinhnhat As Integer
Set Sinhnhat = be09("D:\Nhabe09\Denndu\taphop\Phao75.exe")

N
ếu em thử code mà chạy được thì báo cho anh biết để tập họp lực lượng.
 
Lần chỉnh sửa cuối:
Upvote 0
thank bạn. Code chạy tuơng đối. Có điều với mỗi cặp file copy, nó lại hiện thông báo như hình dưới. có cách nào để nó tự động chọn No hoặc không hiện lên không bạn?

Dưới Application trên đặt:
Application.DisplayAlert=False
Tương tự với cái dưới=True
 
Upvote 0
Web KT

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

Back
Top Bottom