![](/img/trans.png)
[英]Referencing a string within an Index Formula Array in Excel VBA ROW(1:1)
[英]Excel VBA referencing string in Formula Array
需要帮助将字符串插入公式数组以绕过255个字符限制的帮助。
Sub FindCAHS()
Dim HS As Range
Dim refworkbook As Variant
Dim ref1 As Workbook
Dim ref2 As Worksheet
Dim ref3 As String
Dim lastRow As Long
refworkbook = Application.GetOpenFilename(".xlsx Files (*.xlsx), *.xlsx", 1, "Select the HS Reference xlsx")
If refworkbook = False Then Exit Sub
Set HS = Range("J2")
Set ref1 = Workbooks.Open(refworkbook)
Set ref2 = ref1.Worksheets.Item(2)
lastRow = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
For j = 2 To lastRow
If IsEmpty(Cells(j, 10).Value) = True Then
ref3 = "'" & ref1.Path & Application.PathSeparator & _
"[" & ref1.Name & "]" & ref2.Name & "'"
HS.Offset(j - 2, 0).FormulaArray = _
"=vlookup($F$" & j & "&$G$" & j & "&$H$" & j & ",Choose({1,2},""" & ref3 & """!$C:$C&ref3!$D:$D&""" & ref3 & """!$E:$E,""" & ref3 & """!$F2:$F5000),2,0)"
Else: Exit Sub
End If
Next
ref1.Close False
End Sub
我已经尝试使用双引号(“”&ref3&“”)和双双引号(“”“”&ref3&“”“”),但不断收到应用程序定义或对象定义的错误。 我觉得这很容易解决,但似乎无法解决。 任何帮助,将不胜感激。 谢谢!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.