返回列表 上一主題 發帖

[發問] vlookup合并的資料

[發問] vlookup合并的資料

下圖左邊是資料檔,右邊是結果。由於貨架序號的頭7行是合幷,第8-14行是合幷,每次合幷行數不固定。
有沒有方法像右邊那樣,打入貨架序號,然後直接把該序號的資料轉到右邊?如附件。

                                                                資料檔                                                                                           結果
序号        货架编号        货架序号        单元        数量        楼层        备注        排列方式                        SR2000                        SR2001                       
1                  GS200                SR2000              FC186          1                 02F                         SR2001         SR2003                FC186        1                FC130        1               
2                                                                FC167          1                 02F                                                                FC167        1                FC117        1               
3                                                                FC161          1                 02F                                                                FC161        1                FC116        1               
4                                                                FC161          1                 02F                                                                FC161        1                FC130        1               
5                                                                FC153          1                 02F                                                                FC153        1                FC117        1               
6                                                                FC153          1                 02F                                                                FC153        1                FC116        1       
7                                                                FC151          1                 02F                                                                FC151        1                FC130        1               
8                                     SR2001           FC130      1            02F                                                                  Total        7                Total        7                                               
9                                                                FC117          1                02F                                                                                                                       
10                                                                FC116          1                02F                                                                                                                       
11                                                                FC130          1                02F                                                                                                                       
12                                                                FC117          1                02F                                                                                                                       
13                                                                FC116          1             02F                                                                                                                       
14                                                                FC130          1                02F

test.rar (9.34 KB)

(輸入編號12160) google網址:https://hcm19522.blogspot.com/
隨意窩 "EXCEL迷"  blog  或https://hcm19522.blogspot.com/ EXCEL函數

TOP

回復 2# hcm19522


    謝謝,不過這個答應出來的效果,不是我的問題的目的。

TOP

本帖最後由 singo1232001 於 2023-12-21 02:42 編輯

回復 3# 198188

代碼需放在工作表模組  不要放在Module1


    Dim OUT1
Private Sub Worksheet_Change(ByVal Target As Range)
If OUT1 = True Then Exit Sub
If Target.Height > 10000 Then Exit Sub
If Target.Width > 10000 Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Row > 1 Then Exit Sub
If Target.Column = 11 Then
ElseIf Target.Column = 14 Then
ElseIf Target.Column = 17 Then
ElseIf Target.Column = 20 Then
Else
Exit Sub
End If
OUT1 = True
Target.Offset(1, 0).Resize(100000, 2).ClearContents
OUT1 = False
r = Cells(Rows.Count, 1).End(3).Row
For i = 2 To r
If UCase(Target.Value) = UCase(Cells(i, 3).Value) Then
OUT1 = True
For j = i To Cells(i, 3).MergeArea.Count + i - 1
w = w + 1
Target.Offset(w, 0).Resize(1, 2).Value = Cells(j, 4).Resize(1, 2).Value
sumx = sumx + Cells(j, 5)
Next
End If
Next
If w <> 0 Then Target.Offset(w + 1, 0).Resize(1, 2) = Array("Total", sumx)
OUT1 = False
End Sub

TOP

本帖最後由 198188 於 2023-12-21 09:23 編輯

回復 4# singo1232001
有點奇怪,把程式放在頁面堙A但是開excel, 檢視巨集時,版面沒有任何巨集。
は&#26631;&#39064;.jpg
2023-12-21 09:21

test vba.zip (82.13 KB)

TOP

本帖最後由 shuo1125 於 2023-12-21 11:09 編輯

回復 5# 198188
你好~
此為工作表事件中編寫的程式碼,故不會出現在標準的「檢視巨集」列表中。
<因不屬於模組(Modules)>

TOP

回復 6# shuo1125


  但是這樣如何操作?如上貼附件,沒有任何反應出來。

TOP

回復 7# 198188
因為你原表格是在單元格K1,N1等地方操作....所以慶大針對你需求寫的,
依原本表格填入貨號,當工作表變化時,內容就會變動了....看圖八。
-----------------------------------
vlookup合并的資料.PNG
2023-12-21 14:30

TOP

回復 7# 198188


    之前的代碼 是在k1打字就會直接觸發操作

若想要打完再手動執行用如下代碼
Sub test()
r = Cells(Rows.Count, 1).End(3).Row
Range("k2:u1000").ClearContents
For Each Z In Range("K1,N1,Q1,T1")
t5 = 0: t4 = 0
If Z.Value <> "" Then
    For i = 2 To r
    If UCase(Z.Value) = UCase(Cells(i, 3).Value) Then
        For j = i To Cells(i, 3).MergeArea.Count + i - 1
        t4 = t4 & "▲" & Cells(j, 4)
        t5 = t5 & "▲" & Cells(j, 5)
        tsum = tsum + Cells(j, 5)
        Next
    End If
    Next
   
    a4 = Split(Mid(t4 & "▲Total", 3, 9999), "▲")
    a5 = Split(Mid(t5 & "▲" & tsum, 3, 9999), "▲")
   
    If UBound(a4) > 0 Then
    Z.Offset(1, 0).Resize(UBound(a4) + 1, 1) = Application.Transpose(a4)
    Z.Offset(1, 1).Resize(UBound(a4) + 1, 1) = Application.Transpose(a5)
    End If
End If
Next

End Sub

TOP

回復 9# singo1232001


    謝謝!能不能有注釋一下,這樣我可以更好理解每句用意,如果格式或者表格有變動,也可以自己做出修改。:handshake

TOP

        靜思自在 : 得理要饒人,理直要氣和。
返回列表 上一主題