返回列表 上一主題 發帖

[發問] 對比不相同的資料

請各位看看4樓的附檔  工作表中僅A-D欄  會有一奇怪的現象
在列的最底端位置 按下[Ctrl+往上鍵]  第1次就會到最頂端有資料的儲存格的列位. 完全不理會中間的儲存格是否有資料
在第1列的位置 [Ctrl+往下鍵]   第1次會到有資料的儲存格的位置. 第2 次便直接會到列的最底端位置. 也完全不理會中間的儲存格是否有資料

TOP

回復 7# Hsieh 謝謝 Hsieh 板主 解答
請問 你是如何找出的 我用AscB函數找不出來

TOP

回復 12# Hsieh
謝謝Hsieh板主的解說
當我執行你的程式後的結果 不是預期的 只發現Ctrl+方向鍵有異 但沒有朝不可見字元方向想
可是它好像只要用資料剖析就可以恢復正常 卻找不出是那一個不可見字元

TOP

回復 4# sping
純參考
用Find方法
   
  1. Sub 同工作表不同欄位之比對()
  2. Dim Rng(1 To 2) As Range, F As Range, d1 As Object, d2 As Object, A As Range
  3. Set d1 = CreateObject("Scripting.Dictionary")
  4. Set d2 = CreateObject("Scripting.Dictionary")
  5. d1("相同Name") = ""
  6. d2("不相同Name") = ""
  7. With Sheets("同工作表之比對")
  8.     Set Rng(1) = .Range("A3", .Range("A" & Rows.Count).End(xlUp))
  9.     Set Rng(2) = .Range("B3", .Range("B" & Rows.Count).End(xlUp))
  10.     For Each A In .Range(Rng(1).Address & "," & Rng(2).Address)
  11.         If A <> "" Then
  12.             Set F = Rng(IIf(A.Column = Rng(1).Column, 2, 1)).Find(A.Text, lookat:=xlWhole)
  13.             If Not F Is Nothing Then
  14.                 d1(A.Text) = ""
  15.             Else
  16.                 d2(A.Text) = ""
  17.             End If
  18.         End If
  19.     Next
  20. End With
  21. With Sheets("同工作表之比對")
  22.     .Range("c3:d65536") = ""
  23.     .[c2].Resize(d1.Count, 1) = Application.Transpose(d1.keys)
  24.     .[d2].Resize(d2.Count, 1) = Application.Transpose(d2.keys)
  25. End With
  26. End Sub
複製代碼

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題