【发布时间】:2021-12-07 07:15:49
【问题描述】:
我尝试检索单元格中显示的值:
Private Sub Check_Commentaires()
'Declarations des variables
Dim WB1 As Workbook
Dim i, val2
Dim val1 As Variant
Set WB1 = ActiveWorkbook
For i = 2 To 10000
val1 = WB1.Sheets("Avant").Cells(i, 7).Value
val2 = WB1.Sheets("Avant").Cells(i, 14).Value
If (val1 = "#N/A" And val2 = "") Or (val1 = "0" And val2 = "") Then
ThisWorkbook.Sheets("Feuil1").Cells(4, 6).Value = "NOK"
WB1.Close False
Exit Sub
Else
ThisWorkbook.Sheets("Feuil1").Cells(4, 6).Value = "OK"
End If
Next
WB1.Close False
End Sub
但是在这个单元格中 (i,7) 我有 =recherchev(something...) 所以它不适用于错误消息“类型兼容性”。
有没有办法将WB1.Sheets("Avant").Cells(i, 7) 中显示的结果存储为字符串?
【问题讨论】:
-
如果
WorksheetFunction.IsNA(val1),则声明val1 As Variant。 -
请显示正确的minimal reproducible example,包括您的变量声明。
val1和val2是如何声明的? • 还请包括对您正在尝试做的事情的描述。你的目标是什么? -
在 val1 上使用 WorksheetFunction.IsNA(val1) 出现相同的错误 2042
-
那是因为
val1="0"将因类型不匹配而失败。可能最好将If分开。您不能将错误值与字符串进行比较,因此当val1是错误值时,val1 = "0"将引发类型不匹配错误。
标签: excel vba storage formula display