- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
4#
發表於 2012-11-14 02:36
| 只看該作者
回復 1# mice
依你的寫法稍作修改- Private Sub Worksheet_Change(ByVal Target As Range)
- On Error GoTo 10
- Dim i1, i2, i3, i4, i5, i6, i7 As Currency
- Dim var As Integer
- If Left(Target.Address, 2) = "$A" Then
-
- Dim funCont As String
- funCont = Trim(CStr(Target.Value))
-
- Select Case funCont
- Case "條件1"
- var = 1
- Case "條件2"
- var = 2
- Case "條件3"
- var = 3
- End Select
-
- i1 = Range(Target.Address).Row
- i2 = Cells(i1, 2)
- i3 = Cells(i1, 3)
- i4 = Cells(i1, 4)
- i7 = (i2 * Cells(var + 1, 6) + i3 * Cells(var + 1, 8) + i4 - Cells(var + 1, 7))
- If i7 < 0 Then
- i7 = 0
- End If
-
- Cells(i1, 8) = i7
- End If
-
- '輸入區
- If Application.Intersect(Target, Range("B18:D20")) Then
- For Each result In Range("H11:H13")
- funCont = Trim(CStr(Range("A" & result.Row).Value))
-
- Select Case funCont
- Case "條件1"
- var = 1
- Case "條件2"
- var = 2
- Case "條件3"
- var = 3
- End Select
-
- i1 = result.Row '改為result.row
- i2 = Cells(i1, 2)
- i3 = Cells(i1, 3)
- i4 = Cells(i1, 4)
- i7 = (i2 * Cells(var + 1, 6) + i3 * Cells(var + 1, 8) + i4 - Cells(var + 1, 7))
- If i7 < 0 Then
- i7 = 0
- End If
-
- Cells(i1, 8) = i7
- Next
- End If
-
- 10: End Sub
複製代碼 |
|