Hỏi code vba copy sheets của file dang mo sang file khác.

Liên hệ QC

dtuntanh

Thành viên mới
Tham gia
13/8/13
Bài viết
41
Được thích
1
Em có một File Excle.xlsm đang mở, trong đó có nhiều Sheets. Giờ em muốn copy một sheet sang một file khác bằng code VBA mà không phải mở file đó lên. Mong các anh chị giúp đỡ. Em xin cảm ơn!
 
Đã thử và không hoạt động bạn
View attachment 269056
Bạn thử code sau nhé:

Mã:
Sub CopyDL()
    With CreateObject("ADODB.Connection")
        .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\File_Dich.xlsb;Extended Properties=""Excel 12.0;HDR=NO;IMEX=-1"""
        .Execute "Insert Into [Sheet1$] Select * From [EXCEL 12.0;HDR=No;IMEX=-1;Database=" & ThisWorkbook.FullName & "].[Data1$A1:Z] "
    End With
End Sub
 
Upvote 0
Đã thử và không hoạt động bạn
View attachment 269056
Bạn xem lại xem.
Workbook hiện đang mở (file chứa code ) có Sheet4 không.
Và có phải bạn muốn copy các mảng có tên là nguon ấy vào Sheet có tên là "Sheet4" của file TA.xlsx không?
Muốn được giúp nhanh nhất và tốt nhất, thì hãy đưa file giả định lên, chứ nói không thế này thì chưa chắc chắn là đúng ý bạn.
 
Upvote 0
bạn thử code sau. Mở File nguon lên và chạy code
lưu ý file dich phải đang đóng nếu ko là báo lỗi
PHP:
Sub Copy_PasteFileDong()
Application.ScreenUpdating = False
Dim nguon(), OpenFile As String
nguon = Range([A1], [A65536].End(3)).Resize(, 26).Value
OpenFile = ThisWorkbook.Path & "\File_Dich.xlsb"
Workbooks.Open OpenFile
    With ActiveWorkbook
        With .ActiveSheet
            .UsedRange.ClearContents
            .[A65536].End(3).Resize(UBound(nguon), 26) = nguon
        End With
        .Close True
    End With
Application.ScreenUpdating = True
End Sub
Mình thử code của bạn chỉ. Copy được. Nhưng muốn copy cả định dạng của hàng và cột thì có được không?.
 
Upvote 0
Hôm nay mình ngồi Voc form một ngày thấy cũng ko khó lắm trừ những cái cao cấp còn bình bình mình cũng xử được tuốt...
mình làm cho bạn tải file này về thay thế file cũ nha
mình viết thêm cho bạn một code khác cũng tương tự như vậy nhưng hơi khác một tí .... code này file dich đang đóng hay mở nó cũng mần hết và ĐẶC BIỆT dành ai nhát Gan nữa nha
PHP:
Sub Copy_PasteFileDong2() ''Minh viet cho ban 2 trong mot
Application.ScreenUpdating = False
Dim nguon(), Wh As Workbook, OpenFile As String
OpenFile = ThisWorkbook.Path & "\File_Dich.xlsb"
nguon = Range([A1], [A65536].End(3)).Resize(, 26).Value
For Each Wh In Workbooks
    If Wh.Name <> ThisWorkbook.Name Then
        Wh.Close savechanges:=False
    End If
Next Wh
Workbooks.Open OpenFile
With Workbooks("File_Dich.xlsb")
    With Sheets("sheet1")
        .UsedRange.ClearContents '''Neu xoa dong nay di thi copy moi duoi nhau_Con ko thi nguoc lai
        .[A65536].End(3).Resize(UBound(nguon), 26) = nguon
    End With
    .Close True
End With
Application.ScreenUpdating = True
End Sub
Chào bạn hôm nay có dịp tìm hiểu chủ đề copy dữ liệu vào file đóng.Với nội dung code trên muốn lấy dữ liệu từng cột mà không lấy toàn bộ dữ liệu và bổ xung thêm cột ngày tháng tại sheet(DATA) cột B để lọc lấy dữ liệu theo ngày thì có thể chỉnh code thế nào ?Rất mong bạn cùng anh chị em diễn đàn chỉ bảo giúp.
 

File đính kèm

  • File nguon.xlsb
    38.7 KB · Đọc: 3
  • File_Dich.xlsb
    10 KB · Đọc: 3
Upvote 0
Web KT
Back
Top Bottom