Board logo

標題: [發問] Index and Match VBA [打印本頁]

作者: mdr0465    時間: 2020-6-24 23:32     標題: Index and Match VBA

各位大大

如果我"庫存"里在A欄和AG欄 兩個合符的條件的情況下在尋找"WORKING" 找回相對應的資料,

我應點寫VBA CODE 呢???

謝謝
作者: 准提部林    時間: 2020-6-25 11:37

雙條件--用index+match--行不通:
Sub 載入庫存()
Dim R&, C&, i&, j%, Arr, Brr, Crr, xD, U&
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([working!AF1], [working!A1].Cells(Rows.Count, 1).End(xlUp))
For i = 2 To UBound(Arr)
    xD(Arr(i, 1) & Arr(i, UBound(Arr, 2))) = i
Next i
'----------------------------------
Brr = Range([庫存!AG1], [庫存!B1].Cells(Rows.Count, 1).End(xlUp))
ReDim Crr(1 To UBound(Brr), 1 To UBound(Brr, 2) - 2)
For i = 5 To UBound(Brr)
    U = Val(xD(Brr(i, 1) & Brr(i, UBound(Brr, 2))))
    If U = 0 Then GoTo 101
    For j = 1 To UBound(Crr, 2)
        Crr(i - 4, j) = Arr(U, j + 1)
    Next j
101: Next i
'----------------------------------
[庫存!C5:AF5].Resize(UBound(Crr)) = Crr
End Sub


[attach]32229[/attach]


========================
作者: mdr0465    時間: 2020-6-25 21:38

本帖最後由 mdr0465 於 2020-6-25 21:39 編輯

回復 2# 准提部林

版主:准提部林, 真的好多謝你的幫忙,你實在太犀利了:handshake

我有嘗試了解當中的寫法,但因為我只是複制一部份給你, 但因為運程式時會有一些資料會刪除了,

小弟不才,不能自行修改,令程式運行順利...

我還遇到的問題有2點

1. 如何解決不刪除每一個產品的預設加總
2. 如何解決AH:AO欄位的複制

謝謝
作者: 准提部林    時間: 2020-6-26 11:34

回復 3# mdr0465

判斷"合計"行--V欄文字最右一字是否為":"或":"---簡體字又全半型混合---只能抓這規則:
[attach]32232[/attach]

程式碼變複雜了,希望看得懂∼∼
作者: mdr0465    時間: 2020-6-26 23:03

回復 4# 准提部林


准提部林版主

真的萬二分感謝你的幫忙,謝謝你

我會努力了解當中的程式




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)