Sắp xếp các lại điểm.

Liên hệ QC

N2NTrung

Thành viên mới
Tham gia
13/11/07
Bài viết
45
Được thích
4
Các điểm của mình bị lung tung (ở cột A và B), nhờ các bạn giúp mình sắp xếp lại theo thứ tự (như cột E và F) với.
 

File đính kèm

  • Sap xep.xls
    17 KB · Đọc: 20
dữ liệu cột E và F của bạn không có nguyên tắc nào thì chỉ có dùng tay thôi.
 
Upvote 0
Có đấy chứ.
Tớ đánh dấu màu vàng ấy. (sắp xếp sao cho E2=F1, E3=F2, ...)
Rất mong các bạn giúp đỡ.
 
Upvote 0
Có đấy chứ.
Tớ đánh dấu màu vàng ấy. (sắp xếp sao cho E2=F1, E3=F2, ...)
Rất mong các bạn giúp đỡ.
Cái đó thì thấy rồi... nhưng 1 trong 2 cột phải có 1 cột làm mốc chứ ---> Giả sử cột F là "mốc" còn cột E sẽ xếp theo cột F ---> Vậy đầu tiên cột F được sắp theo tiêu chí gì?
 
Upvote 0
Mốc Cell là E1=A1 và F1=B1.
CT cho i chạy trong vùng từ cột "A2:A17" nếu thấy Ai = F1 thì gán E2 = Ai và F2 = Bi, sau đó i quay lại và tiếp tục so sánh Ai với F2 vừa cập nhật ...
Tớ lại không biết viết marco ntn cả
 
Upvote 0
Mốc Cell là E1=A1 và F1=B1.
CT cho i chạy trong vùng từ cột "A2:A17" nếu thấy Ai = F1 thì gán E2 = Ai và F2 = Bi, sau đó i quay lại và tiếp tục so sánh Ai với F2 vừa cập nhật ...
Tớ lại không biết viết marco ntn cả
"Mốc" như thế không ổn tí nào ---> Lở như A1 nó bằng B1 thì sao?
Tôi hình dung công việc thế này:
- Tìm trong 2 cột A, B xem có 1 cặp nào giống nhau không, nếu có thì sắp sang nói khác (chẳng hạn là sắp vào cột E, F)
- Lại tìm trong 2 cột A, B ... những em khác nhau ta lại sắp vào những chổ trống trong E, F
Đúng không?
Nếu vậy tạm dùng code này:
PHP:
Sub Test()
  Dim Rng1 As Range, Rng2 As Range, Clls As Range, FRng As Range
  Set Rng1 = Range([A1], [A65536].End(xlUp))
  Set Rng2 = Rng1.Offset(, 1)
  Range("E:F").ClearContents
  For Each Clls In Rng1
    Set FRng = Rng2.Find(Clls, LookAt:=xlWhole)
    If Not FRng Is Nothing Then
      i = i + 1
      Cells(i + 1, "E") = Clls: Cells(i, "F") = FRng
    End If
  Next
  For Each Clls In Rng1
    If Rng2.Find(Clls, LookAt:=xlWhole) Is Nothing Then
      Range("E:F").SpecialCells(4).Areas(1)(1, 1) = Clls
    End If
  Next
  For Each Clls In Rng2
    If Rng1.Find(Clls, LookAt:=xlWhole) Is Nothing Then
      Range("E:F").SpecialCells(4).Areas(1)(1, 1) = Clls
    End If
  Next
End Sub
3 vòng lập ---> Hơi ngán, nhưng tạm thời chưa tìm ra cách khác ngắn gọn hơn!
 

File đính kèm

  • Sap xep.xls
    22.5 KB · Đọc: 9
Lần chỉnh sửa cuối:
Upvote 0
Rất cám ơn bạn. Cách diễn đạt của mình làm bạn chưa hiểu hehe.
Nhưng BT của mình là có các cặp A và B tương ứng đang xếp lung tung, bắt đầu từ A1, B1 sắp xếp lại các cặp A, B (không làm thay đổi cặp A,B) làm sao cho ở hàng thứ 2 có cặp (A,B) mà A2=B1, tiếp tục hàng 3 có cặp (A,B) mà A3=B2,......(các "B" ở đây ăn theo "A" rồi)
 
Upvote 0
Rất cám ơn bạn. Cách diễn đạt của mình làm bạn chưa hiểu hehe.
Nhưng BT của mình là có các cặp A và B tương ứng đang xếp lung tung, bắt đầu từ A1, B1 sắp xếp lại các cặp A, B (không làm thay đổi cặp A,B) làm sao cho ở hàng thứ 2 có cặp (A,B) mà A2=B1, tiếp tục hàng 3 có cặp (A,B) mà A3=B2,......(các "B" ở đây ăn theo "A" rồi)
Nếu dữ liệu đúng như vậy thì chỉ cần dùng Vlookup. Bạn xem file nhé.
 

File đính kèm

  • GPE.xls
    24 KB · Đọc: 20
Upvote 0
uh nhỉ dùng Vlookup cũng được nhưng có thể dùng các vòng lặp mà đưa KQ như vậy không.
Cám ơn các bạn nhiều.
 
Upvote 0
uh nhỉ dùng Vlookup cũng được nhưng có thể dùng các vòng lặp mà đưa KQ như vậy không.
Cám ơn các bạn nhiều.
Tại sao phải làm như vậy nhỉ? Trong khi sử dụng công thức rất đơn giản, nhẹ nhàng.
Phải chăng vì dùng code có vẻ như pro hơn **~****~****~**

Đừng giết con gà bằng dao mổ trâu. Thay vì ra sức vác dao mổ trâu bạn hãy làm việc khác.
 
Upvote 0
Tại sao phải làm như vậy nhỉ? Trong khi sử dụng công thức rất đơn giản, nhẹ nhàng.
Phải chăng vì dùng code có vẻ như pro hơn **~****~****~**

Đừng giết con gà bằng dao mổ trâu. Thay vì ra sức vác dao mổ trâu bạn hãy làm việc khác.
---
Không biết thực tế thế nào, nếu đúng theo ví dụ thì chọn từng cột A sort, cột B sort, như thế có được không bạn huuthang_bd nhỉ ?
 
Upvote 0
---
Không biết thực tế thế nào, nếu đúng theo ví dụ thì chọn từng cột A sort, cột B sort, như thế có được không bạn huuthang_bd nhỉ ?
Không được đâu bạn. Sort sẽ không đảm bảo giá trị ô n cột A bằng ô n-1 cột B
 
Upvote 0
không phải vậy, vì mình đang áp dụng trong môi trường macro của Acad nên không có hàm Vlookup.
Các điểm ở đây là mình đưa từ Acad vào đấy chứ.
 
Upvote 0
không phải vậy, vì mình đang áp dụng trong môi trường macro của Acad nên không có hàm Vlookup.
Các điểm ở đây là mình đưa từ Acad vào đấy chứ.
Đáng lý ra bạn cần nói rõ ngay từ đầu để khỏi làm mất thời gian của mọi người. Tôi chưa viết code trên CAD bao giờ nên không biết nó hoạt động như thế nào. Nhưng tôi nghĩ chưa chắc code chạy được trên Excel thì chạy được trên CAD. Ví dụ như dùng các phương thức đặc trưng của Excel như Find, Offset,... hoặc là dùng các hàm của Excel (dùng trong VBA) thì có chạy được trên CAD không.
 
Upvote 0
Web KT
Back
Top Bottom