返回列表 上一主題 發帖

資料相同排在同一列的問題

回復 2# register313
不用字典物件可少用一次迴圈, 這不錯 ,可再簡化一下
  1. Sub Ex()
  2.     Dim A As Range, xf As Integer
  3.     Sheet1.Activate
  4.     'Sheets("原始資料").Activate
  5.     Columns("D:IV") = ""
  6.     Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("D6"), Unique:=True
  7.     For Each A In Range([B2], [B65536].End(xlUp))
  8.         xf = Application.Match(A, Columns("D"), 0)
  9.         Cells(xf, "IV").End(xlToLeft).Offset(, 1) = A.Offset(, -1)
  10.     Next
  11. End Sub
複製代碼

TOP

回復 5# register313
我的工作用不上PC的,是興趣驅使來學習.有時也是回覆的七零八落地.

TOP

回復 8# hugh0620
由左向右   由右向左  隨個人喜好都可以
  1. Option Explicit
  2. Sub Ex()
  3.     Dim A As Range, xf As Integer, xC As Integer
  4.     Sheet1.Activate
  5.     'Sheets("原始資料").Activate
  6.     Columns("D:IV") = ""
  7.     Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("D6"), Unique:=True
  8.     For Each A In Range([B2], [B65536].End(xlUp))
  9.         xf = Application.Match(A, Columns("D"), 0)
  10.         xC = Application.CountA(Range(Cells(xf, "D"), Cells(xf, "D").End(xlToRight)))
  11.         Cells(xf, "D").Offset(, xC) = A.Offset(, -1)
  12.     Next
  13. End Sub
複製代碼

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題