返回列表 上一主題 發帖

[發問] 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)

回復 40# Andy2483


    可以了,謝謝。之前我改過,但是改完后按執行VBA時沒反應,後來重複幾遍,改完存儲再關閉EXCEL, 再重新打開,才能成功。

TOP

回復 39# 198188


For i = Worksheets.Count To 3 Step -1
換成
For i = Worksheets.Count To 4 Step -1

PS:
試試#38
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 38# Andy2483


   我自己加了翻譯的程式,但是我在excel加插一個SHEET 后,執行你的那個VBA,會刪除我加插的那個SHEET. 請問是哪裏的問題?

con map.rar (30.2 KB)

TOP

回復 36# 198188

Option Explicit
Sub Map()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim Brr, Crr, Ar, Arr, V, Z, A, i&, R&, C%, j%, T$, K$, Qs$, Qd$, No$, Mk$, Q$, S%
For i = Worksheets.Count To 4 Step -1: Worksheets(i).Delete: Next
Set Z = CreateObject("Scripting.Dictionary")
Brr = Sheets(3).UsedRange
For i = 1 To UBound(Brr): Z(Trim(Brr(i, 1))) = Trim(Brr(i, 2)): Next: S = Z.Count
Brr = Union(Sheets(1).UsedRange, Sheets(1).UsedRange.Offset(1))
Crr = Range(Sheets(2).[A1], Sheets(2).UsedRange): K = [B1]
For i = 1 To UBound(Brr) - 1
   If InStr(Brr(i, 1), Left(K, 4)) = 0 Then GoTo i01
   A = Split(Replace(Brr(i, 1), "  ", " "), " "): Q = Mid(A(0), 5, 4): Qd = A(1)
   If UBound(A) > 1 Then Qs = A(UBound(A)) Else Qs = ""
   A = Z(Q): R = Z(Q & "/r"): C = 1
   If Not IsArray(A) Then A = Crr: A(3, 2) = Q: A(3, 6) = Qs: A(3, 9) = Qd: A(4, 13) = Date: R = 5
   R = R + 1: V = A(R, 2)
   If InStr(Brr(i, 2), V) = 0 Or R = 10 Then GoTo i01
   For j = 2 To UBound(Brr, 2)
      C = C + 2: T = Trim(Brr(i, j)): If T = "" Then GoTo j01
      If InStr(T, V) Then
         A(R, C) = Mid(T, 4, 6): A(R, C + 1) = Replace(Mid(T, 11), ")", "")
         Else
         Ar = Split(T, Chr(10))
         For Each Arr In Ar
            If Not Split(Arr & " ", " ")(1) Like "[A-z][A-z]" Then GoTo j01
            No = No & Chr(10) & Split(Arr, " ")(0): Mk = Mk & Chr(10) & Mid(Arr, InStr(Arr, Split(Arr, " ")(1)))
         Next
         A(R, C) = Mid(No, 2): A(R, C + 1) = Mid(Mk, 2): No = "": Mk = ""
      End If
j01: Next
   Z(Q) = A: Z(Q & "/r") = R
i01: Brr(i + 1, 1) = IIf(Brr(i + 1, 1) = "", Brr(i, 1), Brr(i + 1, 1))
Next
If Z.Count = 0 Then Exit Sub
For Each A In Z.KEYS
   If Not IsArray(Z(A)) Then GoTo A01 Else Sheets(2).Copy After:=Worksheets(Sheets.Count)
   ActiveSheet.Name = A '"Result " & A
   [A1].Resize(UBound(Z(A)), UBound(Z(A), 2)) = Z(A)
   For i = 0 To S - 1: ActiveSheet.UsedRange.Replace Z.KEYS()(i), Z.ITEMS()(i), Lookat:=xlPart: Next
A01: Next
Application.Goto Sheets(1).[A1]
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 36# 198188


    錄製巨集就可以做,請先試試看
再以副程式的方式排入主程式裡執行
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 35# Andy2483


    根據你說的那樣,亂碼換成英文,這樣就可以了
另外還有一個小的問題
能不能獨立做一個VBA 把全部sheets 裏面的文字按照附件Translate這個表裏的資料進行取代,
舉例
排櫃表        Container Maps
貨櫃號        Project Name
貨物        Description
貨櫃尺寸        Container Size
出貨日期        Ex-Work Date
櫃號        Container No
制表人        Prepared By
制表日        Date
上架        Upper Crate
下架        Lower Crate
車頭        Container Head
架長        Shelf Length

如果sheet 裏面有“排櫃表”的字眼,那麽執行程式后,“Container Maps” 取代“排櫃表”

con map.rar (20.78 KB)

TOP

回復 34# 198188


    謝謝前輩回復
如果有測試結論或解決方法可以分享一下
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

回復 33# Andy2483


    重複不斷試了幾十遍,終於可以了。謝謝。

TOP

回復 32# 198188


    把資料與VBA搬到新開檔案試試看
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題