【发布时间】:2016-03-05 03:37:16
【问题描述】:
关于为什么 excel 将 4 > 0 之类的东西评估为错误的原因,我一直在碰壁……
在 vba 中,我正在应用以下 R1C1 论坛:
=IF(AND(RC[-5]>R1C15,RC[-4]>2*R1C15,RC[-3]>3*R1C15),""CORE"",""-"")
宏运行时变成:
=IF(AND(I2>$O$1,J2>2*$O$1,K2>3*$O$1),"CORE","-")
但是,如果我们看一下第 2 行的屏幕截图 I2、J2、K2都设置为4,大于O1的0,但是excel判断为false。
为什么?两个字段都格式化为数字?
完整的 vba sn-p:
Public Sub FormatCore()
Rows("1:1").Select
With ActiveWindow
Range("B2").Select
ActiveWindow.FreezePanes = False
ActiveWindow.FreezePanes = True
End With
Range("N2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=IF(AND(RC[-5]>R1C15,RC[-4]>2*R1C15,RC[-3]>3*R1C15),""CORE"",""-"")"
Range("N3").Select
Range("N2").Select
Dim total_rows As Double
total_rows = Worksheets("Report").Cells(Worksheets("Report").Rows.Count, "A").End(xlUp).Row
Selection.AutoFill Destination:=Range("N2: N" & total_rows)
End Sub
【问题讨论】: