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

[µo°Ý] »ù®æ§R°£±i¼Æ¦Û°Ê§R°£

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-7-21 08:46 ½s¿è

¦^´_ 26# coafort


    ÁÂÁ«e½ú
«á¾ÇÂǦ¹©«¾Ç²ß¨ì Workbook.SheetChange ¨Æ¥ó
¥H¤U¬O¾Ç²ß¤è®×,½Ð«e½ú°Ñ¦Ò

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Wi%, Wc%, Wr&
'¡ô«Å§iÅܼÆ
With Target
   If .Count > 1 Then Exit Sub
   '¡ô¥ô¦óªí¥u­nÅܧó®æ¤j©ó1®æ´Nµ²§ôµ{¦¡°õ¦æ
   Wi = .Worksheet.Index: Wc = .Column: Wr = .Row
   '¡ô¥OWi¬O IJµo¤u§@ªí¯Á¤Þ¸¹,¥OWc¬O IJµoÄ渹,¥OWr¬O IJµo¦C¸¹

'////²Ä¤G²Ä¤Tªº¤u§@ªí////

   If InStr("/2/3/", "/" & Wi & "/") Then
   '¡ô¦pªGIJµoªí¯Á¤Þ¸¹¬O 2©Î3 ??
      If InStr("/1/27/41/", "/" & Wc & "/") Then
      '¡ô¦pªGIJµoÄæ¬O 1,27©Î41
         If .Value = "" Then .Offset(, 1).ClearContents
      End If
      If InStr("/16/20/", "/" & Wc & "/") Then
         If Wr < 3 Or Wr > 40 Or (Wr >= 24 And Wr <= 26) Then Exit Sub
         If .Value = "" Then .Offset(, 1).ClearContents
         '¡ô¦pªGIJµo¦C¬O 3~23 ©Î 27~40
      End If
   End If

'////²Ä¥|²Ä¤­ªº²Ä¤C²Ä¤K¤u§@ªí////
   If InStr("/4/5/7/8/", "/" & Wi & "/") Then
   '¡ô¦pªGIJµoªí¯Á¤Þ¸¹¬O 4,5,7©Î8 ??
      If InStr("/1/30/45/", "/" & Wc & "/") Then
      '¡ô¦pªGIJµoÄæ¬O 1,30©Î45
         If .Value = "" Then .Offset(, 1).ClearContents
      End If
      If InStr("/17/22/", "/" & Wc & "/") Then
         If Wr < 3 Or Wr > 40 Or (Wr >= 24 And Wr <= 26) Then Exit Sub
         If .Value = "" Then .Offset(, 1).ClearContents
      End If
   End If
End With
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 28# coafort


    ®¥³ß
«á¾Ç»{¬°¥Î¤u§@ªí¯Á¤Þ¸¹¿ëÃÑ ­·ÀI°ª(¸U¤@¤£¤p¤ßÅܰʶ¶§Ç)
«ØijÁÙ¬O¥H¤u§@ªí¦W¿ëÃѤñ¸û¦n
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 31# coafort


    ÁÂÁ«e½ú¦A¦^´_,¤@°_¾Ç²ß
«á¾Ç¾Ç²ß¤è®×¦p¤U,½Ð«e½ú°Ñ¦Ò


Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Wi%, xA As Range, xR As Range, xP As Range, xI As Range
With Target
   On Error GoTo 99
   Set xA = Intersect(.Cells, Range([A1], ActiveSheet.UsedRange)).SpecialCells(4)
   On Error GoTo 0
   Wi = .Worksheet.Index
   If InStr("/2/3/", "/" & Wi & "/") Then Set xP = [A:A,AA:AA,AO:AO,P3:P23,T3:T23,P27:P40,T27:T40]
   If InStr("/4/5/7/8/", "/" & Wi & "/") Then Set xP = [A:A,AD:AD,AS:AS,Q3:Q23,V3:V23,Q27:Q40,V27:V40]
   Set xI = Intersect(xP, xA)
   If xI Is Nothing Then Exit Sub
   If Intersect(xI, .Cells) Is Nothing Then Exit Sub
   For Each xR In xI: xR.Offset(, 1).ClearContents: Next
99: End With
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 33# coafort


    ÁÂÁ«e½ú¦A¦^´_
«á¾ÇÂǦ¹©«½Æ²ß¤è®×,¤è®×¤ß±oµù¸Ñ¦p¤U,½Ð«e½ú°Ñ¦Ò


Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Wi%, xA As Range, xR As Range, xP As Range, xI As Range
'¡ô«Å§iÅܼÆ:Wi¬Oµu¾ã¼Æ,(xA,xR,xP,xI)³£¬OÀx¦s®æÅܼÆ
With Target
   On Error GoTo 99
   '¡ôµ{§Ç¹J¨ì¿ù»~´N¸õ¨ì¼Ð¥Ü 99ªº¦ì¸mÄ~Äò°õ¦æ
   Set xA = Intersect(.Cells, Range([A1], ActiveSheet.UsedRange)).SpecialCells(4)
   '¡ô¥OxAÅܼƬO ¥æ¶°®æ(IJµo®æ»P¦³¨Ï¥Î®æ)¸ÌªºªÅ¥Õ®æ
   Wi = .Worksheet.Index
   '¡ô¥OWiÅܼƬO IJµo¤u§@ªí¯Á¤Þ¸¹
   If InStr("/2/3/", "/" & Wi & "/") Then Set xP = [A:A,AA:AA,AO:AO,P3:P23,T3:T23,P27:P40,T27:T40]
   '¡ô¦pªGIJµo¤u§@ªí¯Á¤Þ¸¹¬O 2©Î3 ,´N¥OxPÅܼƬO[]¸ÌªºÀx¦s®æ
   If InStr("/4/5/7/8/", "/" & Wi & "/") Then Set xP = [A:A,AD:AD,AS:AS,Q3:Q23,V3:V23,Q27:Q40,V27:V40]
   '¡ô¦pªGIJµo¤u§@ªí¯Á¤Þ¸¹¬O 4.5.7©Î8 ,´N¥OxPÅܼƬO[]¸ÌªºÀx¦s®æ
   Set xI = Intersect(xP, xA)
   '¡ô¥OxIÅܼƬO ¥æ¶°®æ(xPÅܼƻPxAÅܼÆ)
   If xI Is Nothing Then Exit Sub
   '¡ô¦pªGxIÅܼƬO µLª«¥ó? True´Nµ²§ôµ{§Ç°õ¦æ
   If Intersect(xI, .Cells) Is Nothing Then Exit Sub
   '¡ô¦pªG¥æ¶°®æ(xIÅܼƻPIJµo®æ)¬O µLª«¥ó? True´Nµ²§ôµ{§Ç°õ¦æ
   For Each xR In xI: xR.Offset(, 1).ClearContents: Next
   '¡ô³]³v¶µ°j°é!¥OxRÅܼƬO xIÅܼƸ̪º¤@®æ,¥O¥k°¼¹j¾À®æ²M°£¤º®e
99: End With
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 35# coafort


    Andy¦Û¤v¼ÒÀÀªº´ú¸ÕÀÉ´ú¸ÕOK
¶Ç¤@¥÷½d¨ÒÀɤW¨Ó¬Ý¬Ý,½Ð¼F®`ªº«e½ú­ÌÀ°¦£
«á¾Ç¤u§@¦£,¼ÈµLªk±M¤ßÀ°¦£¸Ñ¨M,®e©öº|ªFº|¦èªº
ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 37# coafort



20230725.zip (14.35 KB)
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¡i»X½ªªº¦Û¥Ñ¡j¤H±`¦b¤°»ò³£¥i¥H¦Û¥Ñ¦Û¦bªº®É­Ô¡A«o³Q³oºØÀH¤ß©Ò±ýªº¦Û¥Ñ»X½ª¡AµêÂY®É¥ú¦Ó²@µLıª¾¡C
ªð¦^¦Cªí ¤W¤@¥DÃD