返回列表 上一主題 發帖

[發問] 儲存格變動後重新計算

回復 1# mice
輸入區是否能改成直接在B11~D13直接輸入 , 否則若兩邊資料不一致 , 計算時要取輸入區(B18~D20)的值還是條件區右方(B11~D13)的值?

TOP

回復 2# stillfish00
阿~  抱歉 , 沒看到條件區是直接參照輸入區

TOP

回復 1# mice
依你的寫法稍作修改
  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.     '輸入區
  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
複製代碼

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題