从 .Formula 中的范围到字符串

From Range to String within .Formula

我这样做可能有点靠不住,但我正在选择单元格 "E2" 并一直走到最后一个单元格。

我还找到了包含单词 "Subtotal" 和 return 地址的单元格的位置。我希望那个单元格旁边的单元格包含一个公式,该公式仅当 "F" 列中的相应单元格具有单词 "Yes" 在单元格中输入。

它一直适用于实际公式,但我不确定我是否遗漏了语法错误或某种错误。


Sheets(TextBox1.Value).Select

Dim LastClass As Variant
Range("E2").Select
Selection.End(xlDown).Select
LastClass = Cells(Selection.Row, 
Selection.Column).Address(0, 0)

' Finds "subtotal"
Set Subtotal = Sheets(TextBox1.Value).Range("D:D")
Set Subtotal2 = Subtotal.Find("Subtotal")
SubAddress = Cells(Subtotal2.Row, Subtotal2.Column).Address(0, 0)
RR = Range(Subtotal2.Address).Row - 2
Dim RRs As String
RRs = CStr(RR)
SubAddress.Offset(1, 0).Formula = "=SUMIF(F2:F" & RRs & ",""Yes"",E2:" & LastClass & ")"

除了让它尝试将公式放在一行而不是一列(这没什么大不了的)之外,我还试图从单元格字符串而不是该字符串代表的范围进行偏移.我所要做的就是将 SubAddress 放入 Range

Sheets(TextBox1.Value).Select

Dim LastClass As Variant
Range("E2").Select
Selection.End(xlDown).Select
LastClass = Cells(Selection.Row, Selection.Column).Address(0, 0)

' Finds "subtotal"
Set Subtotal = Sheets(TextBox1.Value).Range("D:D")
Set Subtotal2 = Subtotal.Find("Subtotal")
SubAddress = Cells(Subtotal2.Row, Subtotal2.Column).Address(0, 0)
RR = Range(Subtotal2.Address).Row - 2
Dim RRs As String
RRs = CStr(RR)
Range(SubAddress).Offset(0, 1).Formula = "=SUMIF(F2:F" & RRs & ",""Yes"",E2:" & LastClass & ")"