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

½Ð±ÐExcel¨ç¼Æ³]©w(vlook¡Bif)ªº°ÝÃD¡A¨Ã¥B±NÀÉ®×Åܧ󬰫ü©w®æ¦¡

¸Õ¸ÕVBA, ½Ð¶K¦b¤u§@ªí"201412-1"(¤£¬OModula1)
Sub test()
    Dim sh As Worksheet
    Dim I As Integer, Lst As Integer
    Dim d, Rng As Range, E, Cnt
    Set d = CreateObject("Scripting.Dictionary")
    Set sh = Sheets("¤u§@ªí1")
    Lst = Range("A" & Rows.Count).End(xlUp).Row
    Set Rng = [A2].Resize(Lst - 1, 1)
    sh.Cells.Clear           '²M°£"¤u§@ªí1"
   
    '½Æ»s¼ÐÃD¨ì"¤u§@ªí1"(¼È©w6Äæ"³f¸¹", ¥i¦Û½Õ³Ì«á¤@­Ó6)
    [A1:B1].Copy sh.[A1]: sh.[B1].Copy sh.[B1].Resize(1, 6)
   
    For Each E In Rng
        d.Item(E.Value) = ""    '¥Î Dictionary ªº¤£­«ÂЩʿz¿ï"¸¹½X"
    Next
    sh.[A2].Resize(d.Count) = Application.Transpose(d.Keys)    '½Æ»s"¤£­«Âи¹½X" ¨ì "¤u§@ªí1"
   
    Set Rng = sh.[A2].Resize(d.Count, 1)
    ReDim Cnt(1 To d.Count) As Integer
    For I = 2 To Lst
        MH = Application.Match(Cells(I, 1), Rng)
        If Application.IsNumber(MH) Then
            Cnt(MH) = Cnt(MH) + 1
            sh.Cells(MH + 1, Cnt(MH) + 1) = Cells(I, 1).Offset(0, 1)
        End If
    Next   
End Sub

TOP

        ÀR«ä¦Û¦b : ¬°¦Û¤v§äÂǤfªº¤H¥Ã»·¤£·|¶i¨B¡C
ªð¦^¦Cªí ¤W¤@¥DÃD