ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] Àx¦s®æ¤º¦³¨ç¼Æ¡A¦ý·Q­n¤â°Ê¿é¤J®É·|Åý­ì¦³¨ç¼Æ¤£¨£

Àx¦s®æ¤º¦³¨ç¼Æ¡A¦ý·Q­n¤â°Ê¿é¤J®É·|Åý­ì¦³¨ç¼Æ¤£¨£
ÁÙ¦³¥æ¤e¤ñ¹ïªº°ÝÃD
½Ð°Ý­n«ç»ò§ï¤~¦n
§Æ±æ¥ÎVBA(¨ä ...
j88141 µoªí©ó 2014-4-4 15:21

Module1 :
  1. Public v11, v12, v21, v22
½Æ»s¥N½X
Workbook :
  1. Private Sub Workbook_Open()
  2.   Dim vA
  3.   Dim rSou As Range, rTar As Range
  4.   
  5.   Set v11 = CreateObject("Scripting.Dictionary")
  6.   Set v12 = CreateObject("Scripting.Dictionary")
  7.   Set v21 = CreateObject("Scripting.Dictionary")
  8.   Set v22 = CreateObject("Scripting.Dictionary")
  9.   
  10.   Set rSou = Sheets("¤u§@ªí1").Range("A:A").SpecialCells(xlCellTypeConstants)
  11.   For Each rTar In rSou
  12.     If rTar <> "" And Left(rTar, 2) <> "¬P´Á" Then v11(CStr(rTar)) = 1
  13.   Next
  14.   
  15.   Set rSou = Sheets("¤u§@ªí1").Range("C:C").SpecialCells(xlCellTypeConstants)
  16.   For Each rTar In rSou
  17.     If rTar <> "" And Left(rTar, 2) <> "¬P´Á" Then v12(CStr(rTar)) = 1
  18.   Next

  19.   Set rSou = Sheets("¤u§@ªí2").Range("A:A").SpecialCells(xlCellTypeConstants)
  20.   For Each rTar In rSou
  21.     If rTar <> "¥N¸¹" Then
  22.       v21(CStr(rTar)) = rTar.Offset(, 1)
  23.       v22(CStr(rTar)) = rTar.Offset(, 2)
  24.     End If
  25.   Next
  26. End Sub
½Æ»s¥N½X
¤u§@ªí3 :
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.   Dim bNFind As Boolean
  3.   
  4.   With Target
  5.     If .Count = 1 Then
  6.       If .Row = 1 Then ' A1 ©Î B1
  7.         bNFind = True
  8.         Select Case .Column
  9.         
  10.         Case 1
  11.           If v11.exists(CStr(v22(CStr(Target)))) Then
  12.             .Offset(1) = v21(CStr(Target))
  13.             .Offset(2) = v22(CStr(Target))
  14.             bNFind = False
  15.           End If

  16.         
  17.         Case 2
  18.           If v12.exists(CStr(v22(CStr(Target)))) Then
  19.             .Offset(1) = v21(CStr(Target))
  20.             .Offset(2) = v22(CStr(Target))
  21.             bNFind = False
  22.           End If
  23.         
  24.         Case Else
  25.            bNFind = False
  26.            
  27.         End Select
  28.         
  29.         If bNFind Then
  30.           MsgBox v22(CStr(Target)) & " ¨S¦³±Æ¯Z"
  31.           .Resize(3).ClearContents
  32.           .Select
  33.         End If
  34.       End If
  35.     End If
  36.   End With
  37. End Sub
½Æ»s¥N½X
¬¡­¶Ã¯1-a.zip (19.91 KB)

TOP

        ÀR«ä¦Û¦b : ¤@¥y·Å·xªº¸Ü¡A´N¹³©¹§O¤H¨­¤WÅx­»¤ô¡A¦Û¤v·|ªg¨ì¨â¤Tºw¡C
ªð¦^¦Cªí ¤W¤@¥DÃD