我正在写在Excel中VBA代码来修改某列的值:Excel中VBA代码否定值
- 如果小区C(i)是“借记卡”的相乘中细胞的量B(i)by -1
- 否则什么都不做!
下面是我的代码,但遗憾的是它不工作:(
Private Sub Calc()
For Each transType In Worksheets("Sheet2").Range("C4", "C100")
myRow = transType.Row
oldAmount = Worksheets("Sheet2").Range("B" & myRow)
If transType.Value = "D" Then
newAmount.Value = oldAmount.Value * -1
Else:
newAmount = oldAmount
End If
Cells(myRow, "B").Value = newAmount
Next transType
End Sub
你需要看出来的事情:1。定义变量类型。我相当有信心你的VBE不知道你认为'transType'是一个'Range'; 2.不要引用未定义变量的属性。如果定义了一个变量,在变量名后面写的'.'将使您能够从列表中进行选择,如果它没有出现,则表示错误。 3.删除不必要的步骤,告诉新值等于旧值不会给你任何东西。尽管如此,你会很快写出很棒的潜艇。 – user3819867
根据您的叙述,您想将C列与* Debit *进行比较,但您的代码将其与* D *进行比较。你应该使用'如果左(transType.Value,1)=“D”然后'? – Jeeped
@Jeeped对不起,在我的电池混合我有“D”。当我在这里发布时,我写下了“借记卡”以使其更加清晰。干杯! –