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

[µo°Ý] [¨D§U]¿é¤J¤½¥qªí®æ¦p¦óÁpµ²

[µo°Ý] [¨D§U]¿é¤J¤½¥qªí®æ¦p¦óÁpµ²

¥»©«³Ì«á¥Ñ owen9399 ©ó 2012-2-11 15:33 ½s¿è

½Ð°Ý¦U¦ì¤j¤j:

§Ú¦³ »s§@¤@¥÷ ²©öªº¶i¾P¦s ¤½¥q²M³æ
¦ý¬O ¤£ª¾ ¦p¦ó¨Ï ¥¦­Ìªº¸ê®Æ Ápµ²

¤S ¦A«×³Â·Ð ¦U¦ì°ª¤â

¸Ô²Ó¹J¨ìªº°ÝÃD     ½d¥»¤¤¦³»¡©ú

·PÁÂ
¿é¤J¤½¥qªí®æ½d¥»¸Ñ»¡.rar (7.13 KB)
owen

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-2-15 14:43 ½s¿è

¦^´_ 15# owen9399
2.¿é¤J¥æ±b ©Î ¶i³f ªºªí®æ , «oµLªk ¦Û°Êµe¦n®æ½u ,¤é³øªí ¤]¬O    14# ¤w§ó·s

Sheet1 ªº¨Æ¥óµ{¦¡½X : ¿é¤J§Ç¸¹  ©Î¥Î¤U©Ô¦¡¿ï³æ      ª½±µ¨q¥X¤½¥q¦WºÙ
Private Sub Worksheet_Change(ByVal Target As Range)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
¥H¤Wªº2µ{§Ç¬O°w¹ï Sheet1 ¦Ó¼gªº, ­n©ñ¨ìSheet1.


ThisWorkbook ¨Æ¥ó
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

TOP

¦^´_ 14# GBKEE


    ÁÂÁ¤j¤j«ü¾É

¥i¬O ¦³°ÝÃD·Q½Ð±Ð :   1.²{¦b¥X²{  ¿é¤J¤½¥q§Ç¸¹  «oµLªk±a¥X  ¬ÛÃö¤½¥q¦WºÙ
                       ¦p   §Ç¸¹101001    «o­n¦Û¦æ¿é¤J ¤½¥q¦WºÙ
                       µLªk¦P¨B   
                      2.¿é¤J¥æ±b ©Î ¶i³f ªºªí®æ , «oµLªk ¦Û°Êµe¦n®æ½u ,¤é³øªí ¤]¬O

¦pªþ¥ó ©Ò¥Ü


¿é¤J¤½¥qªí®æ(½m²ß0215)-1.rar (18.55 KB)

·P®¦
owen

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-2-15 14:42 ½s¿è

¦^´_ 13# owen9399
§AªþÀɤ¤  Sheet("¥æ³f¸ê®Æ®w")  VBA  ªºCodename ¬° Sheet2
                 Sheet("¶i³f¸ê®Æ®w")  VBA  ªºCodename ¬° Sheet3
Sheet1 ªº¨Æ¥óµ{¦¡½X :¿é¤J§Ç¸¹  ©Î¥Î¤U©Ô¦¡¿ï³æ      ª½±µ¨q¥X¤½¥q¦WºÙ
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim xM
  3.     If Intersect(Target, Range("A2:A11")) Is Nothing And Intersect(Target, Range("J2:J11")) Is Nothing _
  4.     Or Target(1) = "" Or Target.Count > 1 Then Exit Sub
  5.     xM = Application.Match(Target, [¤½¥q§Ç¸¹].Columns(1), 0)
  6.     Target(1).Cells(1, 2) = [¤½¥q§Ç¸¹].Cells(xM, 2)
  7. End Sub
  8. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  9.     On Error Resume Next
  10.     [§Ç¸¹].Validation.Delete
  11.     If Intersect(Target, Range("A2:A11")) Is Nothing And Intersect(Target, Range("J2:J11")) Is Nothing _
  12.     Then Exit Sub
  13.     Range("Q2", [Q2].End(xlDown)).Resize(, 2).Name = "¤½¥q§Ç¸¹"
  14.     Target.Name = "§Ç¸¹"
  15.     With [§Ç¸¹].Validation
  16.         .Delete
  17.         .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
  18.         Operator:=xlBetween, Formula1:="=" & [¤½¥q§Ç¸¹].Columns(1).Address
  19.     End With
  20. End Sub
½Æ»s¥N½X
Module1ªºµ{¦¡½X
  1. Sub «ö¶s1_Click()
  2.     Dim Rng As Range
  3.      Set Rng = Sheet1.Range("A2:G11").SpecialCells(xlCellTypeVisible)
  4.      With Sheet2.Range("A65536").End(xlUp).Offset(1)
  5.         .Resize(Rng.Rows.Count, Rng.Columns.Count) = Rng.Value
  6.         .CurrentRegion.Borders.LineStyle = 1    'µe½u
  7.         .CurrentRegion.Borders.ColorIndex = 1   '¤W¦â
  8.      End With
  9.     Rng.ClearContents
  10. End Sub
  11. Sub «ö¶s2_Click()
  12. Dim Rng As Range
  13.      Set Rng = Sheet1.Range("J2:N11").SpecialCells(xlCellTypeVisible)
  14.     With Sheets("¶i³f¸ê®Æ®w").Range("A65536").End(xlUp).Offset(1)
  15.         .Resize(Rng.Rows.Count, Rng.Columns.Count) = Rng.Value
  16.         .CurrentRegion.Borders.LineStyle = 1
  17.         .CurrentRegion.Borders.ColorIndex = 1
  18.     End With
  19.     Rng.ClearContents
  20. End Sub
  21. Sub «ö¶s3_Click()
  22.     Dim Rng As Range, S As String, xi As Integer
  23.     Dim Sh As Worksheet
  24.      Set Sh = Sheets("¤é³øªí")              ' ¤é³øªí
  25.      Sh.Cells.Clear
  26.        With Sheets("¥æ±b¸ê®Æ®w")
  27.          If .AutoFilterMode Then .AutoFilterMode = False                         '¨ú®ø¿z¿ï
  28.             .Range("a1").AutoFilter                                                '[¦Û°Ê¿z¿ï] ¿z¿ï¥X¤@­Ó²M³æ
  29.              Set Rng = .AutoFilter.Range.Columns(6).Cells                            '[¦Û°Ê¿z¿ï]ªº²Ä6Äæ
  30.              For xi = 2 To Rng.Count                                                  '³B¸Ì:  ²Ä¤GÄæ ³æ¤¸®æ
  31.                 If InStr(S, "," & Rng(xi) & ",") = False Then                       'Àˬd Àx¦s®æ ¬O§_¤w¥X²{¹L
  32.                     .Range("a1").AutoFilter Field:=6, Criteria1:=Rng(xi).Text             '¨S¥X²{: «ü©w¬°¿z¿ï­È
  33.                     S = S & "," & Rng(xi) & ","                                          '¥[¤J¤w¥X²{¹Lªº¦r¦ê¤¤
  34.                     .UsedRange.SpecialCells(xlCellTypeVisible).Copy Sh.Cells(Rows.Count, "b").End(xlUp).Offset(2)   '½Æ»s: ¸ê®Æªí¤¤¿z¿ï¥Xªº¸ê®Æ
  35.                     Sh.Cells(Rows.Count, "b").End(xlUp).Offset(2).CurrentRegion.Borders.LineStyle = 1
  36.                     Sh.Cells(Rows.Count, "b").End(xlUp).Offset(2).CurrentRegion.Borders.ColorIndex = 1
  37.              End If
  38.            Next
  39.           .AutoFilterMode = False                     '¨ú®ø¿z¿ï
  40.    End With
  41.    Sh.Activate
  42. End Sub
½Æ»s¥N½X

TOP

¦^´_ 10# GBKEE


½Ð°Ý ¤j¤j ¸Ô²Ó°ÝÃD ©ówordÀÉ
¸Ó¦p¦ó¸Ñ¨M

    ¿é¤J¤½¥qªí®æ(½m²ß0215).rar (16.9 KB)

    ¿é¤J¤½¥qªí®æ[½Ð°Ý¤j¤j¦p¦ó¸Ñ¨M0215].rar (258.3 KB)
owen

TOP

¦^´_ 11# owen9399
8#     Set Rng = .AutoFilter.Range.Columns(6).Cells                            '[¦Û°Ê¿z¿ï]ªº²Ä6Äæ
³o¦æ¨S¦³½Æ»s¨ì
Sub «ö¶s3_Click() ªºµ{¦¡ §A­«·s ½Æ»s¨ì§AªºÀɮצA¸Õ¸Õ¬Ý
¥æ±b¸ê®Æ®w : ¤é´Áªº®æ¦¡ ½Ð­×§ï¬° "yyyy/mm/dd" ®æ¦¡ ¦p¹Ï

TOP

¦^´_ 10# GBKEE

¤j¤j§A¦n:
¤£ª¾ÀÉ®× ¨º¸Ì­n­×§ï
    ¿é¤J¤½¥qªí®æ(½m²ß0214).rar (15.01 KB)

ÁÂÁÂ
owen

TOP

¦^´_ 9# owen9399
¶ÇÀɬݬÝ

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-2-14 16:21 ½s¿è

¦^´_ 8# GBKEE


    ÁÂÁ¤j¤j«ü¾É  
'¦]¬°¦³´ú¸Õ¦ý¬Oµ{¦¡¥X²{ ¿ù»~ , ¤£ª¾¦p¦ó­×¥¿
Åv­­ §Ö¹F¦¨
owen

TOP

¦^´_ 7# owen9399
Shets("¿é¤J¸ê®Æ")
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim xM
  3.     If Intersect(Target, Range("A2:A11")) Is Nothing Or Target(1) = "" Then Exit Sub
  4.     xM = Application.Match(Target, [¤½¥q§Ç¸¹].Columns(1), 0)
  5.     Target.Cells(1, 2) = [¤½¥q§Ç¸¹].Cells(xM, 2)
  6. End Sub
  7. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  8.     On Error Resume Next
  9.     [§Ç¸¹].Validation.Delete
  10.     If Intersect(Target, Range("A2:A11")) Is Nothing Then Exit Sub
  11.     Range("Q2", [Q2].End(xlDown)).Resize(, 2).Name = "¤½¥q§Ç¸¹"
  12.     Target.Name = "§Ç¸¹"
  13.     With [§Ç¸¹].Validation
  14.         .Delete
  15.         .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
  16.         Operator:=xlBetween, Formula1:="=" & [¤½¥q§Ç¸¹].Columns(1).Address
  17.     End With
  18. End Sub
½Æ»s¥N½X
¥æ±b¸ê®Æ®w : ¤é´Áªº®æ¦¡ ½Ð­×§ï¬° "yyyy/mm/dd" ®æ¦¡
  1. Sub «ö¶s3_Click()
  2.     Dim Rng As Range, S As String, xi As Integer
  3.     Dim Sh As Worksheet
  4.     Set Sh = Sheets("¤é³øªí")                                                 ' ¤é³øªí
  5.     Sh.Cells.Clear
  6.     With Sheets("¥æ±b¸ê®Æ®w")
  7.         If .AutoFilterMode Then .AutoFilterMode = False                         '¨ú®ø¿z¿ï
  8.         .Range("a1").AutoFilter                                                 '[¦Û°Ê¿z¿ï] ¿z¿ï¥X¤@­Ó²M³æ
  9.         Set Rng = .AutoFilter.Range.Columns(6).Cells                            '[¦Û°Ê¿z¿ï]ªº²Ä6Äæ
  10.         For xi = 2 To Rng.Count                                                  '³B¸Ì:  ²Ä¤GÄæ ³æ¤¸®æ
  11.             If InStr(S, "," & Rng(xi) & ",") = False Then                       'Àˬd Àx¦s®æ ¬O§_¤w¥X²{¹L
  12.                 .Range("a1").AutoFilter Field:=6, Criteria1:=Rng(xi).Text             '¨S¥X²{: «ü©w¬°¿z¿ï­È
  13.                 S = S & "," & Rng(xi) & ","                                          '¥[¤J¤w¥X²{¹Lªº¦r¦ê¤¤
  14.             .UsedRange.SpecialCells(xlCellTypeVisible).Copy Sh.Cells(Rows.Count, "b").End(xlUp).Offset(2)   '½Æ»s: ¸ê®Æªí¤¤¿z¿ï¥Xªº¸ê®Æ
  15.             End If
  16.         Next
  17.         .AutoFilterMode = False                                                  '¨ú®ø¿z¿ï
  18.     End With
  19.     Sh.Activate
  20. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¡i®É¤é²öªÅ¹L¡j¤@­Ó¤H¦b¥@¶¡°µ¤F¦h¤Ö¨Æ¡A´Nµ¥©ó¹Ø©R¦³¦hªø¡C¦]¦¹¥²¶·»P®É¶¡Ävª§¡A¤Á²ö¨Ï®É¤éªÅ¹L¡C
ªð¦^¦Cªí ¤W¤@¥DÃD