我有一個數據集(如下所示),應始終等於100:更新5個值來總結一個具體的數字
如果我改變價值觀之一,我希望旁邊的值它將被調整爲總數仍然是100.不幸的是,當我更改任何數字時,我的代碼不會更新數字上下的數字。另外,該子程序不返回錯誤。有什麼建議,爲什麼會這樣?
Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
If IsNumeric(Target) Then
If Application.WorksheetFunction.Sum(Cells(1, Target.Column), Cells(5, Target.Column)) <> 100 Then
If Target.Row > 1 Then
Cells(Target.Row - 1, Target.Column).Value = Cells(Target.Row - 1, Target.Column).Value + 100 - Application.Sum(Cells(1, Target.Column), Cells(5, Target.Column))
Else
Cells(Target.Row + 1, Target.Column).Value = Cells(Target.Row + 1, Target.Column).Value + 100 - Application.Sum(Cells(1, Target.Column), Cells(5, Target.Column))
End If
End If
End If
End If
End Sub
感謝您的幫助!
子應該不會編譯。你最後還有一個額外的「結束」。 – Comintern
我編輯了你的問題來應用你的代碼的一致縮進。正如@Comintern所說,你有一個太多的'End If'語句,正如最後的'End If'不能縮進到適當的級別所證明的那樣。 (你的第一個'If'語句是一個「單行If」,因此不應該有與它關聯的'End If')。 – YowE3K