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

[µo°Ý] ¿ï¾Ü¤U©Ô¦¡²M³æ¦Û°Ê¶ñ¤J

¦^´_ 10# Andy2483
°J¤ß·PÁÂAndy2483¤jªº«ü¾É,¥¿¬O¤p§Ì·Q­nªº,¤£ª¾±z¬O§_¦³ªÅ¥i¦b±zªºµ{¦¡½X¤¤¥[¤J¤¤¤å»¡©ú?Åý¤p§Ì¾Ç²ß,ÁÂÁÂ
¦~ÄÖ¤£¤p,¦ý§Ú«Ü·Q¾Ç

TOP

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2023-4-10 16:27 ½s¿è

¦^´_ 11# bhsm

ÁÂÁ«e½ú,¥H¤U¤ß±oµù¸Ñ½Ð°Ñ¦Ò
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'¡ô·í¨Ï¥ÎªÌ©Î¥~³¡³sµ²Åܧó¤u§@ªí¤¤ªºÀx¦s®æ®É·|µo¥Í¦¹¨Æ¥ó
With Target
'¡ô¥H¤U¬OÃö©óIJµo¨Æ¥óªºµ{§Ç
   If .Address = "$E$4" Or .Address = "$F$4" Then
   '¡ô¦pªGIJµoÀx¦s®æ¬O[E4] ©Î[F4]ªº¦ì§}
      Dim Y, S, Brr, i%, j%, T$, N&
      '¡ô«Å§iÅܼÆ:(Y,S,Brr)¬O³q¥Î«¬ÅܼÆ,(i,j)¬Oµu¾ã¼Æ,T¬O¦r¦êÅܼÆ
      'N¬Oªø¾ã¼Æ

      Set Y = CreateObject("Scripting.Dictionary")
      '¡ô¥OY³o³q¥Î«¬ÅܼƬO ¦r¨å
      Brr = [F9].Resize(6, 1)
      '¡ô¥OBrr³o³q¥Î«¬ÅܼƬO ¤Gºû°}¦C,¥H[F9]¦V¤UÂX®i6®æªºÀx¦s®æ­È±a¤J
      For i = 4 To 5
      '¡ô³]¶¶°j°é!i±q4¨ì 5
         For j = 4 To 6
         '¡ô³]¶¶°j°é!j±q4¨ì 6
            T = Cells(i, 2) & "|" & Cells(j, 3)
            '¡ô¥OT³o¦r¦êÅܼƬO i°j°é¦CBÄæÀx¦s®æ­È³s±µ "|",
            '¦A³s±µ j°j°é¦CCÄæÀx¦s®æ­È¤§«áªº·s¦r¦ê

            S = Val(Cells(i, 2)) + Val(Cells(j, 3))
            '¡ô¥OS³o³q¥Î«¬ÅܼƬO i°j°é¦CBÄæÀx¦s®æ­ÈÂà¤Æ¬°¼Æ¦r­È,
            '¥[¤Wj°j°é¦CCÄæÀx¦s®æ­ÈÂà¤Æ¬°¼Æ¦r­È¤§«áªº·s¼Æ­È

            N = N + 1: Y(T) = S
            '¡ô¥ON³oªø¾ã¼ÆÅÜ¼Æ ²Ö¥[1
            '¥O¥HTÅܼƬ°key,item¬OSÅܼÆ,¯Ç¤JY¦r¨å

            If T = [E4] & "|" & [F4] Then Brr(N, 1) = Y(T)
            '¡ô¦pªGTÅܼÆ(¦r¦ê)¦P
            '[E4]Àx¦s®æ­È³s±µ"|" ¦A³s±µ[F4]Àx¦s®æ­È²Õ¦¨ªº·s¦r¦ê??
            '´N¥ONÅܼƦC²Ä1ÄæBrr°}¦C­È¬O ¥HTÅܼƬdY¦r¨åªºitem­È

         Next
      Next
      [F9].Resize(6, 1) = Brr
      '¡ô[F9]¦V¤UÂX®i6®æªºÀx¦s®æ­È¥H Brr°}¦C­È±a¤J
      Set Y = Nothing: Erase Brr
      '¡ôÄÀ©ñÅܼÆ
   End If
End With
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 12# Andy2483
·PÁÂAndy2483¤j¤£¹½¨ä·Ðªº«ü¾É,«á¶i·|¦n¦n«ôŪ®ø¤Æ,¦³°ÝÃD¦A½Ð±Ð±z,·P®¦
¦~ÄÖ¤£¤p,¦ý§Ú«Ü·Q¾Ç

TOP

¦^´_ 13# bhsm


    ÁÂÁ«e½ú¤£¶û±ó,½Ð«e½ú±`¤W½×¾Â¤@°_¾Ç²ß
¯¬ ¶¶¤ß±`¼Ö
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 14# Andy2483
½Ð°ÝAndy2483¤j¡G³o¬O§Ú¦bºô¸ô¤W¬Ý¨ìªºµ{¦¡½X¡A¥¦ªº­pºâ©Ò±o·|¥ÑI1¶}©l¶ñ¤J¡A­Y§Ú·Q¥ÑG7¶}©l¶ñ¤J¡A½Ð°Ý¸Ó¦p¦ó­×§ï?ÁÂÁÂ

·s¼W Microsoft Excel ¤u§@ªí .rar (11.39 KB)

¦~ÄÖ¤£¤p,¦ý§Ú«Ü·Q¾Ç

TOP

¦^´_ 15# bhsm


    ÁÂÁ«e½ú
1.­Y¤£¦P¥DÃD,½Ð¥tµo¥DÃDµ¹«e½ú­ÌÀ°¦£
2.¤U¤È­è±µ¨ì¤@¥÷«æ»°ªº¤u§@»Ý¥ß°¨³B²z,¦A¼·ªÅ¬ã¨s«e½úªº½d¨Ò
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 16# Andy2483
ÁÂÁ±z,¤u§@Àu¥ý
¦~ÄÖ¤£¤p,¦ý§Ú«Ü·Q¾Ç

TOP

¦^´_ 15# bhsm


    ÁÂÁ«e½ú
¥H¤U¬O¾Ç²ß¤è®×,½Ð«e½ú°Ñ¦Ò

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
   If .Address = "$F$3" Or .Address = "$H$3" Then
      If [G7] = "" Then
         [G7] = [G4]
         Else
            [G65536].End(3).Item(2) = [G4]
      End If
   End If
End With
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 18# Andy2483
¯u¬O¸U¤À·PÁ±z¡A¦b¦Ê¦£¤§¤¤¤´¬°¤p§Ì¸Ñ´b¡A·P®¦¡BÁÂÁÂ
¦~ÄÖ¤£¤p,¦ý§Ú«Ü·Q¾Ç

TOP

¦^´_ 19# bhsm


    ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú,ÁÂÁ«e½ú¦A¦^´_
«á¾Ç±µ¨ìªº¤u§@«Ü§Ö´N§¹¦¨¤F,¾Ç²ß¤F°}¦C»P¦r¨å,µ{¦¡³]­pªºÅÞ¿è§ó²M·¡,¤u§@®Ä²v´£¤É¦h­¿,
³]­pªºµ{¦¡°õ¦æªº®Ä²v´£¤É¤W¦Ê­¿,¥H«e°õ¦æ30¤ÀÄÁ,²{¦b¥u­n10¬íÄÁ
¶Ô½m²ß¬O«Ü­«­nªº,ÁÂÁ«e½ú¤@°_¤W½×¾Â¾Ç²ß

Private Sub Worksheet_Change(ByVal Target As Range)
'¡ô·í¨Ï¥ÎªÌ©Î¥~³¡³sµ²Åܧó¤u§@ªí¤¤ªºÀx¦s®æ®É·|µo¥Í¦¹¨Æ¥ó
With Target
'¡ô¥H¤U¬OÃö©óIJµo¨Æ¥óªºµ{§Ç
   If .Address = "$F$3" Or .Address = "$H$3" Then
    '¡ô¦pªGIJµoÀx¦s®æ¬O[F3] ©Î[H3]ªº¦ì§}
      If [G7] = "" Then
      '¡ô¦pªG[G7]Àx¦s®æ­È¬OªÅ¦r¤¸
         [G7] = [G4]
         '¡ô¥O[G7]Àx¦s®æ­È¬O [G4]Àx¦s®æ­È
         Else
            [G65536].End(3).Item(2) = [G4]
            '¡ô§_«h¥OGÄæ³Ì«á¤@­Ó¦³¤º®eÀx¦s®æªº¤U¤è¤@®æ­È¬O [G4]Àx¦s®æ­È
      End If
   End If
End With
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¯u¥¿ªº·R¤ß¡A¬O·ÓÅU¦n¦Û¤vªº³oÁû¤ß¡C
ªð¦^¦Cªí ¤W¤@¥DÃD