Excel 单元格。公式不适用于空字符串

Excel 单元格。公式不适用于空字符串,excel,vba,excel-formula,Excel,Vba,Excel Formula,请问我这里做错了什么?好的,所以我使用宏记录器获取代码: Cells(j, LastColumn + 2).Select Selection.Formula = "=IF(A5="""";IF(B5="""";0;Sheet1!D4);IF(""AssemblyTime""!B5=""X"";1;Sheet1!C4))" 但这是公式1c1,我想用.Formula方法。 如何将其转换为.Formula?以下是对您尝试编写的公式的分析 Cells(j,LastColumn+2).FormulaR1

请问我这里做错了什么?

好的,所以我使用宏记录器获取代码:

Cells(j, LastColumn + 2).Select
Selection.Formula = "=IF(A5="""";IF(B5="""";0;Sheet1!D4);IF(""AssemblyTime""!B5=""X"";1;Sheet1!C4))"
但这是公式1c1,我想用.Formula方法。
如何将其转换为.Formula?

以下是对您尝试编写的公式的分析

Cells(j,LastColumn+2).FormulaR1C1="=IF(RC[-5]="""",IF(RC[-4]="""",0,Sheet1!R[-1]C[-2]),IF('Cockpit Assembly Time'!RC[-4]="""",Sheet1!R[-1]C[-3],1))"
为什么不在工作表中编写公式,使其在工作表中工作,然后要求语法使用VB代码编写工作公式?就目前情况而言,如果有人帮助您使用VB语法,您得到的只是一个不起作用的公式


由于基本IF语句的错误结果丢失,我想知道您是否可以通过组合前两个
条件来降低该级别,例如
IF(AND(A5=“”,B5=“”),

首先使用
。选择
,然后将分号(;)更改为点(,)`Cells(j,LastColumn+2)。公式=“=IF(A5=“”,IF(B5=“”)“,0”,“Sheet1!”D4),IF(“‘汇编时间!’B5=”“”,Sheet1!C4,1))“`这就是我所做的,仍然得到相同的错误直接在工作表的单元格中尝试公式。我尝试过,但在
AssemblyTime
上出现错误。这是工作表的名称吗?不带引号地尝试一下。这个公式在单元格中对我有效:
=IF(A5=“;IF(B5=“;0;Sheet1!D4);IF(AssemblyTime!B5=“X”1;Sheet1!C4))
。可能会为VBA添加双引号。请使用A5尝试您的公式".
AssemblyTime!B5
不需要单引号,因为工作表名称中没有空格。如果在代码中添加单引号,Excel将删除它们-作为语法问题插入它们不会造成任何伤害:带单引号始终有效,不带单引号有时会失败。这不是答案。请删除它。如果你需要修改你的问题,修改你的问题。
' = IF([Condition], [True], [False])
'       Condition = A5=""
'       True = IF(B5="""",0;Sheet1!D4),IF(""AssemblyTime""!B5=""X"";1;Sheet1!C4)
'              IF([Condition], [True], [False])
'                  Condition = B5=""
'                  True = Sheet1!D4)
'                  False = IF(""AssemblyTime""!B5=""X"",1;Sheet1!C4
'                  Syntax error: missing closing bracket
'                          IF([Condition], [True], [False])
'                              Condition = ""AssemblyTime""!B5="X"
'                                          Syntax error: Should be 'Assembly Time'
'                              True = 1
'                              False = Sheet1!C4
'       False = [missing]