以RC样式表示法vba宏连接单元格范围

以RC样式表示法vba宏连接单元格范围,vba,excel,concatenation,Vba,Excel,Concatenation,我正在为我的课堂专题做一个线性插值。我创建了一个插值函数,并且必须动态执行计算,因为每个问题的列数不同。因此,我检索了最后一列(ltr)的值,并尝试将其与R1C1格式连接起来。但它不起作用。请你提出一些想法,如何解决这个问题。 请查找以下代码: Private Sub TrialCheck_Click() Dim lrt As Double With ActiveSheet 'retrives last column i.e lrt = 447

我正在为我的课堂专题做一个线性插值。我创建了一个插值函数,并且必须动态执行计算,因为每个问题的列数不同。因此,我检索了最后一列(ltr)的值,并尝试将其与R1C1格式连接起来。但它不起作用。请你提出一些想法,如何解决这个问题。 请查找以下代码:

Private Sub TrialCheck_Click() 
    Dim lrt As Double 
    With ActiveSheet 
         'retrives last column i.e lrt = 447
        lrt = .Cells(.Rows.Count, "F").End(xlUp).Row 
    End With 
    Range("I3").Value = Range("F3").Value * Range("B3").Value 
    Range("I58").Value = Range("F" & lrt).Value * Range("B58").Value 
     'MacroR
     'following works as 447 is hardcoded
     'Range("I4").Value = _
    "=(LinInterp(RC[-8],R4C[-4]:R447C[-4],R4C[-3]:R447C[-3])*RC[-7])" 
     'following code doesn't concatenate value of lrt
    Range("I4").Value = _ 
    "=(LinInterp(RC[-8],R4C[-4]:R&lrt&C[-4],R4C[-3]:R&lrt&C[-3])*RC[-7])" 
    Range("J4").Select 

    Range("I4").AutoFill Destination:=Range("I4:I57"), Type:=xlFillDefault 
    Range("I4:I57").Select 
End Sub 

您必须进行字符串连接

"string" & lrt & "string" & lrt & "string"

Range("I4").Value = _ 
"=(LinInterp(RC[-8],R4C[-4]:R" & lrt & "C[-4],R4C[-3]:R" & lrt & "C[-3])*RC[-7])"