Giúp đồng bộ dữ liệu trong excel (Synchronize).

Liên hệ QC

elegantnguyen

Thành viên mới
Tham gia
5/6/12
Bài viết
9
Được thích
0
chào mọi người!!!
có ai biết về lập trình excel xin chỉ giúp mình đồng bộ dữ liệu các file excel với.
VD: mình có 2 file excel: A có sheet là A1 va B có sheet là B1. mình muốn đồng bộ giữa sheet A1(của file A) và sheet B1(của file B). tức là khi bên sheet A1(của file A) nhập dữ liệu vào thì bên sheet B1(của file B) sẽ có như bên sheet A1(của file A) và ngược lại bên B1(của file B) nhập dữ liệu vào thì bên sheet A1(của file A) sẽ có như bên sheet B1(của file B) .
xin mọi người chỉ giúp
 
chào mọi người!!!
có ai biết về lập trình excel xin chỉ giúp mình đồng bộ dữ liệu các file excel với.
VD: mình có 2 file excel: A có sheet là A1 va B có sheet là B1. mình muốn đồng bộ giữa sheet A1(của file A) và sheet B1(của file B). tức là khi bên sheet A1(của file A) nhập dữ liệu vào thì bên sheet B1(của file B) sẽ có như bên sheet A1(của file A) và ngược lại bên B1(của file B) nhập dữ liệu vào thì bên sheet A1(của file A) sẽ có như bên sheet B1(của file B) .
xin mọi người chỉ giúp

Không rõ bạn muốn đồng bộ 2 file trên 1 máy, hay 2 file khác máy (thông qua LAN hoặc Internet).
Các phương án nêu trên đều đã có giải pháp. Bạn search trong diễn đàn sẽ thấy.
 
Lần chỉnh sửa cuối:
thanks bạn rất nhiều! mình muốn đồng bộ trên cùng một máy. mình cũng đã seach trên google rất nhiều nhưng mình không thấy, chỉ có link thôi.mà link thì chỉ có một chiều. mình muốn đồng bộ 2 chiều(bên đây nhập thì bên kia sẽ có, và bên kia nhập thì bên đây cũng có giống vậy). ai biết xin chỉ giúp, thật ra mình không rành lập trình lắm. cám ơn mọi người nhiều.
 
Ví dụ hai bên cùing nhập 1 lượt thì bên nào đè bên nào?
 
Thế sao không copy file cho nhanh.
 
thanks bạn rất nhiều! mình muốn đồng bộ trên cùng một máy. mình cũng đã seach trên google rất nhiều nhưng mình không thấy, chỉ có link thôi.mà link thì chỉ có một chiều. mình muốn đồng bộ 2 chiều(bên đây nhập thì bên kia sẽ có, và bên kia nhập thì bên đây cũng có giống vậy). ai biết xin chỉ giúp, thật ra mình không rành lập trình lắm. cám ơn mọi người nhiều.
Bạn không rành nếu có hướng dẫn cách làm bạn cũng chưa thể thực hiện được. Nếu ai đó làm sẵn cho bạn, chắc bạn không bảo trì được nó.
Bạn cần học hay cần làm việc ?? Nếu cần làm việc bạn nên mua ứng dụng dùng cho yên tâm
 
Lần chỉnh sửa cuối:
mình không rành lập trình nhưng bạn có thể hướng dẫn và demo cho mình xem được không? nếu như có demo thì mình xem và nghiên cứu chắc chắn sẽ hiểu. vì mình chuyên về mạng không chuyên về lập trình. cái này là mình cần cho công việc, cái này mình nghĩ các bạn lập trình chỉ vài dòng code là được. lúc trước mình có học visua basic mà bỏ lâu quá không nhớ. có ai giúp mình với?
 
nếu copy thì không còn vấn đề gì để bàn nữa bạn ah.

Vấn đề này nếu tự làm không đơn giản đâu nhé. Kể cả IT Pro nếu không hiểu đặc tính của Excel thì cũng chật vật. Tôi nghĩ ở đây chỉ có thể giúp được bạn về phương hướng làm chứ không có time để code ra được.

1. Kết nối A<->B thông qua thư mục được Share Full. Cái này sẽ chuối khi hệ điều hành các máy khác nhau giữa Win XP, Win7, Win8
2. Lập trình cho cả file A và B trong sự kiện Change. Cứ dữ liệu bên tập tin A thày đổi thì viết sang B và ngược lại. Giá trị nhập vào có thể là công thức hoặc không có công thức, lúc thì nhập 1 ô, lúc thì nhập một lúc tập hợp vài ô liên tiếp hoặc lẻ tẻ, lúc thì copy + paste.
3. Các thuộc tính Valiadtion, Hyperlink, Comment, màu sắc font, nền,... có cập nhật thì lại làm tiếp giống như trên

Nếu một thời gian bạn chưa làm được và chưa có giải pháp thì tham khảo Add-in A-Tools cho phép chia sẻ file Excel cho nhiều người cùng mở và nhập liệu trong mạng LAN, Internet. Địa chỉ download ở phần chữ ký của tôi.
 
Lần chỉnh sửa cuối:
Tôi không chắc dùng sự kiện "change" được. Tôi rất tránh dùng sự kiện cho nên rất ít kinh nghiệm về việc này, và suy nghĩ có thể sai.

Trước mắt thì sự kiện change sẽ rắc rối khi người chỉnh sửa file thoát ra, và chọn không update. Do vậy, tôi nghĩ dùng sự kiện update chính xác hơn.

Chu trình của code VBA, đại khái theo kiến thức gà mờ của tôi là:
- Khi bắt đầu chỉnh sửa dữ liệu lần đầu tiên, copy sheet lại thành 1 sheet tạm
- Khi save file:
- So sánh sheet đã chỉnh sửa với sheet save tạm. Nếu có chỗ khác nhau thì chép qua file kia.
- delete sheet tạm.
Nếu muốn chắc hơn thì đặt trong mỗi file 1 cái name (named value) ghi lại ngày giờ chỉnh sửa gần nhất.

Trong trường hợp muốn dùng sự kiện Change để đồng bộ ngay lập tức (realtime synch) thì phải có một thuật toán hoàn nguyên (rollback) khi người dùng chọn không save.

Tuy nhiên, để tránh vấn đề 2 files sửa cùng 1 lúc, phải có giải thuật đồng bộ rất rắc rối. 2 files phải có cái thẻ dùng chung (token) để cho biết thằng nào đang sửa và thằng kia phải đợi.

@chủ thớt: bạn chưa biết tầm vực rắc rối của đồng bộ dữ liệu nên mới có ý tưởng này. Theo tôi, cách "elegant" nhất là dùng phầm mềm đồng bộ. Ra mấy chỗ bán đĩa phần mềm mua quách một đĩa.
 
Vấn đề này nếu tự làm không đơn giản đâu nhé. Kể cả IT Pro nếu không hiểu đặc tính của Excel thì cũng chật vật. Tôi nghĩ ở đây chỉ có thể giúp được bạn về phương hướng làm chứ không có time để code ra được.

1. Kết nối A<->B thông qua thư mục được Share Full. Cái này sẽ chuối khi hệ điều hành các máy khác nhau giữa Win XP, Win7, Win8
2. Lập trình cho cả file A và B trong sự kiện Change. Cứ dữ liệu bên tập tin A thày đổi thì viết sang B và ngược lại. Giá trị nhập vào có thể là công thức hoặc không có công thức, lúc thì nhập 1 ô, lúc thì nhập một lúc tập hợp vài ô liên tiếp hoặc lẻ tẻ, lúc thì copy + paste.
3. Các thuộc tính Valiadtion, Hyperlink, Comment, màu sắc font, nền,... có cập nhật thì lại làm tiếp giống như trên

Nếu một thời gian bạn chưa làm được và chưa có giải pháp thì tham khảo Add-in A-Tools cho phép chia sẻ file Excel cho nhiều người cùng mở và nhập liệu trong mạng LAN, Internet. Địa chỉ download ở phần chữ ký của tôi.
cám ơn NGUYỄN DUY TÂN rất nhiều. nếu bạn có thời gian có thể demo code giúp mình được không?
 
Vấn đề này nếu tự làm không đơn giản đâu nhé. Kể cả IT Pro nếu không hiểu đặc tính của Excel thì cũng chật vật. Tôi nghĩ ở đây chỉ có thể giúp được bạn về phương hướng làm chứ không có time để code ra được.

1. Kết nối A<->B thông qua thư mục được Share Full. Cái này sẽ chuối khi hệ điều hành các máy khác nhau giữa Win XP, Win7, Win8
2. Lập trình cho cả file A và B trong sự kiện Change. Cứ dữ liệu bên tập tin A thày đổi thì viết sang B và ngược lại. Giá trị nhập vào có thể là công thức hoặc không có công thức, lúc thì nhập 1 ô, lúc thì nhập một lúc tập hợp vài ô liên tiếp hoặc lẻ tẻ, lúc thì copy + paste.
3. Các thuộc tính Valiadtion, Hyperlink, Comment, màu sắc font, nền,... có cập nhật thì lại làm tiếp giống như trên

Nếu một thời gian bạn chưa làm được và chưa có giải pháp thì tham khảo Add-in A-Tools cho phép chia sẻ file Excel cho nhiều người cùng mở và nhập liệu trong mạng LAN, Internet. Địa chỉ download ở phần chữ ký của tôi.
Cám ơn bạn rất nhiều. nếu bạn có thời gian bạn có thể demo code cho giùm mình được không?
 
Tôi không chắc dùng sự kiện "change" được. Tôi rất tránh dùng sự kiện cho nên rất ít kinh nghiệm về việc này, và suy nghĩ có thể sai.

Trước mắt thì sự kiện change sẽ rắc rối khi người chỉnh sửa file thoát ra, và chọn không update. Do vậy, tôi nghĩ dùng sự kiện update chính xác hơn.

Chu trình của code VBA, đại khái theo kiến thức gà mờ của tôi là:
- Khi bắt đầu chỉnh sửa dữ liệu lần đầu tiên, copy sheet lại thành 1 sheet tạm
- Khi save file:
- So sánh sheet đã chỉnh sửa với sheet save tạm. Nếu có chỗ khác nhau thì chép qua file kia.
- delete sheet tạm.
Nếu muốn chắc hơn thì đặt trong mỗi file 1 cái name (named value) ghi lại ngày giờ chỉnh sửa gần nhất.

Trong trường hợp muốn dùng sự kiện Change để đồng bộ ngay lập tức (realtime synch) thì phải có một thuật toán hoàn nguyên (rollback) khi người dùng chọn không save.

Tuy nhiên, để tránh vấn đề 2 files sửa cùng 1 lúc, phải có giải thuật đồng bộ rất rắc rối. 2 files phải có cái thẻ dùng chung (token) để cho biết thằng nào đang sửa và thằng kia phải đợi.

@chủ thớt: bạn chưa biết tầm vực rắc rối của đồng bộ dữ liệu nên mới có ý tưởng này. Theo tôi, cách "elegant" nhất là dùng phầm mềm đồng bộ. Ra mấy chỗ bán đĩa phần mềm mua quách một đĩa.
cám ơn bạn. mình đã thử phần mềm đồng bộ rồi mà không được mới lên diển đàn nhờ anh e giúp đở.bạn có cách nào?
 
Bạn đừng mất thời gian chờ đợi. Vấn đề của bạn không dễ, mọi người giúp trên cơ sở chỉ hướng thôi chứ không ai có thời gian để code demo cụ thể sẵn ra đâu bạn. Như tôi đã nói, nếu không có giải pháp nào mà bạn tự làm được thì tham khảo Add-in A-Tools vấn đề của bạn sẽ được giải quyết.
 
cám ơn bạn. mình đã thử phần mềm đồng bộ rồi mà không được mới lên diển đàn nhờ anh e giúp đở.bạn có cách nào?

Tôi đã đưa ra vấn đề chính yếu nhất của yêu cầu bạn (2 files cùng chỉnh sửa 1 lúc) nhưng bạn không hề có ý giải quyết.
Do vậy tôi kết luân là bạn chưa nhìn thấy được tầm vực rắc rối trong yêu cầu của mình.
Không biết tầm vực thì lấy đâu ra chi tiết mà làm?

Đối với yêu cầu mà không biết hết chi tiết thì chỉ có cách làm mò từng bước. Xong bước 1 thì lòi ra vấn đề 2; xong vấn đề 2 thì lòi ra 3, 4... Cả tháng chưa chắc đã thấy kết quả. Tôi không có kiên nhẫn.
 
Web KT
Back
Top Bottom