Board logo

¼ÐÃD: [µo°Ý] vlookup¦X¦}ªº¸ê®Æ [¥´¦L¥»­¶]

§@ªÌ: 198188    ®É¶¡: 2023-12-20 11:42     ¼ÐÃD: vlookup¦X¦}ªº¸ê®Æ

¤U¹Ï¥ªÃä¬O¸ê®ÆÀÉ¡A¥kÃä¬Oµ²ªG¡C¥Ñ©ó³f¬[§Ç¸¹ªºÀY7¦æ¬O¦X幷¡A²Ä8-14¦æ¬O¦X幷¡A¨C¦¸¦X幷¦æ¼Æ¤£©T©w¡C
¦³¨S¦³¤èªk¹³¥kÃ䨺¼Ë¡A¥´¤J³f¬[§Ç¸¹¡AµM«áª½±µ§â¸Ó§Ç¸¹ªº¸ê®ÆÂà¨ì¥kÃä¡H¦pªþ¥ó¡C

                                                                ¸ê®ÆÀÉ                                                                                           µ²ªG
§Ç号        货¬[编号        货¬[§Ç号        单¤¸        数¶q        楼层        备ª`        ±Æ¦C¤è¦¡                        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
§@ªÌ: hcm19522    ®É¶¡: 2023-12-20 12:54

(¿é¤J½s¸¹12160) googleºô§}:https://hcm19522.blogspot.com/
§@ªÌ: 198188    ®É¶¡: 2023-12-20 15:05

¦^´_ 2# hcm19522


    ÁÂÁ¡A¤£¹L³o­ÓµªÀ³¥X¨Óªº®ÄªG¡A¤£¬O§Úªº°ÝÃDªº¥Øªº¡C
§@ªÌ: singo1232001    ®É¶¡: 2023-12-21 02:37

¥»©«³Ì«á¥Ñ singo1232001 ©ó 2023-12-21 02:42 ½s¿è

¦^´_ 3# 198188

¥N½X»Ý©ñ¦b¤u§@ªí¼Ò²Õ  ¤£­n©ñ¦bModule1


    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
§@ªÌ: 198188    ®É¶¡: 2023-12-21 09:21

¥»©«³Ì«á¥Ñ 198188 ©ó 2023-12-21 09:23 ½s¿è

¦^´_ 4# singo1232001
¦³ÂI©_©Ç¡A§âµ{¦¡©ñ¦b­¶­±ùØ¡A¦ý¬O¶}excel, À˵ø¥¨¶°®É¡Aª©­±¨S¦³¥ô¦ó¥¨¶°¡C
[attach]37166[/attach]
§@ªÌ: shuo1125    ®É¶¡: 2023-12-21 11:03

¥»©«³Ì«á¥Ñ shuo1125 ©ó 2023-12-21 11:09 ½s¿è

¦^´_ 5# 198188
§A¦n~
¦¹¬°¤u§@ªí¨Æ¥ó¤¤½s¼gªºµ{¦¡½X¡A¬G¤£·|¥X²{¦b¼Ð·Çªº¡uÀ˵ø¥¨¶°¡v¦Cªí¤¤¡C
<¦]¤£ÄÝ©ó¼Ò²Õ¡]Modules¡^>
§@ªÌ: 198188    ®É¶¡: 2023-12-21 14:12

¦^´_ 6# shuo1125


  ¦ý¬O³o¼Ë¦p¦ó¾Þ§@¡H¦p¤W¶Kªþ¥ó¡A¨S¦³¥ô¦ó¤ÏÀ³¥X¨Ó¡C
§@ªÌ: shuo1125    ®É¶¡: 2023-12-21 14:30

¦^´_ 7# 198188
¦]¬°§A­ìªí®æ¬O¦b³æ¤¸®æK1,N1µ¥¦a¤è¾Þ§@....©Ò¥H¼y¤j°w¹ï§A»Ý¨D¼gªº¡A
¨Ì­ì¥»ªí®æ¶ñ¤J³f¸¹¡A·í¤u§@ªíÅܤƮɡA¤º®e´N·|ÅܰʤF....¬Ý¹Ï¤K¡C
-----------------------------------
[attach]37168[/attach]
§@ªÌ: singo1232001    ®É¶¡: 2023-12-21 18:37

¦^´_ 7# 198188


    ¤§«eªº¥N½X ¬O¦bk1¥´¦r´N·|ª½±µÄ²µo¾Þ§@

­Y·Q­n¥´§¹¦A¤â°Ê°õ¦æ¥Î¦p¤U¥N½X
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
§@ªÌ: 198188    ®É¶¡: 2023-12-22 09:14

¦^´_ 9# singo1232001


    ÁÂÁ¡I¯à¤£¯à¦³ª`ÄÀ¤@¤U¡A³o¼Ë§Ú¥i¥H§ó¦n²z¸Ñ¨C¥y¥Î·N¡A¦pªG®æ¦¡©ÎªÌªí®æ¦³ÅÜ°Ê¡A¤]¥i¥H¦Û¤v°µ¥X­×§ï¡C:handshake
§@ªÌ: singo1232001    ®É¶¡: 2023-12-22 17:12

GPT4
¦b±z´£¨Ñªº¹Ï¤ù¤¤¡A¥ª°¼¬O¤@­Ó¸ê®Æ¦Cªí¡A¥k°¼¬O¤@­Ó¶×Á`µ²ªG¡C³o­Ó¦Cªí¦ü¥G¬O¥Î©ó°l踪®w¦s©Î³f¬[¤Wªºª««~¡C³f¬[§Ç¸¹¦b¬Y¨Ç¦æ¬O¦X¨Öªº¡A¥B¦X¨Öªº¦æ¼Æ¤£©T©w¡C±z§Æ±æ¯à°÷¹³¥kÃä®i¥Üªº¨º¼Ë¡A³q¹L¿é¤J³f¬[§Ç¸¹¡Aª½±µ±N¬ÛÃö¸ê®ÆÂಾ¨ì¥k°¼¡C

´£¨Ñªº¥N½X¬O¤@­Ó Excel §»¡A¥Î©ó³B²z³oºØÃþ«¬ªº¸ê®ÆÂಾ¡C¥N½X¶i¦æ¤F¦p¤U¾Þ§@¡G

½T©w¼Æ¾Ú½d³ò¡C
²M°£¥Ø¼Ð½d³ò¡]K2:U1000¡^ªº¤º®e¡C
¹M¾ú¯S©wªº¦C¡]K1, N1, Q1, T1¡^¡A³o¨Ç¦C¦ü¥G¬O¥Î¨Ó«ü©w¤£¦Pªº³f¬[§Ç¸¹¡C
¹ï©ó¨C­Ó«ü©wªº³f¬[§Ç¸¹¡A¥N½X´M§ä¥ª°¼¦Cªí¤¤©Ò¦³¤Ç°tªº¦æ¡C
±N¤Ç°t¦æ¤¤ªº¸ê®Æ½Æ»s¨ì¥k°¼ªº¬ÛÀ³¦ì¸m¡C
­pºâ¨Ã²K¥[Á`¼Æ¨ì³Ì«á¡C
ª`ÄÀ±zªº¥N½X¡A¥H«K©ó²z¸Ñ¨C¤@³¡¤Àªº¥\¯à¡G

vb
Copy code
Sub test()
    ' Àò¨ú³Ì«á¤@¦æªº¦æ¸¹
    r = Cells(Rows.Count, 1).End(xlUp).Row
    ' ²M°£K2¨ìU1000½d³ò¤ºªº©Ò¦³¤º®e
    Range("k2:u1000").ClearContents
   
    ' ¹M¾úK1, N1, Q1, T1³o¥|¦Cªº³æ¤¸®æ
    For Each Z In Range("K1,N1,Q1,T1")
        t5 = 0: t4 = 0 ' ªì©l¤ÆÅܶq
        ' ¦pªG·í«e³æ¤¸®æ¦³­È
        If Z.Value <> "" Then
            ' ¹M¾ú2¨ì³Ì«á¤@¦æ
            For i = 2 To r
                ' ¦pªG·í«e¦Cªº­È»PC¦Cªº­È¬Û¦P¡]¤£°Ï¤À¤j¤p¼g¡^
                If UCase(Z.Value) = UCase(Cells(i, 3).Value) Then
                    ' ¹M¾ú¦X¨Ö°Ï°ìªº¨C¤@¦æ
                    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
            
            ' ¤Á³Î¦r²Å¦êÀò¨ú¸ê®Æ¼Æ²Õ
            a4 = Split(Mid(t4 & "¡¶Total", 3, 9999), "¡¶")
            a5 = Split(Mid(t5 & "¡¶" & tsum, 3, 9999), "¡¶")
            
            ' ¦pªG¼Æ²Õ¦³¸ê®Æ
            If UBound(a4) > 0 Then
                ' ±N¼Æ¾Ú¶ñ¥R¨ì«ü©wªº³æ¤¸®æ°Ï°ì
                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
½Ðª`·N¡A³o¬q¥N½X¬O°ò©ó°²©w³f¬[§Ç¸¹¦C¡]C¦C¡^ªº¦X¨Ö°Ï°ì¥i¥H³q¹L .MergeArea.Count ¥¿½TÀò±o¡C¥t¥~¡A³o¬q¥N½X¨Ï¥Î¤F UCase ¨ç¼Æ¨Ó¶i¦æ¤£°Ï¤À¤j¤p¼gªº¤ñ¸û¡C¦pªG±zªº³f¬[§Ç¸¹°Ï¤À¤j¤p¼g¡A«h¤£À³¨Ï¥Î UCase ¨ç¼Æ¡C
§@ªÌ: Andy2483    ®É¶¡: 2023-12-26 10:26

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-12-26 13:50 ½s¿è

ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú
«á¾ÇÂǦ¹©«½m²ß°}¦C»P¦r¨å,½m²ß¤è®×¦p¤U,½Ð¦U¦ì«e½ú«ü±Ð
°õ¦æ«e:
[attach]37180[/attach]

°õ¦æµ²ªG:
[attach]37181[/attach]

Option Explicit
Sub TEST_A()
Dim ¸ê®Æ°}¦C, ªÅ°}¦C(1 To 1000, 1 To 2), ¦r¨åÃöÁä¦r, ¦r¨å, ³f¬[§Ç¸¹, i&, µ²ªG°}¦C
Dim µ²ªG°_©l®æ As Range, µ²ªG°}¦C¦C¸¹&
Set ¦r¨å = CreateObject("Scripting.Dictionary")
ActiveSheet.UsedRange.Offset(, 10).EntireColumn.Delete
Set µ²ªG°_©l®æ = [K1]
¸ê®Æ°}¦C = Range([E2], [D65536].End(xlUp)(2, 0))
For i = 1 To UBound(¸ê®Æ°}¦C) - 1
   If ³f¬[§Ç¸¹ <> ¸ê®Æ°}¦C(i, 1) Then ³f¬[§Ç¸¹ = ¸ê®Æ°}¦C(i, 1)
   If ¸ê®Æ°}¦C(i + 1, 1) = "" Then ¸ê®Æ°}¦C(i + 1, 1) = ³f¬[§Ç¸¹
   ³f¬[§Ç¸¹ = ¸ê®Æ°}¦C(i, 1): µ²ªG°}¦C = ¦r¨å(³f¬[§Ç¸¹): µ²ªG°}¦C¦C¸¹ = ¦r¨å(³f¬[§Ç¸¹ & "/r")
   If Not IsArray(µ²ªG°}¦C) Then µ²ªG°}¦C = ªÅ°}¦C
   µ²ªG°}¦C¦C¸¹ = µ²ªG°}¦C¦C¸¹ + 1
   µ²ªG°}¦C(µ²ªG°}¦C¦C¸¹, 1) = ¸ê®Æ°}¦C(i, 2): µ²ªG°}¦C(µ²ªG°}¦C¦C¸¹, 2) = ¸ê®Æ°}¦C(i, 3)
   ¦r¨å(³f¬[§Ç¸¹ & "/r") = µ²ªG°}¦C¦C¸¹: ¦r¨å(³f¬[§Ç¸¹) = µ²ªG°}¦C
Next
For Each ¦r¨åÃöÁä¦r In ¦r¨å.keys
   If Not IsArray(¦r¨å(¦r¨åÃöÁä¦r)) Then GoTo V01
   µ²ªG°_©l®æ = ¦r¨åÃöÁä¦r
   With µ²ªG°_©l®æ(2, 1).Resize(¦r¨å(¦r¨åÃöÁä¦r & "/r"), 2)
      .Value = ¦r¨å(¦r¨åÃöÁä¦r)
      .Borders.LineStyle = 1
      .Cells(.Count + 1) = "Total"
      .Cells(.Count + 2) = "=SUM(" & .Columns(2).Address & ")"
   End With
   Set µ²ªG°_©l®æ = µ²ªG°_©l®æ(, 4)
V01: Next
End Sub
§@ªÌ: 198188    ®É¶¡: 2023-12-29 11:15

¦^´_ 11# singo1232001
·PÁª`ÄÀ¡A½Ð°Ý    ¡¶¬O¤°麽¥Î³~¡H§Ú¨C¦¸¿é¤JÅܦ¨¶Ã½X¡A¬O§_¥i¥H§ó§ï¨ä¥L¡H
§@ªÌ: singo1232001    ®É¶¡: 2023-12-29 14:42

¦^´_ 13# 198188


    ¤Á³Î°Ï¹j¥Î¦Ó¤w
¥i¯à¬Obig5 Âàutf-8²§±`
§â¤T¨¤«¬ §ï¦¨¨â­Ó¡F¡F¦n¤F
§@ªÌ: 198188    ®É¶¡: 2023-12-29 14:51

¦^´_ 14# singo1232001


   ÁÂÁ¡C
¦pªG·Qª½±µ©â¨ú¸ÓÀx¦s®æ内§t¦³SR¦r²´¡AµM«á©â¥XSR¤Î«á­±¥|­Ó¼Æ­È¡A¨Ò¦pSR2003 ¤Î SR2002 ¡A³o¥y¦p¦ó¥Îµ{¦¡ªí¹F¡H
¤W¬[ SR2003(02F单¤¸)
¤U¬[ SR2002(02F单¤¸)
§@ªÌ: 198188    ®É¶¡: 2023-12-29 15:25

¦^´_ 12# Andy2483

¨ä¹ê§Ú¥D­nªº¥Øªº¬O±Nªþ¥ó¡A®Ú¾Ú BF ùتº±ÆÂdªí¡A»s³y¦¨BF#001-009ªº±ÆÂdªí¡C
¦pªG§Ú·Q®Ú¾Ú¤U­±±ø¥óŪ¨ú¸ê®Æ¡C
¦pªGÀx¦s®æ内¦³¡¨SR¡§, ¤@Äæ´N©â¨úSR+¦Z4­Ó¼Æ­È ¡A¥t¤@Äæ´N©â¨ú¡]¡^¬A¸¹内ªº内®e
¦pªGÀx¦s®æ内¨S¦³¡§SR¡¨, ¤@Äæ´N©â¨ú²Ä¤@­ÓªÅ®æ«eªº¼Æ­È ¡A¥t¤@Äæ´N©â¨ú²Ä¤@­ÓªÅ®æ¦Zªº¼Æ¦r¡C

Á|¨Ò
¤W¬[ SR2005(02F单¤¸)
¤W¬[ SR2023(03F单¤¸)
2310100528 BF GL3A-001 LAMINATED GLASS UNIT =3PCS
2311160356 AA REPLACEMENT INSULATED GLASS=1pc
2311181293 AA REPLACEMENT INSULATED GLASS=1pc

²Ä¤@Äæ                                ²Ä¤GÄæ
SR2005                              02F单¤¸
SR2023                              03F单¤¸
2310100528                     BF GL3A-001 LAMINATED GLASS UNIT =3PCS
2311160356                     AA REPLACEMENT INSULATED GLASS=1pc
2311181293                     AA REPLACEMENT INSULATED GLASS=1pc
§@ªÌ: 198188    ®É¶¡: 2023-12-29 15:54

¦^´_ 9# singo1232001

¦]爲­nªº¼Æ¾Ú¼Æ¶q¤£©T©w¡C¦pªG¬O·Qª½±µ§âCÄ檺³f¬[§Ç¸¹¡A¥þ³¡¦Û°ÊŪ¨ú¡A¤£¬O¦Û¤v¿é¤J³f¬[§Ç¸¹©O¡H
Á|¨Ò1
SR2000                         SR2000     SR2001     SR2002      SR2003
SR2001
SR2002
SR2003

Á|¨Ò2
SR2000                         SR2000     SR2001     SR2002    SR2003     SR2004    SR2005
SR2001
SR2002
SR2003
SR2004
SR2005
§@ªÌ: Andy2483    ®É¶¡: 2023-12-29 16:16

¦^´_ 16# 198188

1.45HQ = 45'°ªÂd, ¨S¦³ 45HQªºÂd ¤]¼Ð 45'°ªÂd ³o¼Ë¨S¦³³W«h

2.[E31],[E45],[E59]=4.8m ¦bµ²ªGªí®ø¥¢¤F,³W«h¤£©ú
§@ªÌ: 198188    ®É¶¡: 2023-12-29 16:41

¥»©«³Ì«á¥Ñ 198188 ©ó 2023-12-29 16:43 ½s¿è

[attach]37203[/attach][attach]37201[/attach]
¦^´_  198188

1.45HQ = 45'°ªÂd, ¨S¦³ 45HQªºÂd ¤]¼Ð 45'°ªÂd ³o¼Ë¨S¦³³W«h

2.[E31],[E45],[E59]=4 ...
Andy2483 µoªí©ó 2023-12-29 16:16


¤W­±ªº¸ê®Æ¤£»Ý­n¡A¥u¬O·Q¹Ï¤@ùتº¸ê®Æ¶Ç¤J¹Ï¤Gùتºªí®æ内
§@ªÌ: 198188    ®É¶¡: 2023-12-30 09:05

¥»©«³Ì«á¥Ñ 198188 ©ó 2023-12-30 09:07 ½s¿è

[attach]37209[/attach]¦^´_ 18# Andy2483

§Ú·Q¤F¤@­Ó³W«h¡G
­º¥ýBF sheet ¬OŪ¨úªº¸ê®Æ¡ADemo ¬O¤@­Ó©T©wªº¼ÒªO¡C
1. ®Ú¾ÚBF ªº A Ä檺¼Æ¾Ú¡AùØ­±²{¦b¦³#001 - #009 ¡A¨º麽´N½Æ»s9­ÓDemo, Sheet Name «ö·Ó#001-#009 ¨Ó©R¦W¡C ¦p ¡§ Result BF ¤uµ{#001¡¨¡A¡§ Result BF ¤uµ{#002¡¨¡A¡§ Result BF ¤uµ{#003¡¨¦p¦¹Ãþ±À¡C
2. Ū¨úBF ùØ­±¬ÛÀ³ªº¸ê®Æ¨ì¡A¡§ Result BF ¤uµ{#001¡¨¡A¡§ Result BF ¤uµ{#002¡¨¡A¡§ Result BF ¤uµ{#003¡¨µ¥sheet
³fÂd¸¹¡GBF¤uµ{#001¡A BF¤uµ{#002¡A BF¤uµ{#003¡A BF¤uµ{#004 ¡C¡C¡C
³fÂd¤Ø¤o¡G45HC, 40HC, 20GP ®Ú¾ÚAÄæ¸ê®Æ¨ÓŪ¨ú
¥X³f¤é´Á¡G®Ú¾ÚAÄæ¸ê®Æ¨ÓŪ¨ú
¨îªí¤é¡G°õ¦æVBA·í¤Ñ
ÄæC - ÄæD ©â¨úÄæB ùØ­±ªº¸ê®Æ
ÄæE -  ÄæF  ©â¨úÄæC ùØ­±ªº¸ê®Æ
ÄæG - ÄæH ©â¨úÄæD ùØ­±ªº¸ê®Æ
Äæ I -  Äæ J  ©â¨úÄæE ùØ­±ªº¸ê®Æ
ÄæK -  ÄæL  ©â¨úÄæF ùØ­±ªº¸ê®Æ
§@ªÌ: Andy2483    ®É¶¡: 2023-12-30 14:51

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-12-30 14:53 ½s¿è

¦^´_ 20# 198188
ÁÂÁ«e½ú¦A¦^´_·s½d¨Ò,¥H¤U¬O¾Ç²ßªº¤è®×,½Ð«e½ú°Ñ¦Ò
Option Explicit
Sub TEST()
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$
For i = Worksheets.Count To 3 Step -1: Worksheets(i).Delete: Next
Set Z = CreateObject("Scripting.Dictionary")
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 = Left(A(0), 8): 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
   With Sheets(2).Copy(after:=Worksheets(Sheets.Count))
      ActiveSheet.Name = "Result " & A
      [A1].Resize(UBound(Z(A)), UBound(Z(A), 2)) = Z(A)
   End With
A01: Next
Application.Goto Sheets(1).[A1]
End Sub
§@ªÌ: 198188    ®É¶¡: 2024-1-2 13:53

¦^´_ 21# Andy2483


    §Ú§â¤¤¤åÅܦ¨­^¤å¡A¦ý¬O¹B¦æVBA¨S¦³¤°麽®ÄªG¥X¨Ó¡C¥i¥HÀ°§Ú¬Ý¬Ý­þùؽĶ¿ù¤F¶Ü¡H
§@ªÌ: 198188    ®É¶¡: 2024-1-2 17:58

¦^´_ 21# Andy2483


    ²o¯A¨ì¶Ã½X¡A¯à¤£¯à±NSHEET ¦W©R¦W¬°¡§#¡¨¶}©l¥[«á­±¤T­Ó¼Æ¦r¡C
¨Ò¦p
#001
#002
#003
§@ªÌ: Andy2483    ®É¶¡: 2024-1-2 18:55

¦^´_ 23# 198188


    Q = Left(A(0), 8)  ¸m´«¬°   Q = Mid(A(0),5,4)
§@ªÌ: 198188    ®É¶¡: 2024-1-3 08:08

¦^´_ 24# Andy2483


     §ï¤F¤§«á¦b³o­Ó¦ì¸m¥d¦í¤F
With Sheets(2).Copy(after:=Worksheets(Sheets.Count))
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 08:49

¦^´_ 25# 198188


    ¸Õ¹L23#½d¨Ò Q = Mid(A(0),5,4) °õ¦æ¨S°ÝÃDªº
¦A¸Õ¸Õ¬Ý©Î ¦pªG±ø¥ó¤£¤@¼Ë,½Ð¦A¤W¶Ç½d¨Ò
§@ªÌ: 198188    ®É¶¡: 2024-1-3 08:56

¦^´_ 26# Andy2483


    §ï¤F¤§«á¡A¦b¨º­Ócopy sheet ªº¦ì¸m¥d¦í¤F­pºâsheet ¬Oªº¦ì¸m
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 09:05

¦^´_ 27# 198188


    ¤U¸ü¨Ó°õ¦æ¬O¥¿±`ªº,¤£ª¾¹D¤°»ò­ì¦],½Ð¸ô¹Lªº«e½ú­ÌÀ°À°¦£
§@ªÌ: 198188    ®É¶¡: 2024-1-3 09:13

[attach]37224[/attach][attach]37225[/attach]¦^´_ 28# Andy2483


    §ÚºI¹Ï¤F¡A§A¬Ý¬Ý¬O¤£¬OTªº¼Æ­È¶Ã½Xªº°ÝÃD¡H
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 09:17

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2024-1-3 09:26 ½s¿è

¦^´_ 29# 198188


    https://answers.microsoft.com/zh ... 6-8cbe-c767e095fade

´«¥x¹q¸£¸Õ¸Õ¬Ý
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 09:42

¦^´_ 29# 198188


   ²q¶Ã½X¦³Ãö,¸Õ¸Õ¬Ý¦p¤U
[attach]37226[/attach]

­×§ï¬°¦p¤U¦A¸Õ¸Õ
[attach]37227[/attach]
§@ªÌ: 198188    ®É¶¡: 2024-1-3 10:12

¦^´_ 31# Andy2483


    §Ú¤@§ï¡Aexcel ´N¦Û°ÊÃö³¬¡C:'(  ¸Õ¤F«Ü¦h¦¸¡A³£¬O³o¼Ë
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 10:16

¦^´_ 32# 198188


    §â¸ê®Æ»PVBA·h¨ì·s¶}Àɮ׸ոլÝ
§@ªÌ: 198188    ®É¶¡: 2024-1-3 10:31

¦^´_ 33# Andy2483


    ­«½Æ¤£Â_¸Õ¤F´X¤Q¹M¡A²×©ó¥i¥H¤F¡CÁÂÁ¡C
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 10:38

¦^´_ 34# 198188


    ÁÂÁ«e½ú¦^´_
¦pªG¦³´ú¸Õµ²½×©Î¸Ñ¨M¤èªk¥i¥H¤À¨É¤@¤U
§@ªÌ: 198188    ®É¶¡: 2024-1-3 10:52

¦^´_ 35# Andy2483


    ®Ú¾Ú§A»¡ªº¨º¼Ë¡A¶Ã½X´«¦¨­^¤å¡A³o¼Ë´N¥i¥H¤F
¥t¥~ÁÙ¦³¤@­Ó¤pªº°ÝÃD
¯à¤£¯à¿W¥ß°µ¤@­ÓVBA §â¥þ³¡sheets ùØ­±ªº¤å¦r«ö·Óªþ¥óTranslate³o­Óªíùتº¸ê®Æ¶i¦æ¨ú¥N¡A
Á|¨Ò
±ÆÂdªí        Container Maps
³fÂd¸¹        Project Name
³fª«        Description
³fÂd¤Ø¤o        Container Size
¥X³f¤é´Á        Ex-Work Date
Âd¸¹        Container No
¨îªí¤H        Prepared By
¨îªí¤é        Date
¤W¬[        Upper Crate
¤U¬[        Lower Crate
¨®ÀY        Container Head
¬[ªø        Shelf Length

¦pªGsheet ùØ­±¦³¡§±ÆÂdªí¡¨ªº¦r²´¡A¨º麽°õ¦æµ{¦¡¦Z¡A¡§Container Maps¡¨ ¨ú¥N¡§±ÆÂdªí¡¨
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 10:58

¦^´_ 36# 198188


    ¿ý»s¥¨¶°´N¥i¥H°µ,½Ð¥ý¸Õ¸Õ¬Ý
¦A¥H°Æµ{¦¡ªº¤è¦¡±Æ¤J¥Dµ{¦¡¸Ì°õ¦æ
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 13:58

¦^´_ 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
§@ªÌ: 198188    ®É¶¡: 2024-1-3 14:33

¦^´_ 38# Andy2483


   §Ú¦Û¤v¥[¤F½Ķªºµ{¦¡¡A¦ý¬O§Ú¦bexcel¥[´¡¤@­ÓSHEET ¦Z¡A°õ¦æ§Aªº¨º­ÓVBA¡A·|§R°£§Ú¥[´¡ªº¨º­ÓSHEET. ½Ð°Ý¬O­þùتº°ÝÃD¡H
§@ªÌ: Andy2483    ®É¶¡: 2024-1-3 14:55

¦^´_ 39# 198188


For i = Worksheets.Count To 3 Step -1
´«¦¨
For i = Worksheets.Count To 4 Step -1

PS:
¸Õ¸Õ#38
§@ªÌ: 198188    ®É¶¡: 2024-1-3 16:04

¦^´_ 40# Andy2483


    ¥i¥H¤F¡AÁÂÁ¡C¤§«e§Ú§ï¹L¡A¦ý¬O§ï§¹¦Z«ö°õ¦æVBA®É¨S¤ÏÀ³¡A«á¨Ó­«½Æ´X¹M¡A§ï§¹¦sÀx¦AÃö³¬EXCEL, ¦A­«·s¥´¶}¡A¤~¯à¦¨¥\¡C




Åwªï¥úÁ{ ³Â»¶®a±Ú°Q½×ª©ª© (http://forum.twbts.com/)