Nhờ sửa code 'Gộp nhiều file excel thành 1 file'

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

ducpht

Thành viên mới
Tham gia
3/4/18
Bài viết
3
Được thích
0
Giới tính
Nam
Chào các bác,
Em 'nhặt' được code gộp nhiều file excel thành 1 file ở đâu đó trên internet.
Nhưng test ở trường hợp A (file A.1 và A.2) thì kết quả như hình sau:
A.jpg
Test ở trường hợp B (file B.1 và B.2) thì kết quả như hình sau:
B.jpg
Vấn đề em đang mong muốn là nó copy toàn bộ dữ liệu các file được chọn vào 1 file duy nhất ạ
Các file được chọn:
-Lấy sheet đầu tiên
-Không phân biệt tên sheet
Mong các bác giúp em với ạ!
 

File đính kèm

Chào các bác,
Em 'nhặt' được code gộp nhiều file excel thành 1 file ở đâu đó trên internet.
Nhưng test ở trường hợp A (file A.1 và A.2) thì kết quả như hình sau:
View attachment 205074
Test ở trường hợp B (file B.1 và B.2) thì kết quả như hình sau:
View attachment 205075
Vấn đề em đang mong muốn là nó copy toàn bộ dữ liệu các file được chọn vào 1 file duy nhất ạ
Các file được chọn:
-Lấy sheet đầu tiên
-Không phân biệt tên sheet
Mong các bác giúp em với ạ!
Bạn thử sửa dòng:
PHP:
mySheet.Range("A1").CurrentRegion.Copy .Range("A1000000").End(xlUp).Offset(1, 0)

thành:
PHP:
mySheet.Range("B1").CurrentRegion.Copy .Range("A1000000").End(xlUp).Offset(1, 0)

Hoặc thành:
PHP:
mySheet.UsedRange.Copy .Range("A1000").End(xlUp).Offset(1, 0)
 
Upvote 0
PHP:
mySheet.Range("B1").CurrentRegion.Copy .Range("A1000000").End(xlUp).Offset(1, 0)
Đoạn code này áp dụng cho hợp C (file C.1 và C.2) không copy hết dữ liệu bác ạ:(
Hoặc thành:
PHP:
mySheet.UsedRange.Copy .Range("A1000").End(xlUp).Offset(1, 0)
Đoạn code này áp dụng cho A B C ok, nhưng bác giải thích giúp em chổ A1000 là gì được k ạ?
 

File đính kèm

Upvote 0
Đoạn code này áp dụng cho hợp C (file C.1 và C.2) không copy hết dữ liệu bác ạ:(

Đoạn code này áp dụng cho A B C ok, nhưng bác giải thích giúp em chổ A1000 là gì được k ạ?
À lẽ ra phải là A1000000, chứ không phải A1000, do tôi gõ nhầm.
Còn ý nghĩa của A1000000? chẳng là gì ngoài chính nó.
Nhưng khi nó ghép với End(xlUp) là để xác định dòng cuối cùng của dữ liệu trong cột A.
Bạn có thể vào cửa sổ Immediate, nhập: Range("A1000000").End(xlUp).select
rồi Enter 1 phát, trở lại bảng tính sẽ thấy Cell nào được chọn.
 
Upvote 0
Web KT

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

Back
Top Bottom