【发布时间】:2017-05-26 13:13:14
【问题描述】:
为什么以下可能会返回类型不匹配错误?
Dim Arrow As Workbook
If wb.Name Like "*Arrow*" Then
Set Arrow = wb
dplastrow = activeworkbook.Worksheets(1).UsedRange.Rows(Worksheets(1).UsedRange.Rows.Count).Row
LastArrow = Arrow.ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
For Each account In activeworkbook.Worksheets(1).Range("D11:D" & dplastrow)
For x = 2 To LastArrow
If (Trim(Right(account.Offset(0, 1), Len(account.Offset(0, 1) - 2))) = Arrow.Worksheets(1).Cells(x, "BL")) Then
'some action
我能够在实际的 excel gui 中查找并返回它的匹配值,这没问题。我尝试将单元格封装在 cstr(, val( 和/或用 .text 附加它们无济于事。
【问题讨论】:
-
下一列是否有一个空白单元格(或长度小于 3 的文本))将 -2 的 len 返回给 Right 函数?
-
或者任何单元格中有错误?
-
LastArrow = Arrow.ActiveSheet.UsedRange.Rows(**Arrow.**ActiveSheet.UsedRange.Rows.Count).Row
-
您说得对,先生,谢谢!关于长度的单元格的存在
-
是的,我的长度也