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

[µo°Ý] ¥[Á`°ÝÃD

¥»©«³Ì«á¥Ñ luhpro ©ó 2013-10-26 01:02 ½s¿è

¦^´_ 1# donod
  1. Sub nn()
  2.   Dim iCol%, iCols%, iNum%, iIdx%
  3.   Dim lRow&, lRows&, lSum&(0 To 1)
  4.   Dim bColor As Boolean, bChk(0 To 1) As Boolean
  5.   
  6.   lSum(0) = 0
  7.   lSum(1) = 0
  8.   For lRow = 9 To 11
  9.     bChk(0) = False
  10.     bChk(1) = False
  11.     For iCol = 2 To 18
  12.       With Cells(lRow, iCol)
  13.         If Not .Value = "" Then ' µL¼Æ¦r¤£³B²z
  14.           If .Interior.ColorIndex = 43 Then bColor = True Else bColor = False
  15.           iIdx = -bColor ' 0 µL¦â®æ, 1 ºñ¦â®æ
  16.           If Left(.Value, 1) = "[" Then
  17.             iNum = Val(Mid(.Value, 2, Len(.Value) - 2))
  18.             If iNum >= Cells(5, 2 + iIdx * 2) Then
  19.               lSum(iIdx) = lSum(iIdx) + Cells(5, 2 + iIdx * 2)
  20.               bChk(iIdx) = True
  21.             ElseIf iNum <= Cells(5, 3 + iIdx * 2) Then
  22.               lSum(iIdx) = lSum(iIdx) + Cells(5, 3 + iIdx * 2)
  23.               bChk(iIdx) = True
  24.             Else
  25.               lSum(iIdx) = lSum(iIdx) + iNum
  26.             End If
  27.           Else
  28.             If Not bChk(iIdx) Then lSum(iIdx) = lSum(iIdx) + .Value
  29.           End If
  30.         End If
  31.       End With
  32.     Next iCol
  33.   Next lRow
  34.   MsgBox "ºñ¦â®æÁ`¼Æ¬° : " & lSum(1) & Chr(10) & Chr(10) & Chr(10) & "µL¦â®æÁ`¼Æ¬° : " & lSum(0)
  35. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2013-10-29 23:49 ½s¿è

¦^´_ 3# donod
­ì¦¡¦³¨Ç¦a¤è¨S¦Ò¼{¶g¨ì, §Ú¤S­×§ï¤F¤@¤U:
  1. Sub nn()
  2.   Dim iCol%, iCols%, iNum%, iIdx%
  3.   Dim lRow&, lRows&, lSum&(0 To 1)
  4.   Dim bChk(0 To 1) As Boolean

  5.   lSum(0) = 0
  6.   lSum(1) = 0
  7.   For lRow = 9 To 11
  8.     bChk(0) = False
  9.     bChk(1) = False
  10.     For iCol = 2 To 18
  11.       With Cells(lRow, iCol)
  12.         If Not .Value = "" Then ' µL¼Æ¦r¤£³B²z
  13.           iIdx = IIf(.Interior.ColorIndex = 43, 1, 0)
  14.           If Left(.Value, 1) = "[" Then
  15.             iNum = Val(Mid(.Value, 2, Len(.Value) - 2))
  16.           Else
  17.             If bChk(iIdx) Then iNum = 0 Else iNum = Val(.Value)
  18.           End If
  19.           If iNum >= Cells(5, 2 + iIdx * 2) Then
  20.             lSum(iIdx) = lSum(iIdx) + Cells(5, 2 + iIdx * 2)
  21.             bChk(iIdx) = True
  22.           ElseIf iNum <= Cells(5, 3 + iIdx * 2) Then
  23.             lSum(iIdx) = lSum(iIdx) + Cells(5, 3 + iIdx * 2)
  24.             bChk(iIdx) = True
  25.           Else
  26.             lSum(iIdx) = lSum(iIdx) + iNum
  27.           End If
  28.         End If
  29.       End With
  30.     Next iCol
  31.   Next lRow
  32.   MsgBox "ºñ¦â®æÁ`¼Æ¬° : " & lSum(1) & Chr(10) & Chr(10) & Chr(10) & "µL¦â®æÁ`¼Æ¬° : " & lSum(0)
  33. End Sub
½Æ»s¥N½X
¤£¹L­pºâ¥X¨Óªºµ²ªG»P§Aªº¤£¦P,
¬O§Ú¹ï±ø¥óªº±Ô­z¦³»~¸Ñ¶Ü?
¥Hºñ¦â®æ¬°¨Ò: (©³¤U²¤¹L«Dºñ¦â®æ©ÎªÅ­È®æ)
²Ä 1 ¦æ - ( D5=33 , E5=-91 )
¡° C9=[-100] ©M=-91 (±ø¥ó5 - ¦pªGºñ¦â®æ¤º¦³[]ªº¼Æ­È<=E5¡A¥u·íE5ªº­È¡A¤£»Ý­pºâ¨ä¥kÃäµL[]ªº¼Æ­È, IJµo)
¡° D9=33     (±ø¥ó5 - ²¤¹L)
¡° G9=[35]   ©M=-91+33=-58 (±ø¥ó4 - ¦pªGºñ¦â®æ¤º¦³[]ªº¼Æ­È>=D5¡A¥u·íD5ªº­È¡A¤£»Ý­pºâ¨ä¥kÃäµL[]ªº¼Æ­È)
¡° H9=-110   (±ø¥ó5 - ²¤¹L)
¡° I9=[32]   ©M=-58+32=-26 (±ø¥ó2)
¡° J9=-102   (±ø¥ó5 - ²¤¹L)

²Ä 2 ¦æ -
¡° F10=[-27] ©M=-26+-27=-53 (±ø¥ó2)
¡° G10=135   ©M=-53+33=-20 (±ø¥ó4, IJµo)
¡° M10=[-30] ©M=-20+-30=-50 (±ø¥ó2)
¡° N10=-2    (±ø¥ó4 - ²¤¹L)

²Ä 3 ¦æ -
¡° B11=[-61]  ©M=-50+-61=-111 (±ø¥ó2)
¡° C11=-60    ©M=-111+-60=-171 (±ø¥ó2)
¡° O11=[-9]   ©M=-171+-9=-180 (±ø¥ó2)
¡° P11=20     ©M=-180+20=-160 (±ø¥ó2)

§Úºâ¥X¨Óªºµ²ªG¬O :  -160 »P -56

TOP

¦^´_  luhpro
¦AÁÂÁ¤j¤j«ü±Ð!
±ø¥ó2:¦pªGºñ¦â®æ¤ºªº¼Æ­ÈE5¡A¥u·í®æ¤ºªº­È
¬O«ü¨S¦³[ ]ªº¼Æ­È¡A¤£¥]¬A¦³ ...
donod µoªí©ó 2013-10-30 00:35

¨º´N¥u­n§ï²Ä 27 ¦æªº :
lSum(iIdx) = lSum(iIdx) + iNum
¬°
If Left(.Value, 1) <> "[" Then lSum(iIdx) = lSum(iIdx) + iNum
§Y¥i.

¤£¹Lºâ¥X¨Óªºµª®×¬O -65 »P -1 ÁÙ¬O»P§Aªº¤£¦P.

­pºâ¹Lµ{¦p¤U:
²Ä 1 ¦æ - ( D5=33 , E5=-91 )
¡° C9=[-100] ©M=-91 (±ø¥ó5 - ¦pªGºñ¦â®æ¤º¦³[]ªº¼Æ­È<=E5¡A¥u·íE5ªº­È¡A¤£»Ý­pºâ¨ä¥kÃäµL[]ªº¼Æ­È, IJµo)
¡° D9=33     (±ø¥ó5 - ²¤¹L)
¡° G9=[35]   ©M=-91+33=-58 (±ø¥ó4 - ¦pªGºñ¦â®æ¤º¦³[]ªº¼Æ­È>=D5¡A¥u·íD5ªº­È¡A¤£»Ý­pºâ¨ä¥kÃäµL[]ªº¼Æ­È)
¡° H9=-110   (±ø¥ó5 - ²¤¹L)
¡° I9=[32]   (±ø¥ó2 - ¦³[]­n²¤¹L)
¡° J9=-102   (±ø¥ó5 - ²¤¹L)

²Ä 2 ¦æ -
¡° F10=[-27] (±ø¥ó2 - ¦³[]­n²¤¹L)
¡° G10=135   ©M=-58+33=-25 (±ø¥ó4, IJµo)
¡° M10=[-30] (±ø¥ó2 - ¦³[]­n²¤¹L)
¡° N10=-2    (±ø¥ó4 - ²¤¹L)

²Ä 3 ¦æ -
¡° B11=[-61]  (±ø¥ó2 - ¦³[]­n²¤¹L)
¡° C11=-60    ©M=-25+-60=-85 (±ø¥ó2)
¡° O11=[-9]   (±ø¥ó2 - ¦³[]­n²¤¹L)
¡° P11=20     ©M=-85+20=-65 (±ø¥ó2)

TOP

¥»©«³Ì«á¥Ñ luhpro ©ó 2013-10-31 20:06 ½s¿è

¦^´_ 7# donod
¡° N10=-2    (±ø¥ó4 - ²¤¹L)
·|µù©ú ±ø¥ó4 - ²¤¹L ¬O¦]¬°¤§«eªº ¡° G10=135   ©M=-58+33=-25 (±ø¥ó4, IJµo)   Ä²µo¤F±ø¥ó4,
¦Ó±ø¥ó4 ªº»¡©ú¬O : ¦pªGºñ¦â®æ¤º¦³[]ªº¼Æ­È>=D5¡A¥u·íD5ªº­È¡A¤£»Ý­pºâ¨ä¥kÃä µL[] ªº¼Æ­È
©Ò¥HIJµo¦¹±ø¥ó«á, ¨ä¥kÃäµL[]ªº­È´N¤£¦A¦C¤J­pºâ½d³ò¤º¦Ó³Qª½±µ²¤¹L¤F.
¦¹±ø¥ó¤£¬O³o­Ó·N«äªº¶Ü?

msgbox ¨º¤@¦æ §ï¬°
[A1]=lSum(0)
[B1]=lSum(1)
[C1]=lSum(0)+lSum(1)

TOP

¦^´_ 9# donod
¬Ý°_¨Ó§Ú¥i¯àÁÙ¦³ÂI»~·|,
§ï¤F´X¦¸µ{¦¡µ²ªG³£¤£¹ï.

§A¥i¤£¥i¥H¹³ 6# ³o¼Ë¤H¤u¶]¤@¹M¬yµ{,
¨Ã¸Ô²Ó±Ô­z©MªºÅܤƱ¡§Î¤Î¨C¤@¨BÆJ¾A¥Îªº±ø¥ó.
¥H«K©ó½T»{¨ÃÂç²Mµ{¦¡¨ì©³À³¸Ó¦p¦ó­×§ï.

TOP

¦^´_ 11# donod
¹q¸£³o´X¤Ñ¤S±¾¤F,¨ì¤µ¤Ñµ{¦¡¤~§Ë¥X¨Ó.
§A¬Ý¬Ý¬O§_OK, µ{¦¡¦p¤U:
  1. Sub nn()
  2.   Dim iCol%, iCols%, iNum%, iIdx%, iI%, iJ%
  3.   Dim lRow&, lRows&, lSum&(0 To 1)
  4.   Dim bChk(0 To 1, 0 To 1) As Boolean

  5.   lSum(0) = 0
  6.   lSum(1) = 0
  7.   For lRow = 9 To 11
  8.     For iI = 0 To 1
  9.       For iJ = 0 To 1
  10.         bChk(iI, iJ) = False
  11.       Next
  12.     Next
  13.     For iCol = 2 To 18
  14.       With Cells(lRow, iCol)
  15.         If Not .Value = "" Then ' µL¼Æ¦r¤£³B²z
  16.           iIdx = IIf(.Interior.ColorIndex = 43, 1, 0)
  17.           If Left(.Value, 1) = "[" Then
  18.             bChk(iIdx, 0) = True
  19.             iNum = Val(Mid(.Value, 2, Len(.Value) - 2))
  20.           Else
  21.             bChk(iIdx, 0) = False
  22.             iNum = Val(.Value)
  23.           End If
  24.          
  25.           If Not bChk(iIdx, 0) And bChk(iIdx, 1) Then
  26.             bChk(iIdx, 1) = False
  27.           ElseIf iNum >= Cells(5, 2 + iIdx * 2) Then
  28.             lSum(iIdx) = lSum(iIdx) + Cells(5, 2 + iIdx * 2)
  29.             If bChk(iIdx, 0) Then bChk(iIdx, 1) = True
  30.           ElseIf iNum <= Cells(5, 3 + iIdx * 2) Then
  31.             lSum(iIdx) = lSum(iIdx) + Cells(5, 3 + iIdx * 2)
  32.             If bChk(iIdx, 0) Then bChk(iIdx, 1) = True
  33.           Else
  34.             If Not bChk(iIdx, 0) Then
  35.               lSum(iIdx) = lSum(iIdx) + iNum
  36.               bChk(iIdx, 1) = False
  37.             End If
  38.           End If
  39.         End If
  40.       End With
  41.     Next iCol
  42.   Next lRow
  43.   MsgBox "ºñ¦â®æÁ`¼Æ¬° : " & lSum(1) & Chr(10) & Chr(10) & Chr(10) & "µL¦â®æÁ`¼Æ¬° : " & lSum(0)
  44. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : Ä@­n¤j¡B§Ó­n°í¡B®ð­n¬X¡B¤ß­n²Ó¡C
ªð¦^¦Cªí ¤W¤@¥DÃD