½Ð±ÐExcel¨ç¼Æ³]©w(vlook¡Bif)ªº°ÝÃD¡A¨Ã¥B±NÀÉ®×Åܧ󬰫ü©w®æ¦¡
- ©«¤l
- 522
- ¥DÃD
- 36
- ºëµØ
- 1
- ¿n¤À
- 603
- ÂI¦W
- 0
- §@·~¨t²Î
- win xp sp3
- ³nÅ骩¥»
- Office 2003
- ¾\ŪÅv
- 50
- ©Ê§O
- ¨k
- µù¥U®É¶¡
- 2012-12-13
- ³Ì«áµn¿ý
- 2021-7-11
|
¸Õ¸Õ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 |
|
|
|
|
|
|