標題:
有關sheet1拆開及複製資料至sheet2
[打印本頁]
作者:
pesi2884
時間:
2010-5-24 22:00
標題:
有關sheet1拆開及複製資料至sheet2
因為工作上需要分析龐大的資料,麻煩好心的前輩幫我解一下,小弟感激不盡,謝謝呀!
問題說明:在sheet1內 A欄依"、"拆成數筆資料
,BCJKL欄則一樣複製
,DEFGHI欄中的"1"僅會複製給第1筆資料,"-"則給拆開的第2筆資料、第3筆資料、第4筆資料..
,MNOP欄中則依序放入拆開名稱資料
,希望達到成果如"sheet2"內容
作者:
Hsieh
時間:
2010-5-24 22:43
回復
1#
pesi2884
Sub Ex()
Dim Ay(16), Ary()
With Sheet1
For Each a In .Range(.[A2], .[A65536].End(xlUp))
Ar = Split(a, "、")
For i = 0 To UBound(Ar)
Ay(0) = Ar(i)
For j = 1 To 11
Ay(j) = a.Offset(, j).Value
If i > 0 And Ay(j) = 1 Then Ay(j) = "-"
Next
x = 0
For k = 0 To UBound(Ar)
If k <> i Then Ay(12 + x) = Ar(k): x = x + 1
Next
ReDim Preserve Ary(s)
Ary(s) = Ay
s = s + 1
Erase Ay
Next
Next
End With
Sheet2.[A2:P65536] = ""
Sheet2.[A2].Resize(s, 16) = Application.Transpose(Application.Transpose(Ary))
End Sub
複製代碼
作者:
pesi2884
時間:
2010-5-24 22:59
Hsieh前輩:
這個問題我想了好久,我也嘗試自己寫了好久時間,
分了很多段程式寫在按鈕內,需要分段完成,
想不到你一個程式一下下就解決了!
我run了之後沒有問題,
比我自己寫的程式也又臭又長,好太多了,
希望有一天可以學到你一半的境界就好啦。
真的很謝謝你!
作者:
Hsieh
時間:
2010-6-19 16:52
回復
4#
sping
短不一定就是好
能夠完成需求的答案都是好答案
分段執行有分段執行的好處
容易除錯及修正程式
程式短可能用到的函數多執行效率不一定比較好
而且如果沒有完全了解程式的意思
以後要修改可能會造成很大的困難
所以不必羨慕程式簡短
學習到內容含意才是重要的
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)