在工作表“hitterscalc”单元格 d2 中,如果“hitterscalc”单元格 ab2 中的值 = 1,我想粘贴工作表“击球手”单元格 ks2 的值
我想对工作表“hitterscalc”中包含数据的所有行执行此操作
我想出了
With Worksheets("Hitterscalc")
With .Range("d2:d" & .Range("a" & Rows.Count).End(xlUp).Row)
.Formula = "=IF($AB2=1,Batters!KS2,""))"
.Value = .Value
End With
End With
但返回应用程序定义或对象定义错误。
有人可以指出我解决此问题的正确方向吗?
编辑:
所以当我这样做的时候
With Worksheets("Hitterscalc")
With .Range("d2:d" & .Range("ab" & Rows.Count).End(xlUp).Row)
.Formula = "=Batters!KS2"
.Value = .Value
End With
End With
表达式正常工作。我怎样才能得到它,以便它首先检查工作表 hitterscalc 列 ab 的单元格值?
编辑 2
With Worksheets("Hitterscalc")
With .Range("d2:d" & .Range("ab" & Rows.Count).End(xlUp).Row)
.Formula = "=IF(AND(A2<>"""",AB2=1),Batters!KS2,"""")"
'.Formula = "=Batters!KS2"
.Value = .Value
End With
End With
作品。我很困惑为什么这个有效,但不是第一个。