用vba中的偏移量计算出错
问题描述:
我创建了一个宏来执行各种计算。然而,在这部分代码,它说有错误(所需的对象)在管线用vba中的偏移量计算出错
cell2.Value = cell2.Offset(0, -2).Value * cell2.Offset(0, -1).Value
我提供的代码的整个部分,其中这条线属于:
For Each cell2 In Range("F2:F" & lastrow2)
If cell2.Offset(0, -3).Value = "ROMANIA" Then
cell2.Value = cell2.Offset(0, -2).Value/cell2.Offset(0, -1).Value
Else
cell2.Value = cell2.Offset(0, -2).Value * cell2.Offset(0, -1).Value
End If
Next cell2
答
这是一个办法做到这一点:
Option Explicit
Public Sub TestMe()
Dim cell2 As Range
Dim lastrow2 As Long
Dim wks As Worksheet
lastrow2 = 55 'or calculated value
Set wks = Worksheets("SomeName")
For Each cell2 In wks.Range("F2:F" & lastrow2)
If cell2.Offset(0, -3).Value = "ROMANIA" Then
cell2.FormulaR1C1 = "=RC[-2]/RC[-1]"
'cell2.Formula = cell2.Offset(0, -2).Value/cell2.Offset(0, -1).Value
Else
cell2.FormulaR1C1 = "=RC[-2] * RC[-1]"
'cell2.Formula = cell2.Offset(0, -2).Value * cell2.Offset(0, -1).Value
End If
Next cell2
End Sub
建立在Excel中一些公式和使用宏录制,看看他们是如何转换为VBA。
FWIW - 您的代码适合我。 – YowE3K
我对lastrow2做了一个错误,因为我设置了填满A列的值:p正在工作! –