如何解决在 VBA 中使用偏移量在多条件索引/匹配上键入不匹配
这是我的代码:
Option Explicit
Sub DropValues()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim cws As Worksheet: Set cws = wb.Worksheets("Holdings")
Dim str2 As String: str2 = "Holdings - FTH & GAAP_crosstab-" & cws.Range("I2").Value & ".xlsx"
Dim tb As Workbook: Set tb = Application.Workbooks(str2)
Dim tws As Worksheet: Set tws = tb.Worksheets("Holdings - FTH & GAAP_crosstab")
Dim Lim As Long: Lim = cws.Range("A3").Value
Dim PortAd As String: PortAd = "B6:B" & (Lim + 2)
Dim CusipAd As String: CusipAd = "A6:A" & (Lim + 2)
Dim BV,MV,BY,ED,EC,OAS As String
BV = "V4:V" & Lim
MV = "Y4:Y" & Lim
BY = "Z4:Z" & Lim
ED = "AC4:AC" & Lim
EC = "AD4:AD" & Lim
OAS = "AE4:AE" & Lim
Dim i As Long
For i = 1 To cws.Range("B3").Value
cws.Range("J5").Offset(i,0).Value = WorksheetFunction.Index(tws.Range(BV),WorksheetFunction.Match(1,_
(cws.Range(CusipAd) = cws.Range("F5").Offset(i,0)) * (cws.Range(PortAd) = cws.Range("E5").Offset(i,0)),0))
cws.Range("K5").Offset(i,0).Value = WorksheetFunction.Index(tws.Range(MV),0))
cws.Range("L5").Offset(i,0).Value = WorksheetFunction.Index(tws.Range(BY),0))
cws.Range("M5").Offset(i,0).Value = WorksheetFunction.Index(tws.Range(ED),0))
cws.Range("N5").Offset(i,0).Value = WorksheetFunction.Index(tws.Range(EC),0))
cws.Range("O5").Offset(i,0).Value = WorksheetFunction.Index(tws.Range(OAS),0))
Next i
End Sub
当我尝试运行它时,它在循环中的第一个索引/匹配处停止,说存在类型不匹配。 Offset 功能或 Index/Match 功能是否有问题?我正在尝试在 google 上寻求帮助,但遇到了问题。
单元格 A3 和 B3 中有数字(都是计数函数的结果)。 单元格 I2 包含 12312019,这是文本函数的结果。
先谢谢你!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。