Các vấn đề khi sao chép dữ liệu từ file excel này sang excel khác

  • Thread starter Thread starter VRS-PRO
  • Ngày gửi Ngày gửi
Liên hệ QC

VRS-PRO

Thành viên mới
Tham gia
5/7/08
Bài viết
4
Được thích
0
Anh chị cho em hỏi làm cách nào để chuyển dữ liệu từ sheet của file excel này sang sheet của file excel khác ? ( dùng VBA or macro )
 
Lần chỉnh sửa cuối:
Đưa file lên tớ copy cho, hoặc search thử đi, chắc cũng có nhiều mục về vấn đề này rồi.
 
Upvote 0
Ko hiểu vì sao? Tôi có File Excel có rất nhiều name. Dữ liệu ở Sheet1 được tra từ Sheet2 (Sheet2 có định nghĩa các name kác nhau) nhưng khi tôi copy cả sheet1 và sheet2 sang file excel khác thì có một số name ko nhận được vào Insert/Define/name thì thấy báo lỗi #REF!
 
Upvote 0
Anh chị cho em hỏi làm cách nào để chuyển dữ liệu từ sheet của file excel này sang sheet của file excel khác ? ( dùng VBA or macro )

Sheet1 --> Sheet2 :

PHP:
Sheet2.Range("A1:B10").Value = Sheet1.Range("C11:D20").Value


philip đã viết:
Ko hiểu vì sao? Tôi có File Excel có rất nhiều name. Dữ liệu ở Sheet1 được tra từ Sheet2 (Sheet2 có định nghĩa các name kác nhau) nhưng khi tôi copy cả sheet1 và sheet2 sang file excel khác thì có một số name ko nhận được vào Insert/Define/name thì thấy báo lỗi #REF!

Khi Paste bạn nên dùng chức năng Past Special/Value

Thân!
 
Upvote 0
Mã:
[COLOR=#000000][FONT=Courier New][COLOR=#0000bb]Sheet2[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"A1:B10"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]Sheet1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"C11:D20"[/COLOR][COLOR=#007700]).[/COLOR][/FONT][COLOR=#0000bb][FONT=Courier New]Value  [/FONT][/COLOR]
[/COLOR]
Cách này chỉ copy khi trong cùng một file excel thôi mà bạn. Mình cũng đã tìm ra cách làm như sau:(giả sử 2 file cùng folder)
PHP:
Workbooks("copy.xls").Activate
Worksheets("in").Activate
Workbooks("cho.xls").Activate
Worksheets("indi").Activate
Sheets("indi").Cells(1, 1) = Workbooks("copy.xls").Sheets("in").Cells(1, 1)
 
Upvote 0
PHP:
Workbooks("copy.xls").Activate
Worksheets("in").Activate
Workbooks("cho.xls").Activate
Worksheets("indi").Activate
Sheets("indi").Cells(1, 1) = Workbooks("copy.xls").Sheets("in").Cells(1, 1)
Hai câu lệnh đầu tiên để làm gì vậy bạn? Có lẽ chỉ cần:
PHP:
Workbooks("cho.xls").Sheets("indi").Cells(1, 1) = Workbooks("copy.xls").Sheets("in").Cells(1, 1)
 
Upvote 0
Thế này thì làm sao mà tính toán được

1.
Thế bạn định tính toán với các name bị lỗi à ???

Khi copy sang File khác, các name(gắn với các công thức) sẽ sang theo, tùy theo tính chất của từng name mà một số name sẽ bị lỗi.
Vì vậy không (bao giờ) nên copy mang theo cả các name theo.

Vậy bạn định giải quyết như thế nào ???
2.
Ko hiểu vì sao? Tôi có File Excel có rất nhiều name. Dữ liệu ở Sheet1 được tra từ Sheet2 (Sheet2 có định nghĩa các name kác nhau) nhưng khi tôi copy cả sheet1 và sheet2 sang file excel khác thì có một số name ko nhận được vào Insert/Define/name thì thấy báo lỗi #REF!

Trong câu hỏi của bạn có chỗ nào nói rằng bạn cần tính toán (có công thức) trong dữ liệu mang sang không ??

Vì vậy, câu trả lời của mình có thể không như ý của bạn, nhưng đó là lỗi khách quan, và với tinh thân tôn trọng lẫn nhau, chúng ta phải cảm ơn người trả lời (có thể đúng hoặc sai), chứ không nên nói ra như vậy.

Thân!
 
Upvote 0
Hai câu lệnh đầu tiên để làm gì vậy bạn? Có lẽ chỉ cần:
PHP:
Workbooks("cho.xls").Sheets("indi").Cells(1, 1) = Workbooks("copy.xls").Sheets("in").Cells(1, 1)
Lệnh này nó không copy mà chuyển hết sạch dữ liệu từ "cho" sang "in" luon dó bạn ơi ?
 
Upvote 0
Mã:
[COLOR=#000000][FONT=Courier New][COLOR=#0000bb]Sheet2[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"A1:B10"[/COLOR][COLOR=#007700]).[/COLOR][COLOR=#0000bb]Value [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]Sheet1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000bb]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"C11:D20"[/COLOR][COLOR=#007700]).[/COLOR][/FONT][COLOR=#0000bb][FONT=Courier New]Value  [/FONT][/COLOR]
[/COLOR]
Cách này chỉ copy khi trong cùng một file excel thôi mà bạn. Mình cũng đã tìm ra cách làm như sau:(giả sử 2 file cùng folder)
PHP:
Workbooks("copy.xls").Activate
Worksheets("in").Activate
Workbooks("cho.xls").Activate
Worksheets("indi").Activate
Sheets("indi").Cells(1, 1) = Workbooks("copy.xls").Sheets("in").Cells(1, 1)
Mình thấy chỉ cần 2 file củng mở đồng thời là được chứ không cần thiết phải nằm trong cùng 1 folder.
 
Upvote 0
Nhân tiện cho mình hỏi các bạn luôn 1 cái, mình làm bảng excel về hồ sơ, tức là khá nhiều sheet giống nhau về form, chỉ khác nhau về giá trị số (có kèm tính toán ở trong). Mình không đặt nhưng mỗi lần dùng chức năng copy or move sheet thì rất hay hiện lên 1 bảng hỏi có tên trùng (toàn _a, _b........_z.....) làm mình ấn rất nhiều và khó chịu.
Có bạn nào biết cách trị bệnh này không vậy.
Tớ vào name mà không thấy mấy tên này đâu cả.
Thanks các bác nhiều
 
Upvote 0
xin các anh chị chỉ giúp mấy bửa nay em hỏi nhưng không ai trả lời em hết xin chỉ dùm em cám ơn.em có một file nhưng trong file co nhiều sheet các sheet liên kết với nhau bởi các công thức và hàm và các sheet đã đặt pasword.xin chỉ dùm em cach chép file trên theo định dạng số không còn liên kết nữa và cách chép flie trên vẫn còn liên kết.em xin cám ơn nhiều!
 
Upvote 0
PHP:
Workbooks("cho.xls").Sheets("indi").Cells(1, 1) = _
            Workbooks("copy.xls").Sheets("in").Cells(1, 1)

Đúng là không cần mấy dòng lệnh Workbooks("copy.xls").Activate thật, nhưng hình như chỉ copy dữ liệu một ô thôi.
Nếu muốn copy nhiều ô, phải dùng thêm phần copy, sau đó dùng lệnh activate sang Workbooks "copy.xls", rồi paste mới được.

Tôi làm thế này
PHP:
    Windows("copy.xls").Activate
    Rows("1:3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("cho.xls").Activate
    Rows("1:3").Select
    ActiveSheet.Paste

Không biết còn cách nào hay hơn không, newbi, mong chỉ giáo.
 
Upvote 0
Web KT

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

Back
Top Bottom