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

[µo°Ý] ¬d¸ß¸ê®Æ¨Ã«Ø¥ß¾ðª¬¸ê®Æ

[µo°Ý] ¬d¸ß¸ê®Æ¨Ã«Ø¥ß¾ðª¬¸ê®Æ

¦U¦ì¥ý¶i

§Ú·Q±N ¸ê®Æ«ö¤U«ö¶s

´N¥h¬d¸ß ¨â­Ó¤u§@ªí

¨Ã±Nµ²ªG¥H¾ðª¬¸ê®Æ¤è¦¡§eÄm

¬d¸ß¶µ¥Ø·|¦³­«½Æ¡A³£­n¦C¥X

"¬d¸ß"¤u§@ªí¹s¥ó¥i¯à·|¶W¹L10¶µ

"µ²ªG"ªº¶µ¥Ø±Æ§Ç¶·¸ò"¬d¸ß"¬Û¦P

¾ðª¬¸ê®Æ«Ø¥ß.tar (17 KB)

¥»©«³Ì«á¥Ñ singo1232001 ©ó 2021-7-4 15:40 ½s¿è

¦^´_ 1# qaqa3296

¸É¥R °ÝÃD¤¤ ­ì©lµ²ªG½d¨ÒªºAA007 ¦n¹³¦³²§±` ½Ð½T»{¤@¤U

¾ðª¬¸ê®Æ«Ø¥ß v1.zip (27.25 KB)

TOP

¦^´_ 2# singo1232001

·PÁ¦^´_¡A¤]µo²{§Ú¥´½d¨Ò®É¡A¬Ý¿ù«Ø¥ß¿ù»~¸ê®Æªº°ÝÃD

¤@ª½¥H¨Ó³£¬O¤@ª½¤H¤u½Æ»s¶K¤W¡A¯uªº«Ü®e©ö¥X¿ù

¸ê®Æ¥¿½T¤Ó·PÁ¤F

TOP

¦^´_ 1# qaqa3296

½Ð´ú¸Õ¬Ý¬Ý¡AÁÂÁ¡C

Sub test()
Dim Arr, Ar, Brr(1 To 10000, 1 To 4), xD, T, i&, j%, n%
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([¬d¸ß!K1], [¬d¸ß!A65536].End(3))
For i = 2 To UBound(Arr)
    For j = 2 To UBound(Arr, 2)
        If Arr(i, j) <> "" Then Ar = Ar & "," & Arr(i, j)
    Next
    xD(Arr(i, 1) & "") = Mid(Ar, 2): Ar = ""
Next
Arr = Range([¬d¸ß2!B1], [¬d¸ß2!A65536].End(3))
For i = 2 To UBound(Arr): xD(Arr(i, 1) & "") = Arr(i, 2): Next
Arr = Range([¸ê®Æ!A3], [¸ê®Æ!B65536].End(3))
For i = 2 To UBound(Arr)
    T = Arr(i, 1): n = n + 1
    If xD.Exists(T & "") Then
        Brr(n, 1) = T: Brr(n, 2) = Arr(i, 2)
        Ar = Split(xD(T & ""), ",")
        For j = 0 To UBound(Ar)
            n = n + 1: Brr(n, 3) = Ar(j)
            Brr(n, 4) = xD(Brr(n, 3) & "")
        Next
    Else
        Brr(n, 1) = T: Brr(n, 2) = Arr(i, 2)
    End If
Next
Sheets("µ²ªG").Range("A2").Resize(n, 4) = Brr
End Sub

TOP

¦^´_ 4# samwang


·PÁ¦^´_

´ú¸Õ«á

¦³®É·|¤Ö¦C«e¨â¶µ¥Ø(¹ê»Ú¥Î1000¦hµ§¸ê®Æ®É·|¥X²{¡A¤£²M·¡­þÃä¥X°ÝÃD¥i¯à¬d¸ß¤ºªº¸ê®Æ¦³°ÝÃD?)

¦³®É·|¥X¿ù¡A¦ý§Ú¬Ý¤£¥X­þÃ䦳°ÝÃD?

´M§äªº¶µ¥Ø¤Ó¤Ö?

©ñ¤W¥X¿ùªºÀÉ®×

¾ðª¬¸ê®Æ«Ø¥ßV3.tar (32.5 KB)

TOP

¦^´_ 5# qaqa3296

¸ê®Æsheetsªº¸ê®Æ¦ì¸m»P­ì¨ÓÀɮתº¦ì¸m¤£¤@¼Ë¡A­×§ï¦p¤U¡A½Ð¦A´ú¸Õ¬Ý¬Ý¡AÁÂÁ¡C

Sub test2()
Dim Arr, Ar, Brr(1 To 10000, 1 To 4), xD, T, i&, j%, n%
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([¬d¸ß!K1], [¬d¸ß!A65536].End(3))
For i = 2 To UBound(Arr)
    For j = 2 To UBound(Arr, 2)
        If Arr(i, j) <> "" Then Ar = Ar & "," & Arr(i, j)
    Next
    xD(Arr(i, 1) & "") = Mid(Ar, 2): Ar = ""
Next
Arr = Range([¬d¸ß2!B1], [¬d¸ß2!A65536].End(3))
For i = 2 To UBound(Arr): xD(Arr(i, 1) & "") = Arr(i, 2): Next
Arr = Range([¸ê®Æ!A1], [¸ê®Æ!B65536].End(3))
For i = 2 To UBound(Arr)
    T = Arr(i, 1): n = n + 1
    If xD.Exists(T & "") Then
        Brr(n, 1) = T: Brr(n, 2) = Arr(i, 2)
        Ar = Split(xD(T & ""), ",")
        For j = 0 To UBound(Ar)
            n = n + 1: Brr(n, 3) = Ar(j)
            Brr(n, 4) = xD(Brr(n, 3) & "")
        Next
    Else
        Brr(n, 1) = T: Brr(n, 2) = Arr(i, 2)
    End If
Next
Sheets("µ²ªG").Range("A2").Resize(n, 4) = Brr
End Sub

TOP

¦^´_ 6# samwang

¥\¯à¥¿±`¤F

·PÁÂsamwang´£¨Ñ¨ä¥L¼gªkµ¹¤j®a¾Ç²ß

TOP

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

°õ¦æ«e:


°õ¦æµ²ªG:



Option Explicit
Sub TEST_1()
Dim Brr, Crr(1 To 100, 1 To 4), Y, T$, R&, i&, j%, Sh(4)
Set Y = CreateObject("Scripting.Dictionary")
For i = 1 To 4: Set Sh(i) = Sheets(i): Next
Brr = Range(Sh(2).[K2], Sh(2).[A65536].End(3))
For i = 1 To UBound(Brr): Y(Brr(i, 1)) = i: Next: Sh(2) = Brr
Brr = Range(Sh(3).[B2], Sh(3).[A65536].End(3))
For i = 1 To UBound(Brr): Y(Brr(i, 1) & "") = Brr(i, 2): Next
Brr = Range(Sh(1).[B2], Sh(1).[A65536].End(3))
For i = 1 To UBound(Brr)
   R = R + 1: T = Brr(i, 1): Crr(R, 1) = T: Crr(R, 2) = Brr(i, 2)
   For j = 2 To 255
      If Sh(2)(Y(T), j) = "" Then Exit For Else: R = R + 1
      Crr(R, 3) = Sh(2)(Y(T), j): Crr(R, 4) = Y(Crr(R, 3) & "")
   Next
Next
Sh(4).[A2].Resize(R, 4) = Crr
Set Y = Nothing: Erase Brr, Crr, Sh
End Sub
¥Î¦æ°Ê¸Ë¸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