- ©«¤l
- 4901
- ¥DÃD
- 44
- ºëµØ
- 24
- ¿n¤À
- 4916
- ÂI¦W
- 62
- §@·~¨t²Î
- Windows 7
- ³nÅ骩¥»
- Office 20xx
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥x¥_
- µù¥U®É¶¡
- 2010-4-30
- ³Ì«áµn¿ý
- 2025-3-13
               
|
¦^´_ 3# luke
¤@¯ë¼Ò²Õ- Public Dic As Object
- Sub Auto_Open()
- Dim Sht(), A As Range
- Set Dic = CreateObject("Scripting.Dictionary")
- Sht = Array("Sheet2", "Sheet3")
- For Each sh In Sht
- With Worksheets(sh)
- For Each A In .Range(.[A1], .[A1].End(xlDown))
- Select Case sh
- Case "Sheet2"
- Dic(A.Value) = Array(A.Offset(, 1).Value, A.Offset(, 2).Value)
- Case "Sheet3"
- Dic(A.Value) = Array(A.Offset(, 1).Value, A.Offset(, 2).Value, A.Offset(, 3).Value)
- End Select
- Next
- End With
- Next
- End Sub
½Æ»s¥N½X Sheet1¼Ò²Õ- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Count > 1 Then Exit Sub
- If IsEmpty(Dic(Target.Value)) Or Target.Count > 1 Then Exit Sub
- s = IIf(Target.Column = 1, 2, IIf(Target.Column = 4, 3, 0))
- k = UBound(Dic(Target.Value)) + 1
- If s <> k Then Exit Sub
- Application.EnableEvents = False
- Target.Offset(, 1).Resize(, k).Value = Dic(Target.Value)
- Application.EnableEvents = True
- End Sub
½Æ»s¥N½X ¦sÀÉ«áÃö³¬¦A«·s¶}±ÒÀÉ®× |
|