- ©«¤l
- 262
- ¥DÃD
- 8
- ºëµØ
- 0
- ¿n¤À
- 280
- ÂI¦W
- 0
- §@·~¨t²Î
- xp
- ³nÅ骩¥»
- Office 2007
- ¾\ŪÅv
- 20
- ©Ê§O
- ¨k
- ¨Ó¦Û
- HK
- µù¥U®É¶¡
- 2015-8-11
- ³Ì«áµn¿ý
- 2024-11-19

|
§R¥h¤½¦¡,¨Ï¥ÎVBA·|§ó§Ö¡G- Sub zz()
- Dim a, d As Object, b(), n&
- a = Sheets(1).Range("a2:d" & Sheets(1).[a1048576].End(3).Row)
- Set d = CreateObject("scripting.dictionary")
- With CreateObject("vbscript.regexp")
- .Pattern = "-\w$"
- For i = 1 To UBound(a)
- If Len(a(i, 3)) = 0 Then a(i, 3) = a(i, 1)
- k = a(i, 3)
- a(i, 3) = .Replace(k, "")
- d(a(i, 3)) = ""
- Next
- k = Join(d.keys, "|")
- .Pattern = k
- a = Sheets(2).[a1].CurrentRegion
- ReDim b(1 To UBound(a), 1 To UBound(a, 2))
- For i = 2 To UBound(a)
- If Len(a(i, 3)) > 0 Then k = a(i, 3) Else k = a(i, 1)
- If .test(k) Then
- n = n + 1
- For j = 1 To UBound(a, 2)
- b(n, j) = a(i, j)
- Next
- End If
- Next
- Sheets(3).[a1].CurrentRegion.Offset(1).Clear
- Sheets(3).[a2].Resize(n, 4) = b
- End With
- End Sub
½Æ»s¥N½X |
-
-
zz.zip
(18.66 KB)
|