- ©«¤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
        
|
¥»©«³Ì«á¥Ñ GBKEE ©ó 2014-10-15 09:19 ½s¿è
¦^´_ 3# luhpro
½Ð°Ñ¦Ò¤@¤U- Option Explicit
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim bNFind As Range
- With Target
- If .Count = 1 Then
- If .Row = 1 And .Column <= 7 Then ' A1 ©Î B1(¬P´Á¤@ ¨ì ¬P´Á¤é)
- .Range("A2").Resize(2) = ""
- .Range("A3").Validation.Delete
- If .Value = "" Then Exit Sub
- Application.EnableEvents = False
- Set bNFind = Sheets("¤u§@ªí2").Range("A:A").Find(.Value, LookAT:=xlWhole)
- If Not bNFind Is Nothing Then
- .Offset(1) = bNFind.Range("B1")
- If ±Æ¯Z(bNFind.Range("C1"), Target) Then .Offset(2) = bNFind.Range("C1") & vbLf & "¨S¦³±Æ¯Z"
- End If
- Application.EnableEvents = True
- End If
- End If
- End With
- End Sub
- Private Function ±Æ¯Z(ByVal T1 As Range, T2 As Range) As Boolean
- Dim bNFind As Range, S As String
- With Sheets("¤u§@ªí1")
- Set bNFind = .Columns(T2.Column).Find(T1, LookAT:=xlWhole)
- If Not bNFind Is Nothing Then
- For Each bNFind In .Columns(T2.Column).SpecialCells(xlCellTypeConstants)
- If bNFind.Row > 1 And bNFind <> "" Then
- S = IIf(S <> "", S & "," & bNFind, bNFind)
- End If
- Next
- Else
- ±Æ¯Z = True
- End If
- With T2.Range("A3")
- If Not ±Æ¯Z Then
- .Validation.Add Type:=xlValidateList, Formula1:=S
- .Value = T1
- End If
- End With
- End With
- End Function
½Æ»s¥N½X |
|