问题描述
嗨,我正在尝试创建一个 VBA 代码,用 E 列 - F 列填充整个 G 列值(所以 E2-F2 = G2),但我不断收到不匹配错误。值从第二行开始,我创建了一个循环来运行列。
这是我目前的代码。
Sub RemainingHours()
Dim i As Integer
i = 2
With Sheets("Opt")
While Not IsEmpty(Cells(5,i).Value)
Cells(7,i).Value = Cells(6,i).Value - Cells(5,i).Value
i = i + 1
Wend
End With
End Sub
谢谢!
解决方法
您可以尝试使用 Evaluate,而不是循环。
Sub RemainingHours()
Dim rng As Range
Dim Res As Variant
With Sheets("Opt")
Set rng = .Range("E2",.Range("E" & Rows.Count).End(xlUp))
End With
Res = Evaluate(rng.Offset(,1).Address & "-" & rng.Address)
rng.Offset(,2).Value = Res
End Sub