公式内的变量出现在引号中

msc*_*ein 2 excel vba excel-vba

我试图在公式中插入2个变量.尽管他们出现在引号内.

fase1 = Cells(2, diffdate_ac + 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)
prod1 = Cells(4, diffdate_ac + 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Run Code Online (Sandbox Code Playgroud)

Fase1指AG2和Prod1至AG4.

Range("B3").Formula = "=SUM((SUMIFS(ben_quant,ben_dia,R[-1]C,ben_fase, " & fase1 & ",ben_linha," & prod1 & "))
Run Code Online (Sandbox Code Playgroud)

它是公式的一部分."&fase 1&"正在给我'AG2',而'&prod 1&'正在返回'AG4'.是的,它们都在公式内的引号内,如图所示:

在此输入图像描述

我想删除那些单引号,因为这样的公式不是指那些单元格.

此命令的完整部分代码

'Prints an array of dates
Dim startac2 As Long, finishac2 As Long
Dim datearray3 As Variant, y As Long

finishac2 = CLng(DateValue(lastac))
startac2 = CLng(DateValue(firstac))
    ReDim datearray3(finishac2 - startac2 + 1)

    For y = 0 To finishac2 - startac2
        datearray3(y) = startac2 + y
    Next

diffdate_ac = DateDiff("d", startac2, finishac2) + 1

wsPBen.Activate
Range(Cells(2, 2), Cells(2, diffdate_ac + 1)).Value = datearray3
Range(Cells(2, 2), Cells(2, diffdate_ac + 1)).NumberFormat = "d/m;@"
'

Range("A1").Value = "BENEFICIAMENTO: TINTURARIA LISO"
Range("A2").Value = "Data"
Range("A3").Value = "Produção"
Cells(2, diffdate_ac + 2).Value = "TOTAL"
Cells(2, diffdate_ac + 3).Value = "FASE"
Cells(4, diffdate_ac + 3).Value = "PRODUTO"
Cells(2, diffdate_ac + 4).Value = "TINGIR ALTA TEMP."
Cells(3, diffdate_ac + 4).Value = "TINGIR BAIXA TEMP."
Cells(4, diffdate_ac + 4).Value = "TINTO RAMADO"
Cells(5, diffdate_ac + 4).Value = "TINTO TUBULAR"


Dim fase1 As String
Dim fase2 As String
Dim prod1 As String
Dim prod2 As String

fase1 = Cells(2, diffdate_ac + 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)
fase2 = Cells(3, diffdate_ac + 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)
prod1 = Cells(4, diffdate_ac + 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)
prod2 = Cells(5, diffdate_ac + 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)


Range("B3").formula = "=SUM((SUMIFS(ben_quant,ben_dia,R[-1]C,ben_fase," & fase1 & ",ben_linha," & prod1 & ")),(SUMIFS(ben_quant,ben_dia,R[-1]C,ben_fase," & fase1 & ",ben_linha," & prod2 & ")),(SUMIFS(ben_quant,ben_dia,R[-1]C,ben_fase," & fase2 & ",ben_linha," & prod1 & ")),(SUMIFS(ben_quant,ben_dia,R[-1]C,ben_fase," & fase2 & ",ben_linha," & prod2 & ")))"
Run Code Online (Sandbox Code Playgroud)

RBa*_*ung 5

如果我读了你,这个VBA行:

Range("B3").Formula = "=SUM((SUMIFS(ben_quant,ben_dia,R[-1]C,ben_fase, " & fase1 & ",ben_linha," & prod1 & "))"
Run Code Online (Sandbox Code Playgroud)

正在尝试设置此公式表达式:

=SUM((SUMIFS(ben_quant,ben_dia,R[-1]C,ben_fase, AG2,ben_linha,AG4))
Run Code Online (Sandbox Code Playgroud)

然而,这是在相同的公式中混合R1C1和A1单元寻址.据我所知,这总是无效的语法.