ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] vlookup¦X¦}ªº¸ê®Æ

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

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


°õ¦æµ²ªG:


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
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 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¤£©ú
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¥»©«³Ì«á¥Ñ 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
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 23# 198188


    Q = Left(A(0), 8)  ¸m´«¬°   Q = Mid(A(0),5,4)
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 25# 198188


    ¸Õ¹L23#½d¨Ò Q = Mid(A(0),5,4) °õ¦æ¨S°ÝÃDªº
¦A¸Õ¸Õ¬Ý©Î ¦pªG±ø¥ó¤£¤@¼Ë,½Ð¦A¤W¶Ç½d¨Ò
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 27# 198188


    ¤U¸ü¨Ó°õ¦æ¬O¥¿±`ªº,¤£ª¾¹D¤°»ò­ì¦],½Ð¸ô¹Lªº«e½ú­ÌÀ°À°¦£
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

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

¦^´_ 29# 198188


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

´«¥x¹q¸£¸Õ¸Õ¬Ý
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 29# 198188


   ²q¶Ã½X¦³Ãö,¸Õ¸Õ¬Ý¦p¤U


­×§ï¬°¦p¤U¦A¸Õ¸Õ
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 32# 198188


    §â¸ê®Æ»PVBA·h¨ì·s¶}Àɮ׸ոլÝ
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 34# 198188


    ÁÂÁ«e½ú¦^´_
¦pªG¦³´ú¸Õµ²½×©Î¸Ñ¨M¤èªk¥i¥H¤À¨É¤@¤U
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¦Y­W¤F­W¡B­WºÉ¤Ü¨Ó¡A¨ÉºÖ¤FºÖ¡BºÖºÉ´d¨Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD