我正在寫在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」。當我在這裏發佈時,我寫下了「借記卡」以使其更加清晰。乾杯! –