Sửa Code Compare2List (1 người xem)

  • Thread starter Thread starter huy vu
  • Ngày gửi Ngày gửi
Liên hệ QC

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

huy vu

Thành viên hoạt động
Tham gia
29/2/12
Bài viết
164
Được thích
1
Những kiến thức trên GPE quả thật rộng lớn.
Hôm nay em có đọc được Topic này: http://www.giaiphapexcel.com/forum/showthread.php?48469-Tạo-hàm-so-sánh-2-danh-sách
Code của ANHTUAN1066 để so sánh 2 chuỗi và áp dụng vào bài toán của mình.
Tuy nhiên em muốn hỏi nội dung sau: 2 chuỗi so sánh của em, có những ô có độ dài >= 15 ký tự và có những ô < 15 ký tự.
Bây giờ em chỉ muốn đưa ra kết quả những ô >= 15 ký tự thì phải sửa code như thế nào ?
Em xin cảm ơn !
 

File đính kèm

Những kiến thức trên GPE quả thật rộng lớn.
Hôm nay em có đọc được Topic này: http://www.giaiphapexcel.com/forum/showthread.php?48469-Tạo-hàm-so-sánh-2-danh-sách
Code của ANHTUAN1066 để so sánh 2 chuỗi và áp dụng vào bài toán của mình.
Tuy nhiên em muốn hỏi nội dung sau: 2 chuỗi so sánh của em, có những ô có độ dài >= 15 ký tự và có những ô < 15 ký tự.
Bây giờ em chỉ muốn đưa ra kết quả những ô >= 15 ký tự thì phải sửa code như thế nào ?
Em xin cảm ơn !
Xem file thấy cái bảng dữ liệu là cảm thấy cái tầm quan trọng của cái file vượt quá khả năng mình rồi.
 
Upvote 0
Xem file thấy cái bảng dữ liệu là cảm thấy cái tầm quan trọng của cái file vượt quá khả năng mình rồi.
Em chưa hiểu ý anh ạ. Đúng là dữ liệu thật cũng chỉ có thế, chỉ là thay SArray bằng những mảng khác nhau, có những ô có độ dài ký tự >=15 và những ô có độ dài < 15.
 
Upvote 0
Em chưa hiểu ý anh ạ. Đúng là dữ liệu thật cũng chỉ có thế, chỉ là thay SArray bằng những mảng khác nhau, có những ô có độ dài ký tự >=15 và những ô có độ dài < 15.
Chắc là sửa phần đỏ đỏ này
Mã:
Select Case CompareMod
    Case 1
      For Each Item In TmpKeys1
        If Dic2.exists(CStr(Item)) [COLOR=#ff0000]And Len[/COLOR][COLOR=#ff0000](CStr(Item)) >= 15 [/COLOR]Then
          j = j + 1
          Arr(j, 1) = CStr(Item)
        End If
      Next
    Case 2
      For Each Item In TmpKeys1
        If Not Dic2.exists(CStr(Item)) [COLOR=#ff0000]And Len(CStr(Item)) >= 15 [/COLOR]Then
          j = j + 1
          Arr(j, 1) = CStr(Item)
        End If
      Next
    Case 3
      For Each Item In TmpKeys2
        If Not Dic1.exists(CStr(Item))[COLOR=#ff0000] And Len(CStr(Item)) >= 15 [/COLOR]Then
          j = j + 1
          Arr(j, 1) = CStr(Item)
        End If
      Next
  End Select
 
Upvote 0
Code gần như in hệt nhau, ai lại là một cái SELECT CASE như thế:

Mã:
With Choose(compareMod, Dic2, Dic2, Dic1)
  For Each Item in Choose(compareMod, TmpKeys1, TmpKeys1, TmpKeys2)
    If Len(... Then
    inDic = .exists(Cstr(Item))
    If IIF(compareMod = 1, inDic, Not Indic) Then
    ...
    End If
    End If
  Next
End With
End With

tb. trong từ Compare2List, người ta có thể đọc 2 là "TO" hoặc TWO". Vì vậy bạn phải rõ ràng, nếu "so sánh với một dãy" thì viết hẳn ra CompareToList, nếu "so sánh 2 dãy với nhau" thì viết Compare2Lists (số nihiều, có s).
 
Lần chỉnh sửa cuối:
Upvote 0
Code gần như in hệt nhau, ai lại là một cái SELECT CASE như thế:

Mã:
With Choose(compareMod, Dic2, Dic2, Dic1)
  For Each Item in Choose(compareMod, TmpKeys1, TmpKeys1, TmpKeys2)
    If Len(... Then
    inDic = .exists(Cstr(Item))
    If IIF(compareMod = 1, inDic, Not Indic) Then
    ...
    End If
    End If
  Next
End With
End With

tb. trong từ Compare2List, người ta có thể đọc 2 là "TO" hoặc TWO". Vì vậy bạn phải rõ ràng, nếu "so sánh với một dãy" thì viết hẳn ra CompareToList, nếu "so sánh 2 dãy với nhau" thì viết Compare2Lists (số nihiều, có s).
Em cũng chỉ biết áp dụng mà không biết sửa code thế nào. Nếu được anh có thể viết chi tiết cái chỗ ... được không ạ.
Tb. Em xin sửa thành Compare2Lists ạ
 
Upvote 0
Code gần như in hệt nhau, ai lại là một cái SELECT CASE như thế:

Cảm ơn góp ý của bạn (code ấy là của mình viết)
Nếu bạn để ý sẽ thấy bài viết ấy có từ năm 2011, cách đây đã hơn 3 năm rồi, cái thuở mình mới biết về Dic và Array nên code chạy được là mừng rồi --=0
(từ đó đến giờ mình cũng chưa xài hàm ấy lần nào cho công việc)
 
Upvote 0
Cảm ơn góp ý của bạn (code ấy là của mình viết)
Nếu bạn để ý sẽ thấy bài viết ấy có từ năm 2011, cách đây đã hơn 3 năm rồi, cái thuở mình mới biết về Dic và Array nên code chạy được là mừng rồi --=0
(từ đó đến giờ mình cũng chưa xài hàm ấy lần nào cho công việc)
Có khi lúc nào rảnh thầy NDU rà lại 1 lượt các code viết từ 2011 về trước rồi sửa lại cho tối ưu để thành viên GPE cùng học tập và nghiên cứu }}}}}
 
Upvote 0

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

Back
Top Bottom