返回列表 上一主題 發帖

[發問] 如何比對2個BOM表,並插入列並齊

[發問] 如何比對2個BOM表,並插入列並齊

請教各位先進
1.BOM有"設變"狀況,每次設變不是會新增子階料號,不然就是會減少子階料號
2.我現在是用手動的方式依序按照階層排列
3.當設變前與設變後比對BOM,設變後的BOM有多一子階,我在設變前的BOM就插入1列--> 如何用VBA幫忙自動判斷並插入列
4.當設變前與設變後比對BOM,設變前有多一子階,我在設變後的BOM就插1列--> 如何用VBA幫忙自動判斷並插入列



是否可以使用Excel VBA 幫忙協助判讀,A欄與G欄的差異,並自動插入一列,讓設變前/後是可以比照的
P.S會有不同的產品,故資料列範圍會有變化

感謝各位先進的教導!

比較2個BOM表.rar (39.66 KB)
Just do it.

回復 2# 准提部林


准提部林,真的太感激你了,解決了一大煩惱。
我會好好看一下你的語法,有問題再跟你請教。
Thank you very much !
Just do it.

TOP

回復 2# 准提部林

Dear 准提部林,我改過欄位編號後,並修改過程式碼,結果有異常,是否哪裡需做修訂?

Sub TEST()
Dim xArea As Range, xR As Range, xF As Range, xG As Range, I%
Set xArea = Range([A3], Cells(Rows.Count, 1).End(xlUp))
Application.ScreenUpdating = False
For Each xR In xArea
    If xR = "" Or xR = xR(1, 9) Then GoTo 101
    Set xF = [I:I].Find(xR, Lookat:=xlWhole)
    If xF Is Nothing Then GoTo 101
    I = xR.Row - xF.Row
    If I > 0 Then Set xG = xF Else Set xG = xR
    xG.Resize(Abs(I), 5).Insert Shift:=xlDown
101: Next
End Sub






EXCEL-TEST.zip (78.01 KB)
Just do it.

TOP

回復 5# 准提部林


我已將A欄及I欄更改為文字格式
執行後畫面如下,在我"版本2" I3有階層1,但I4~I481完全沒資訊,而I482則是階層1,I483則是1.1.1   



Just do it.

TOP

回復 7# 准提部林


對不起,我再請教一個問題
一旦使用VBA執行後,設定格式化的條件的公式都會跑掉
這要如何設定?


=(A3<>"")*(A3<>G3)
=$A$3:$A$491


=(I3<>"")*(I3<>A3)
=$G$3:$G$491
Just do it.

TOP

回復 10# 准提部林


好的,感謝您的教學
Just do it.

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題