String 从范围到.Formula内的字符串

String 从范围到.Formula内的字符串,string,vba,excel,excel-formula,offset,String,Vba,Excel,Excel Formula,Offset,我可能有点不确定,但我选择了“E2”单元,一直到最后一个单元 我还找到包含单词“Subtotal”的单元格的位置并返回地址。我希望该单元格旁边的单元格包含一个公式,仅当“F”列中的对应单元格在单元格中键入了“Yes”一词时,该公式才能将从“E2”到第一个空单元格的所有单元格相加 它一直工作到实际的公式,但我不确定我是否遗漏了语法错误或某种类型的错误 除了让它尝试将公式放在一行而不是一列(这没什么大不了的),我还尝试从单元格字符串偏移,而不是从该字符串表示的范围偏移。我所要做的就是把子地址放在范

我可能有点不确定,但我选择了“E2”单元,一直到最后一个单元

我还找到包含单词“Subtotal”的单元格的位置并返回地址。我希望该单元格旁边的单元格包含一个公式,仅当“F”列中的对应单元格在单元格中键入了“Yes”一词时,该公式才能将从“E2”到第一个空单元格的所有单元格相加

它一直工作到实际的公式,但我不确定我是否遗漏了语法错误或某种类型的错误



除了让它尝试将公式放在一行而不是一列(这没什么大不了的),我还尝试从单元格字符串偏移,而不是从该字符串表示的范围偏移。我所要做的就是把
子地址
放在
范围内

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 & ")"

很多假设。例如,如果选择是几个单元格呢?然后,您的代码将失败。顶部的代码通过选择列末尾的单元格(即最后一个单元格,其中包含的数据正是我想要的数据)仅选择一个单元格。在这一点之后,出现了一个问题
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 & ")"