Làm thế nào để trộn hai danh sách

Liên hệ QC

Lanindeco

Thành viên mới
Tham gia
10/6/08
Bài viết
11
Được thích
1
Chào các bạn! Tôi có một vấn đề như thế này:

Tôi có 2 sheet dữ liệu, mỗi sheet bao gồm các côt như sau: Ngày tháng, giờ, Đội chủ nhà, đội khách và cột tỉ số. Như vậy tôi muốn chộn hai danh sách đó và đặt vào sheet thứ 3 và sắp xếp theo thứ tự tăng dần của ngày tháng và giờ, vậy phải làm như thế nào? mong các bạn giúp đỡ
 
Cách dễ nhất là copy từ sheet1, paste sang sheet3, giả sử đến dòng n
tiếp theo copy từ sheet2, paste sang sheet3, bắt đầu từ dòng n+1 (không copy dòng tiêu đề)
bước tiếp theo là sắp xếp (Sort) tăng dần theo ngày tháng và giờ.

Mẹo: Để sắp >3 cột, hãy sắp 2 lần theo thứ tự ưu tiên tăng dần
 
Copy và paste lần lượt vào sheet thứ 3, sau đó sort theo ngày tháng, giờ.
 
Cách dễ nhất là copy từ sheet1, paste sang sheet3, giả sử đến dòng n
tiếp theo copy từ sheet2, paste sang sheet3, bắt đầu từ dòng n+1 (không copy dòng tiêu đề)
bước tiếp theo là sắp xếp (Sort) tăng dần theo ngày tháng và giờ.

Mẹo: Để sắp >3 cột, hãy sắp 2 lần theo thứ tự ưu tiên tăng dần

Thế có cách nào làm tự động không hả bạn, bởi làm thủ công như vậy thì mất công quá mà danh sách của tôi thì phải cập nhật liên tục. Ý tôi là khi tôi cập nhật danh sách tại sheet 1 và sheet 2 thì nó tự động chèn vào sheet 3 và sắp xếp luôn. Cảm ơn
 
Thế có cách nào làm tự động không hả bạn, bởi làm thủ công như vậy thì mất công quá mà danh sách của tôi thì phải cập nhật liên tục. Ý tôi là khi tôi cập nhật danh sách tại sheet 1 và sheet 2 thì nó tự động chèn vào sheet 3 và sắp xếp luôn. Cảm ơn

Có chứ bạn, dùng macro ghi lại động tác bạn làm một lần thôi sau đó gán phím tắt cho nó. Sau này mỗi lần làm thì chỉ cần dùng phím tắt (hoặc nút lệnh, click cho nó tự chạy), vậy là khỏe.
 
Thế có cách nào làm tự động không hả bạn, bởi làm thủ công như vậy thì mất công quá mà danh sách của tôi thì phải cập nhật liên tục. Ý tôi là khi tôi cập nhật danh sách tại sheet 1 và sheet 2 thì nó tự động chèn vào sheet 3 và sắp xếp luôn. Cảm ơn
Để làm tự động, bạn nên có các ràng buộc
Ví dụ:
- Trong mỗi sheet1 và sheet 2, mỗi lần "copy" sang sheet3 thì phải xóa đi (hoặc đánh dẫu vào chỗ nào đấy (có thể là sheet4) là đã xử lý đến dòng nào ở sheet1, dòng nào ở sheet3

- Viết code để thực hiện việc
+ Copy data từ sheet1 sang sheet3 (cái này dễ! nhưng không quá dễ:D)
+ Đánh dấu các dòng đã copy sang sheet3 (có thể đưa vào cuối cái thủ tục copy)
+ Copy data từ sheet2 sang sheet3
+ Sắp xếp sheet3

Mỗi lần bạn cần "copy" thì chạy Sub này 1 lần là xong
 
Mình góp thêm một cách nữa nè!
Bạn copy sheet 1 qua sheet 3 và dán paste Special chọn Past link
Tương tự như vậy, làm cho sheet 2
Như vậy mỗi lần bạn cập nhật vào sheet 1 và sheet 2 thì nó cũng cập nhật qua sheet 3
Nhưng khi coppy nhớ trừ hao cộng thêm dòng cập nhật ở sheet 1 và sheet 2
Bạn nào còn ý kiến xin chỉ giáo!
Cảm ơn.../-*+/
 
Mình góp thêm một cách nữa nè!
Bạn copy sheet 1 qua sheet 3 và dán paste Special chọn Past link
Tương tự như vậy, làm cho sheet 2
Như vậy mỗi lần bạn cập nhật vào sheet 1 và sheet 2 thì nó cũng cập nhật qua sheet 3
Nhưng khi coppy nhớ trừ hao cộng thêm dòng cập nhật ở sheet 1 và sheet 2
Bạn nào còn ý kiến xin chỉ giáo!
Cảm ơn.../-*+/


Hay quá, cái này cũng gần giống cái mà tôi đang cần
 
Chào các bạn! Tôi có một vấn đề như thế này:

Tôi có 2 sheet dữ liệu, mỗi sheet bao gồm các côt như sau: Ngày tháng, giờ, Đội chủ nhà, đội khách và cột tỉ số. Như vậy tôi muốn chộn hai danh sách đó và đặt vào sheet thứ 3 và sắp xếp theo thứ tự tăng dần của ngày tháng và giờ, vậy phải làm như thế nào? mong các bạn giúp đỡ

Mình gửi bạn file trộn dữ liệu của 3 danh sách theo thứ tự ngày tháng :
File có 3 sheet nhật ký : Nhật ký thu TM, Chi TM, Nhật ký Ngân hàng.
Sheet DATA sẽ trộn 3 sheet trên vào một sheet theo thứ tự thời gian.
 

File đính kèm

  • vidubocdulieu.rar
    47.9 KB · Đọc: 112
Mình góp thêm một cách nữa nè!
Bạn copy sheet 1 qua sheet 3 và dán paste Special chọn Past link
Tương tự như vậy, làm cho sheet 2
Như vậy mỗi lần bạn cập nhật vào sheet 1 và sheet 2 thì nó cũng cập nhật qua sheet 3
Nhưng khi coppy nhớ trừ hao cộng thêm dòng cập nhật ở sheet 1 và sheet 2
Bạn nào còn ý kiến xin chỉ giáo!
Cảm ơn.../-*+/
''bactu'' ơi! Copy sheet 1 qua sheet 2 ( dán paste special--Past link).
Sao mica làm không được nhỉ?
Thực hiện các thao tác trên rồi, quay lại thử cập nhật sheet 1 nhưng mà cứ dòng ai nấy đi thôi...Sheet 1 thì tiến, Sheet 2 vẫn y nguyên. Không thay đổi chi hết!
 
Mình gửi bạn file trộn dữ liệu của 3 danh sách theo thứ tự ngày tháng :
File có 3 sheet nhật ký : Nhật ký thu TM, Chi TM, Nhật ký Ngân hàng.
Sheet DATA sẽ trộn 3 sheet trên vào một sheet theo thứ tự thời gian.

Hay quá bạn ạ, đúng cái mình đang cần, bạn làm thế nào chỉ giúp mình với
 
Mình gửi bạn file trộn dữ liệu của 3 danh sách theo thứ tự ngày tháng :
File có 3 sheet nhật ký : Nhật ký thu TM, Chi TM, Nhật ký Ngân hàng.
Sheet DATA sẽ trộn 3 sheet trên vào một sheet theo thứ tự thời gian.

Cảm ơn hoangdanh. Nhờ file của bạn mình có thêm nhiều cách thiết kế biểu mẫu khác. Nhưng có điều này nhờ hoangdanh giải thích rỏ cho mình với: Tại sao ở cột xác định số dòng ưu tiên sắp xếp theo thứ tự (cột X của bảng "Tổng hợp chứng từ chưa sắp xếp") bạn không dùng "....+(ROW()" mà lại dùng "....+(ROW()/65600)". Ý mình muốn hỏi ý tưởng việc dùng gia số ROW()/65600 là gì vậy?
 
Cảm ơn hoangdanh. Nhờ file của bạn mình có thêm nhiều cách thiết kế biểu mẫu khác. Nhưng có điều này nhờ hoangdanh giải thích rỏ cho mình với: Tại sao ở cột xác định số dòng ưu tiên sắp xếp theo thứ tự (cột X của bảng "Tổng hợp chứng từ chưa sắp xếp") bạn không dùng "....+(ROW()" mà lại dùng "....+(ROW()/65600)". Ý mình muốn hỏi ý tưởng việc dùng gia số ROW()/65600 là gì vậy?

là để phân biệt giữa hai dòng có ngày tháng bằng nhau.
Giả sử dữ liệu của bạn có hai dòng đều có thời gian như nhau (mức độ ưu tiên như nhau). nếu đã bằng nhau về ngày tháng thì ta sẽ xét đến sự ưu tiên về dòng. Dòng trên sẽ được ưu tiên hơn dòng bên dưới (row()/65600 càng nhỏ càng được ưu tiên)
Giả sử vị trí của dòng trên là 65535, dưới là 65536, ta có :
65535/65600 <1 và 65535/65600 < 65536/65600
như vậy dòng 65535 sẽ được ưu tiên hơn
 
Thì bạn nói qua ý tưởng chung về cách giải quyết của bạn để mình có thể nắm được

Ý tưởng là trích lọc và xếp dữ liệu của các sheet khác về một sheet chung, sau đó từ sheet chung này ta sẽ xét đến giá trị ngày tháng để lọc ra dòng nào ưu tiên được xếp trước và trích lọc thêm một lần nữa.
Cám ơn Bác Thu Nghi đã giúp em về bài này.
 
Cho mình ké với! Mình thấy chủ đề này khá giống với trường hợp dân kế toán làm cái Combobox chọn Tài Khoản. Thường thì mọi người cứ bê nguyên danh mục TK để chọn. Nhưng nó không hợp lý là rất nhiều tài khoản không phát sinh, lựa chọn có khi nhọc hơn gõ trực tiếp.
Mình nghĩ tốt nhất là trộn luôn 2 cột TKNợ và TKCó trong DATA rồi lọc ra theo thời gian. Như vậy, TK nào có trong danh sách chắc chắn có phát sinh và danh sách TK sẽ rất ngắn gọn chứ không phải cả bảng HTTK. Nhưng mình vẫn chưa biết làm thế nào, mọi người hiến kế giúp.Trong tệp mẫu mình làm thủ công bằng cách đánh dấu trong HTTK các TK có PS để khi chọn biết nhưng mình vẫn phải bê cả HTTK vào danh sách.
 
Xin lỗi! Mình tải lại file
 

File đính kèm

  • KETOAN07NEW.rar
    20.8 KB · Đọc: 16
Cho mình ké với! Mình thấy chủ đề này khá giống với trường hợp dân kế toán làm cái Combobox chọn Tài Khoản. Thường thì mọi người cứ bê nguyên danh mục TK để chọn. Nhưng nó không hợp lý là rất nhiều tài khoản không phát sinh, lựa chọn có khi nhọc hơn gõ trực tiếp.
Mình nghĩ tốt nhất là trộn luôn 2 cột TKNợ và TKCó trong DATA rồi lọc ra theo thời gian. Như vậy, TK nào có trong danh sách chắc chắn có phát sinh và danh sách TK sẽ rất ngắn gọn chứ không phải cả bảng HTTK. Nhưng mình vẫn chưa biết làm thế nào, mọi người hiến kế giúp.Trong tệp mẫu mình làm thủ công bằng cách đánh dấu trong HTTK các TK có PS để khi chọn biết nhưng mình vẫn phải bê cả HTTK vào danh sách.

BẠn ơi.
Do hệ thống tài khoản có trước rồi sau đó mới phát sinh nghiệp vụ -> danh sách TK có phát sinh. Như vậy có lẽ bạn phải gõ vào khi nhập liệu -> có thể dẫn đến dữ liệu không chính xác.
Bạn nên xây dựng một bảng HTTK, sau đó sẽ check vào để chọn những TK sẽ xuất hiện trong list đưa vào Valadation là ok
 
Web KT
Back
Top Bottom