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

[µo°Ý] Àx¦s®æÅÜ°Ê«á­«·s­pºâ

[µo°Ý] Àx¦s®æÅÜ°Ê«á­«·s­pºâ

¦U¦ì¥ý¶i¤j®a¦n...
³Ìªñ­è¶}©l±µÄ²VBA~ÁٽЦU¦ì¦h¦h«ü±Ð~
Àɮצì¸m (SKYDRIVEªÅ¶¡) : http://sdrv.ms/Sjl8e7

³oEXCEL¥D­n¦³¤T­Ó°Ï°ì¡A¤À§O¬O¿é¤J°Ï¡B¿ï¾Ü(±ø¥ó)°Ï¡Bµ²ªG°Ï
¥¿±`±¡ªp¤U¡A±N¸ê®Æ¿é¤J©ó¿é¤J°Ï«á¦A¥h¿ï¾Ü(±ø¥ó)°Ï¡A³z¹LVBA¡A«K·|²£¥Íµ²ªG©óµ²ªG°Ï¡K


¦pªG³o®É­Ô¡A§Úª½±µ­×§ï¿é¤J°Ï¡A¦]¬°¨S¦³§ó°Ê¨ì¿ï¾Ü°Ïªº±ø¥ó¡A©Ò¥H¨Ã¤£·|IJµo°õ¦æ©Ò¼gªºVBA¡A¦ÛµM¤]¤£·|§ó§ï¨ìµ²ªG°Ïªºµ²ªG

©Ò¥H§Ú·Q°Ý¡A¬O§_¦³½d¨Ò¥i¥H°Ñ¦Ò¡A·í§Ú¦b¿é¤J°Ïª½±µ¿é¤J¸ê®Æ®É(¶À¦â°Ï°ì)¡A¦b¤£­«·sÂI¿ï¿ï¾Ü°Ï(¬õ¦â°Ï°ì)ªº±¡ªp¤U¡Aµ²ªG°Ï(ÂŦâ°Ï°ì)·|­«·s­pºâ¡C
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. On Error GoTo 10
  3.     Dim i1, i2, i3, i4, i5, i6, i7 As Currency
  4.     Dim var As Integer
  5.     If Left(Target.Address, 2) = "$A" Then  '¿ï¾ÜA¦æ¡A¬°¿ï¾Ü°Ï
  6.   
  7.         '¿ï¾Ü°Ïªº±ø¥ó(1~3)
  8.         Dim funCont As String
  9.         funCont = Trim(CStr(Target.Value))
  10.         Select Case funCont
  11.             Case "±ø¥ó1"
  12.             var = 1
  13.             Case "±ø¥ó2"
  14.             var = 2
  15.             Case "±ø¥ó3"
  16.             var = 3
  17.         End Select
  18.         '®Ú¼@¿ï¾Ü°Ïªº±ø¥ó ¿é¥X¦Üµ²ªG°Ï
  19.         i1 = Range(Target.Address).Row
  20.         i2 = Cells(i1, 2)
  21.         i3 = Cells(i1, 3)
  22.         i4 = Cells(i1, 4)
  23.         i7 = (i2 * Cells(var + 1, 6) + i3 * Cells(var + 1, 8) + i4 - Cells(var + 1, 7))
  24.         If i7 < 0 Then
  25.             i7 = 0
  26.         End If

  27.         Cells(i1, 8) = i7

  28.     End If
  29. 10: End Sub
½Æ»s¥N½X
¤£¦n·N«ä¡A§Ú«Ü§V¤Oªí¹F¡A¦ý§Úª¾¹D§Úªºªí¹F¤è¦¡«Ü¨S¦³³¹ªk~
¥ý©M¦U¦ì¥ý¶i»¡©êºp¤@¤U~

¦^´_ 1# mice
¿é¤J°Ï¬O§_¯à§ï¦¨ª½±µ¦bB11~D13ª½±µ¿é¤J , §_«h­Y¨âÃä¸ê®Æ¤£¤@­P , ­pºâ®É­n¨ú¿é¤J°Ï(B18~D20)ªº­ÈÁÙ¬O±ø¥ó°Ï¥k¤è(B11~D13)ªº­È?

TOP

¦^´_ 2# stillfish00
ªü~  ©êºp , ¨S¬Ý¨ì±ø¥ó°Ï¬Oª½±µ°Ñ·Ó¿é¤J°Ï

TOP

¦^´_ 1# mice
¨Ì§Aªº¼gªkµy§@­×§ï
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. On Error GoTo 10
  3.     Dim i1, i2, i3, i4, i5, i6, i7 As Currency
  4.     Dim var As Integer
  5.     If Left(Target.Address, 2) = "$A" Then
  6.         
  7.         Dim funCont As String
  8.         funCont = Trim(CStr(Target.Value))
  9.    
  10.         Select Case funCont
  11.             Case "±ø¥ó1"
  12.             var = 1
  13.             Case "±ø¥ó2"
  14.             var = 2
  15.             Case "±ø¥ó3"
  16.             var = 3
  17.         End Select
  18.    
  19.         i1 = Range(Target.Address).Row
  20.         i2 = Cells(i1, 2)
  21.         i3 = Cells(i1, 3)
  22.         i4 = Cells(i1, 4)
  23.         i7 = (i2 * Cells(var + 1, 6) + i3 * Cells(var + 1, 8) + i4 - Cells(var + 1, 7))
  24.         If i7 < 0 Then
  25.             i7 = 0
  26.         End If

  27.         Cells(i1, 8) = i7
  28.     End If
  29.         
  30.     '¿é¤J°Ï
  31.     If Application.Intersect(Target, Range("B18:D20")) Then
  32.         For Each result In Range("H11:H13")
  33.             funCont = Trim(CStr(Range("A" & result.Row).Value))
  34.             
  35.             Select Case funCont
  36.                 Case "±ø¥ó1"
  37.                 var = 1
  38.                 Case "±ø¥ó2"
  39.                 var = 2
  40.                 Case "±ø¥ó3"
  41.                 var = 3
  42.             End Select
  43.             
  44.             i1 = result.Row   '§ï¬°result.row
  45.             i2 = Cells(i1, 2)
  46.             i3 = Cells(i1, 3)
  47.             i4 = Cells(i1, 4)
  48.             i7 = (i2 * Cells(var + 1, 6) + i3 * Cells(var + 1, 8) + i4 - Cells(var + 1, 7))
  49.             If i7 < 0 Then
  50.                 i7 = 0
  51.             End If
  52.             
  53.             Cells(i1, 8) = i7
  54.         Next
  55.     End If
  56.    
  57. 10: End Sub
½Æ»s¥N½X

TOP

¦^´_ 4# stillfish00

¡I¡I¡I
stillfish00 ÁÂÁ±z~ ¥i¥HWORK¤F~
³o°ÝÃD§Úª¦¤F2¤Ñªº¤å¡A¦Û¤v¥Î¤F¦n¦h§O¤Hªº½d¨Ò¨Ó¸Õ³£¤£¦æ...>"<
³Ì«á¤~§Ô¤£¦í¨Ó°Ý...

Åý§Ú¥ýÁA¸Ñ¤@¤U±zªºµ{¦¡¡A¦A¦¸·PÁ±z~ ÁÂÁ¡I

TOP

        ÀR«ä¦Û¦b : ¡i¬°µ½Ävª§¡j¤H¥Í­n¬°µ½Ävª§¡A¤À¬í¥²ª§¡C
ªð¦^¦Cªí ¤W¤@¥DÃD