cộng các file trong excel

Liên hệ QC

ngũ sắc

Thành viên mới
Tham gia
10/11/06
Bài viết
10
Được thích
0
mình có khoảng 100file execl, mỗi file chỉ 1 trang, mình muốn cộng 100 file đó thành 1 file dài 100 trang. Có cách nào để thực hiện được việc này không? nhờ các bạn giúp mình với
 
ý có phải bạn nối các file đó lại hay cộng giá trị của từng file?
 
Bạn chịu khó mở các file ra copy rồi dán nhé nhớ là excel chỉ có 65536 dòng thôi.
 
Nguyễn Hương Thơm đã viết:
ý có phải bạn nối các file đó lại hay cộng giá trị của từng file?
ý mình là nối các file đó lại

salam đã viết:
Bạn chịu khó mở các file ra copy rồi dán nhé nhớ là excel chỉ có 65536 dòng thôi.
chính xác là mình có 380 file, mở từng file và copy thì quá lâu và mình sợ bị sót.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Cấu trúc dữ liệu của các file đó có giống nhau không và độ dài của nó (Max dòng) có lớn không bạn.
 
salam đã viết:
Cấu trúc dữ liệu của các file đó có giống nhau không và độ dài của nó (Max dòng) có lớn không bạn.
cấu trúc giống nhau, mỗi file chỉ khoảng 15dòng, chỉ là dữ liệu, không hề có công thức
 
Bạn thử code này xem:
Trước hết bạn phải copy tất cả file của bạn chung vào 1 thư mục.

Mã:
Sub test()
Application.ScreenUpdating = False

CFILE = ActiveWorkbook.Name
SNAME = "Sheet1" 'Tên sheet
p = 1

F = Dir("K:\acc.duc\Duc\D\*.xls") 'Đường dẫn thư mục chứ file
Do While Len(F) > 0
Workbooks.Open ("K:\acc.duc\Duc\D\" & F)
For Each ws In ActiveWorkbook.Worksheets
x = Cells(1, 1)
Windows(CFILE).Activate
Sheets(SNAME).Select
Cells(p, 1) = x
p = p + 1
Windows(F).Activate
Next ws
ActiveWorkbook.Close SaveChanges = True
F = Dir()
Loop
Application.ScreenUpdating = True
End Sub
Lấy Từ Mr Excel
 
Chỉnh sửa lần cuối bởi điều hành viên:
Chạy code đó như nào bác Salam. giải thích thêm đc không? Đường dẫn tới thư mục phải sửa theo thực tế, ok. Nhưng tên sheet thì sao, bác đã test ok chưa vậy, cho anh em học hỏi chút xíu
 
Cái này em copy ở Mr Excel mà test thử thấy chạy tốt em post lên luôn (mấy file em test em chỉ cho số liệu vào một cột). kiểm tra lại hoá ra nó chỉ copy có một cột , không phải range. cái này phải sửa lại chút ít cho nó mới được.
Các bác giúp sửa hộ em với nhé.
Xin lỗi các bác nhé lần sau em phải kiểm tra thật kỹ mới được.
Vừa nhập môn VBA mà các bác thông cảm nhé.
 
Lần chỉnh sửa cuối:
Các Bác xem xét lại cho em sao em nhấn trích dẫn lại thành gộp bài thế bác. em bị lần này là lần thứ 2 rồi.
 
Trích:
Nguyên văn bởi ngũ sắc
cấu trúc giống nhau, mỗi file chỉ khoảng 15dòng, chỉ là dữ liệu, không hề có công thức
Trước tiên bạn copy tất cả các file vào một thư mục riêng.
Mở một file mới copy đoạn mã sau vào sửa đường dẫn đến thư mục chứa file cần copy, sửa tên sheet.
Mã:
Sub Copyfile()
Application.ScreenUpdating = False
CFILE = ActiveWorkbook.Name
SNAME = "Sheet1" 'Tên sheet cần copy

F = Dir("K:\acc.duc\Duc\D\*.xls") ' Đường dẫn đến thư mục chứa các file *.xls
Do While Len(F) > 0
Workbooks.Open ("K:\acc.duc\Duc\D\" & F) ' Đường dẫn đến thư mục chứa các file *.xls
For Each ws In ActiveWorkbook.Worksheets
Sheets(SNAME).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Windows(CFILE).Activate
ActiveSheet.Select
ActiveSheet.Paste
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Windows(F).Activate
ActiveWorkbook.Close SaveChanges = True
Next ws
F = Dir()
Loop
Application.ScreenUpdating = True
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT

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

Back
Top Bottom