使用模板公式多行,使他们工作,无论语言设置?

我有一个公式:

=IF(OR(AND(H6<>"";I6<>"");AND(H6="";I6=""));"Price error";IF(H6<>"";F6*H6;IF(G6<>"";G6*I6;""))) 

我可以使用VBA编写

 Range("J6") = "=IF(OR(AND(H6<>"""";I6<>"""");AND(H6="""";I6=""""));""Price error"";IF(H6<>"""";F6*H6;IF(G6<>"""";G6*I6;"""")))" 

但是,如果我想要什么是最好的方法:

  • 将公式input到J列的许多行中?
  • 确保公式不pipe语言设置如何? 例如,我知道IF在瑞典版本的Excel中被称为OM

将公式input到J列的许多行中?

你可以应用整个范围的公式如下:

 Range("J6:J100").Formula = "=IF(H6=...)" 

在这种情况下公式会自动调整:

  • J6你会有=IF(H6=...)
  • J7你会有=IF(H7=...)
  • ….
  • J100你会有=IF(H100=...)

确保公式不pipe语言设置如何? 例如,我知道IF在瑞典版本的Excel中被称为OM

使用Range.Formula代替Range.FormulaLocal和。 在这种情况下,您应该使用“英文”版本(例如, If在瑞典语中代替Om )使用公式,并且始终使用逗号,而不是分号; 作为公式的分隔符(即使你的区域分隔符是分号):

 Range("J6:J100").Formula = _ "=IF(OR(AND(H6<>"""",I6<>""""),AND(H6="""",I6="""")),""Price error"",IF(H6<>"""",F6*H6,IF(G6<>"""",G6*I6,"""")))"