返回列表 上一主題 發帖

如何將横列資料轉為直列並編號

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列與字典,學習方案如下,請各位前輩指教
執行前:


執行結果:



Sub TEST()
Dim 資料陣列, 空陣列, 字典, i&, j%, 空陣列已使用列數&, 同列不重複編號數%
Set 字典 = CreateObject("Scripting.Dictionary")
資料陣列 = Range([J2], [A65536].End(xlUp))
ReDim 空陣列(1 To 10000, 1 To 2)
For i = 1 To UBound(資料陣列)
   訂單 = Trim(資料陣列(i, 1))
   同列不重複編號數 = 0
   For j = 2 To UBound(資料陣列, 2)
      If Trim(資料陣列(i, j)) = "Y" Or Trim(資料陣列(i, j)) = "" Then GoTo j01
      If 字典(Trim(資料陣列(i, j)) & i) <> "" Then
         GoTo j01
         Else
         字典(Trim(資料陣列(i, j)) & i) = "X"
      End If
      空陣列已使用列數 = 空陣列已使用列數 + 1
      同列不重複編號數 = 同列不重複編號數 + 1
      If 同列不重複編號數 = 1 Then
         空陣列(空陣列已使用列數, 1) = 訂單
         Else
         空陣列(空陣列已使用列數, 1) = 訂單 & "-" & 同列不重複編號數 - 1
      End If
      空陣列(空陣列已使用列數, 2) = Trim(資料陣列(i, j))
j01: Next
Next
[P2].Resize(空陣列已使用列數, 2) = 空陣列
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 難行能行,難捨能捨,難為能為,才能昇華自我的人格。
返回列表 上一主題