将变量添加到Excel中的索引匹配函数

将变量添加到Excel中的索引匹配函数,excel,vba,indexing,concatenation,match,Excel,Vba,Indexing,Concatenation,Match,需要将变量添加为范围,但无法串联给定错误 Dim lr As Long lr = Range("A1").CurrentRegion.Rows.Count Dim arrayRangeAll As String Dim arrayRangeID As String arrayRangeAll = Range("A2:L" & lr).Address arrayRangeID = Range("A2:A" & lr).Address Range("

需要将变量添加为范围,但无法串联给定错误

Dim lr As Long
   lr = Range("A1").CurrentRegion.Rows.Count

Dim arrayRangeAll As String  
Dim arrayRangeID As String  

  arrayRangeAll = Range("A2:L" & lr).Address  
  arrayRangeID = Range("A2:A" & lr).Address 

Range("N1").Select  
ActiveCell.FormulaR1C1 = "Client_Coorelation"  
Range("N2").Select  
ActiveCell.FormulaR1C1 = _
    "=INDEX(SMSv2!" & arrayRangeAll & ",MATCH(SMSv1!RC[-11],SMSv2!" & arrayRangeID & ",0),4)"

类似这样的,但我不确定你有什么工作表SMSv1。该字符串表示以下公式,来自我的20行示例工作表

=索引(SMSv2!$A$2:$L$20,匹配(SMSv1!RC[-11],SMSv2!$A$2:$A$20,0),4)


添加第二个,因为这可能与变量无关,但与分配给FormulaR1C1属性的公式有关

使用此处提供的示例:

单元格B3包含数字2,以下VBA用于向单元格D4添加公式

Sub foo_1()

    Range("D4").FormulaR1C1 = "=R[-1]C[-2]*10"

End Sub
但是,将示例中的公式样式与相同的值一起使用并不适用

Sub foo_2()

    Range("D4").FormulaR1C1 = "=RC[-1-2]*10"

End Sub
并给出了1004运行时错误

使用偏移功能可以实现与其他人大致相同且可能更熟悉的效果:

Sub foo_3()

    Range("D4").Formula = "=offset(D4,-1,-2)*10"

End Sub

错误是什么?运行时错误“1004”:应用程序定义的错误或对象定义的错误您添加了任何修改吗?我仍然收到运行时错误“1004”:应用程序定义的错误或对象定义的错误您可以提供一些示例数据来处理,然后我可以更新答案。我不清楚SMSv1和SMSv2的内容,公式中提到的两个工作表也以上述方式尝试,但遇到了另一个错误
Sub foo_3()

    Range("D4").Formula = "=offset(D4,-1,-2)*10"

End Sub