標題:
搜尋 配對 輸出值
[打印本頁]
作者:
mirandachou
時間:
2015-10-20 15:10
標題:
搜尋 配對 輸出值
大家好!
想要請教前輩們一些問題><
最近開始學習VBA需要整理資料
[attach]22221[/attach]
如副圖
想要把資料類型整理成右側
有使用過VLookup去搜尋A行 不過卻只能[A]區塊
又加上[A],[B],[C] 資料量不一樣
如果搜尋到沒有的參數會主動把值輸入為 n/a
不知道大大們有沒有什麼方法可以更便捷的把資料整理成右側
真的感幾萬分!!! {:2_38:}
作者:
准提部林
時間:
2015-10-20 17:01
本帖最後由 准提部林 於 2015-10-20 17:06 編輯
Sub Macro3()
Dim j&, C&, Arr, Brr, X&, Y&, T$, xD
With Range([A1], [A65536].End(xlUp)(1, 2))
Arr = .Value
'_範圍納入陣列
C = Application.CountIf(.Columns(1), "[*]") + 1
'_計算〔項目〕個數
End With
ReDim Brr(UBound(Arr), C)
Set xD = CreateObject("Scripting.Dictionary")
For j = 1 To UBound(Arr)
T = Arr(j, 1): If T = "" Then GoTo 101
'儲存格值以 T 變數代之
If Left(T, 1) = "[" Then X = X + 1: Brr(0, X) = T: GoTo 101
'_儲存格若為〔項目〕,向右累計欄位,並加入項目
If xD(T) = 0 Then Y = Y + 1: xD(T) = Y: Brr(Y, 0) = T
'_若為〔明細〕,向下累計列位,並加入明細
Brr(xD(T), X) = Val(Arr(j, 2))
'_帶入配對值
101: Next j
[F7].Resize(Y + 1, X + 1) = Brr
'_填入陣列內容
[G8].Resize(Y, X).Replace "", "n/a"
'_將〔空格〕取代為〔n/a〕
End Sub
複製代碼
只能大約註解,請自行研究,恕不再說明∼∼
作者:
hcm19522
時間:
2015-10-20 19:12
http://blog.xuite.net/hcm19522/twblog/351161948
函數 參考即可
作者:
mirandachou
時間:
2015-10-21 12:45
只能大約註解,請自行研究,恕不再說明∼∼
准提部林 發表於 2015-10-20 17:01
真的非常感謝你!!
可以成功擷取出來了 :)
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)