在公式中插入一个variables

我正试图插入一个variables,我将插入到一个表格中。 该公式应该是从另一个表执行一个sumproduct。 我通常只是调用表名,但问题是这将在不同的表上运行不同的时间,所以它永远不会是相同的表名。 我用variables“PrevSh”replace了表名,

下面这个公式是我的macros。 它给我的问题。 它给我的应用程序定义或对象定义的错误。

(('['& PrevSh&“]!$ D $ 4:$ D $ 485 = A7])*('[”&PrevSh&“]!$ E $ 4:$ E $ 485)), “”)”

Dim sh As Worksheet Dim TableName As String Dim theTable As ListObject Dim PrevSh As String Set sh = ActiveSheet TableName = ActiveSheet.Previous.Name & "_Spider" PrevSh = ActiveSheet.Previous.Name Sheets.Add.Name = (TableName) Range("A3").Select ActiveCell.FormulaR1C1 = "MATERIAL" Range("B3").Select ActiveCell.FormulaR1C1 = "TOTAL" Range("C3").Select ActiveCell.FormulaR1C1 = "QTY OF LNG" Range("D3").Select ActiveCell.FormulaR1C1 = "MATERIAL DESCRIPTION" Range("E3").Select ActiveCell.FormulaR1C1 = "RAWMATERIAL LENGTH" Range("F3").Select ActiveCell.FormulaR1C1 = "PIECES" Range("A3:f4").Select ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$3:$F$4"), , xlYes).Name = _ TableName Range(TableName & "[TOTAL]").Select ActiveCell.FormulaR1C1 = "=IF(A7<>"",SUMPRODUCT(('[" & PrevSh & "] !$D$4:$D$485=A7])*('[" & PrevSh & "] !$E$4:$E$485])),"")" 

你的公式有几个错误。

  1. 无与伦比的括号[]
  2. 双引号需要以双引号作为前缀
  3. FormulaR1C1需要R1C1格式
  4. 工作表名称有额外的括号和“

这里是你如何解决它:

 ActiveCell.Formula = "=IF(A7<>"""",SUMPRODUCT((" & PrevSh & "!$D$4:$D$485=A7)*(" & PrevSh & "!$E$4:$E$485)),"""")" 

如果您对如何使用Chr(34)ascii值作为@Sorceribuild议,请尝试以下操作:

 ActiveCell.Formula = "=IF(A7<>" & Chr(34) & Chr(34) & ",SUMPRODUCT((" & PrevSh & "!$D$4:$D$485=A7)*(" & PrevSh & "!$E$4:$E$485))," & Chr(34) & Chr(34) & ")" 

无论哪种方式,你的单元格中的结果将是这个(replace你的工作表名称,我用sheet1testing):

 =IF(A7<>"",SUMPRODUCT((Sheet1!$D$4:$D$485=A7)*(Sheet1!$E$4:$E$485)),"")