[Nhờ hướng dẫn] Copy dữ liệu theo tên cột. (2 người xem)

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

Bravus.Imperator

Thành viên mới
Tham gia
8/10/14
Bài viết
3
Được thích
0
Chào các anh chị,
Nhờ các anh chị giúp em xử lý trường hợp sau.
Em có đầu vào là file ADCE với rất nhiều cột dữ liệu. File này sẽ thay đổi thường xuyên về số lượng hàng và cột. Thứ tự các cột cũng không cố định.
Từ file đầu vào em muốn copy các cột có tiêu đề “MO” “adjacentCellIdCI” và “adjcIndex” sau đó paste sang một file mới và lưu lại.
Do hiểu biết còn hạn hẹp, nên mặc dù tìm được một số sample code có nội dung khá tương tự nhưng em vẫn chưa ứng dụng vào được trường hợp này.
Mong các anh chị giúp đỡ.
Em cảm ơn ạ.
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các anh chị,
Nhờ các anh chị giúp em xử lý trường hợp sau.
Em có đầu vào là file ADCE với rất nhiều cột dữ liệu. File này sẽ thay đổi thường xuyên về số lượng hàng và cột. Thứ tự các cột cũng không cố định.
Từ file đầu vào em muốn copy các cột có tiêu đề “MO” “adjacentCellIdCI” và “adjcIndex” sau đó paste sang một file mới và lưu lại.
Do hiểu biết còn hạn hẹp, nên mặc dù tìm được một số sample code có nội dung khá tương tự nhưng em vẫn chưa ứng dụng vào được trường hợp này.
Mong các anh chị giúp đỡ.
Em cảm ơn ạ.

Bạn đưa thử cái mẫu tương tự đó. Và cho biết vì sao không áp dụng được (vd copy không đúng cột, không cho phép chọn tên file, ...). Sẽ có người giúp bạn cách chỉnh sửa.
 
Upvote 0
Bạn đưa thử cái mẫu tương tự đó. Và cho biết vì sao không áp dụng được (vd copy không đúng cột, không cho phép chọn tên file, ...). Sẽ có người giúp bạn cách chỉnh sửa.
Cảm ơn bạn đã trả lời.
Mình tìm ngay trên GPE thì có một bài nội dung khá tương đồng như sau.
http://www.giaiphapexcel.com/forum/...g-sheet-khác-theo-tên-cột&p=482410#post482410
Tuy nhiên khi xử lý phải copy dữ liệu vào sheet Nhap DL, điền tên cột vào sheet Xuat DL rồi bấm nút thực thi bằng tay. Sau đó lại copy nội dung ra file khác để lưu lại.
Mình muốn tạo một macro hoạt động theo cơ chế cho phép mình chọn file đầu vào, tự động xử lý rồi xuất ra file theo yêu cầu đã mô tả ở trên. Mong sớm nhận được phản hồi của bạn.
 
Upvote 0
Cảm ơn bạn đã trả lời.
Mình tìm ngay trên GPE thì có một bài nội dung khá tương đồng như sau.
http://www.giaiphapexcel.com/forum/...g-sheet-khác-theo-tên-cột&p=482410#post482410
Tuy nhiên khi xử lý phải copy dữ liệu vào sheet Nhap DL, điền tên cột vào sheet Xuat DL rồi bấm nút thực thi bằng tay. Sau đó lại copy nội dung ra file khác để lưu lại.
Mình muốn tạo một macro hoạt động theo cơ chế cho phép mình chọn file đầu vào, tự động xử lý rồi xuất ra file theo yêu cầu đã mô tả ở trên. Mong sớm nhận được phản hồi của bạn.

Bạn chọn file đầu vào là 1 file. Xuất ra file theo yêu cầu là file thứ 2. Vậy macro bạn muốn nó nằm ở file nào?
 
Upvote 0
Bạn chọn file đầu vào là 1 file. Xuất ra file theo yêu cầu là file thứ 2. Vậy macro bạn muốn nó nằm ở file nào?
Chào bạn VietMini,
Do yêu cầu công việc, mình muốn macro nằm riêng trên một file excel trống khác để tiện cho việc lưu trữ và chia sẻ.
Quy trình hoạt động sẽ là. Mở file macro lên, bấm button để hiện ra cửa sổ chọn file đầu vào, xử lý và xuất ra file yêu cầu.
Cảm ơn bạn đã rất nhiệt tình giúp đỡ. Nếu mình mô tả có gì chưa rõ ràng, bạn cứ hỏi thêm.
 
Upvote 0
Tìm theo từ khoá FileDialog sẽ ra được những bài chỉ dẫn cách mở và lưu file.

Tìm theo từ khoá copy sheet sẽ ra được cách copy.

Sau khi thử chưa vừa ý, đem lên đây chỉnh sửa.

=== bổ sung ===

Quên mất, ở đây tìm theo ừ khoá GetOpenFileName và GetSaveAsFileName hiệu quả hơn.
 
Lần chỉnh sửa cuối:
Upvote 0
Đại khái cách làm như vầy:

Mã:
Sub daikhai()
Dim myWorkBook As Workbook
' mở file ra chú ý read only
Set myWorkBook = Application.Workbooks.Open(Filename:=Application.GetOpenFileName, ReadOnly:=True)
' save thành file kết quả
myWorkBook.SaveAs Filename:=Application.GetSaveAsFilename

[COLOR=#a52a2a]' đọc sheet dữ liệu, hễ cột nào không có tiêu đề muốn giữ thì delete đi[/COLOR]
With myWorkBook.Sheets("DULIEU")
....
End With

myWorkBook.Close SaveChanges:=True

Set myWorkBook = Nothing
End Sub
 
Upvote 0

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

Back
Top Bottom