½Ð°Ý¸ê®Æ¤ñ¹ï¥B¹Bºâ¨ì¤u§@ªí¤T
- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 1# enhrulee
¸Õ¸Õ¬Ý- Sub Ex()
- Dim D As Object, DX As Object, Rng As Range
- Set D = CreateObject("SCRIPTING.DICTIONARY") '¤µ¤é³ø»ù ª«¥ó
- Set DX = CreateObject("SCRIPTING.DICTIONARY") '¤µ¤é³ø»ù*¤µ¤é³æ¶q ª«¥ó
- Set Rng = Sheets("¤µ¤é³ø»ù").Range("A2")
- Do While Rng <> "" '¨ú±o ²£«~¤µ¤é³ø»ùª«¥óªº °j°é
- D(Rng.Value) = Rng.Offset(, 1).Value
- Set Rng = Rng.Offset(1) '³]©w¬°©¹¤U¤@¦C
- Loop
- Set Rng = Sheets("¤µ¤Ñ¥æ©ö").Range("A2")
- Do While Rng <> "" '¨ú±o ¤µ¤é²£«~³ø»ù * ¤µ¤Ñ³æ¶q =ª÷ÃB ªº°j°é
- If DX.EXISTS(Rng.Value) Then '¤µ¤é²£«~³æ¶q¤w¥X²{
- DX(Rng.Value) = DX(Rng.Value) + D(Rng.Value) * Rng.Offset(, 1).Value
- Else
- DX(Rng.Value) = D(Rng.Value) * Rng.Offset(, 1).Value
- End If
- 'DX.EXSITS(Rng.Value) ¤µ¤Ñ¥æ©öªº²£«~¦WºÙ¦s¦b
- 'D(Rng.Value) ²£«~ ¤µ¤é³ø»ù
- 'Rng.Offset(, 1).Value ²£«~ ¤µ¤é³æ¶q
- 'DX(Rng.Value) ¤µ¤Ñ³æ¶q*¤µ¤é³ø»ù
- Set Rng = Rng.Offset(1)
- Loop
- With Sheets("¥æ©ö¬ö¿ý")
- If .Range("C1") <> Date Then '¤£¬O·í¤é
- .Columns("C:C").Insert
- .Columns("V:V") = ""
- .Range("C1") = Date
- End If
- Set Rng = .Range("A2")
- Do While Rng <> "" '¨ú±o ¤µ¤Ñ¦³¥æ©ö¬ö¿ý ²£«~ ªº°j°é
- If DX.EXISTS(Rng.Value) Then Rng.Offset(, 2) = DX(Rng.Value)
- '²£«~¤µ¤é¦³¥æ©ö CÄæ¿é¤JÁ`ª÷ÃB
- Rng.Offset(, 1) = "=SUM(" & Rng.Offset(, 2).Resize(1, 20).Address & ")" '
- 'BÄæ¿é¤J¤½¦¡
- Set Rng = Rng.Offset(1)
- Loop
- End With
- End Sub
½Æ»s¥N½X |
|
|
|
|
|
|