返回列表 上一主題 發帖

有關sheet1拆開及複製資料至sheet2

回復 1# pesi2884
  1. Sub Ex()
  2. Dim Ay(16), Ary()
  3. With Sheet1
  4. For Each a In .Range(.[A2], .[A65536].End(xlUp))
  5. Ar = Split(a, "、")
  6. For i = 0 To UBound(Ar)
  7. Ay(0) = Ar(i)
  8.    For j = 1 To 11
  9.       Ay(j) = a.Offset(, j).Value
  10.       If i > 0 And Ay(j) = 1 Then Ay(j) = "-"
  11.    Next
  12.    x = 0
  13.    For k = 0 To UBound(Ar)
  14.       If k <> i Then Ay(12 + x) = Ar(k): x = x + 1
  15.    Next
  16.    ReDim Preserve Ary(s)
  17.    Ary(s) = Ay
  18.    s = s + 1
  19.    Erase Ay
  20. Next
  21. Next
  22. End With
  23. Sheet2.[A2:P65536] = ""
  24. Sheet2.[A2].Resize(s, 16) = Application.Transpose(Application.Transpose(Ary))
  25. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 4# sping


    短不一定就是好
能夠完成需求的答案都是好答案
分段執行有分段執行的好處
容易除錯及修正程式
程式短可能用到的函數多執行效率不一定比較好
而且如果沒有完全了解程式的意思
以後要修改可能會造成很大的困難
所以不必羨慕程式簡短
學習到內容含意才是重要的
學海無涯_不恥下問

TOP

        靜思自在 : 吃苦了苦、苦盡廿來,享福了福、福盡悲來。
返回列表 上一主題