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

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

¥»©«³Ì«á¥Ñ 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

¥»©«³Ì«á¥Ñ donod ©ó 2013-10-26 12:33 ½s¿è

¦^´_ 2# luhpro
ÁÂÁ¤j¤j!ÁÙ¬O¤£¦æ¡A¨Ò¤l¤¤...
ºñ¦â®æÁ`¼ÆÀ³¸Ó¬° : -158
µL¦â®æÁ`¼ÆÀ³¸Ó¬° : 45
testa3.rar (17.26 KB)

TOP

¥»©«³Ì«á¥Ñ 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

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