如何使字符串接受Excel错误 - 运行时错误13-不匹配



我正在尝试格式化下载数据,然后插入SQL。数据的性质使得会有#name之类的错误?,#n/一个无效字段等。我有一个数据类型字符串变量,每次运行循环时都会占据新单元格的值。当循环撞击带有错误的数据点时,循环崩溃了(找到我的消息框循环)。

为什么字符串不接受错误作为字符串的值?我已经看到了有关此的帖子,建议的答案是使用Iserror使用,但是我需要错误的"#n/a"部分以识别发生的,而不是跳过行。任何建议将不胜感激!谢谢:)代码的摘录如下:

'Insert static fields
Dim field As String
        code = "'" & tbl.DataBodyRange(i, 1) & "'"
        For j = 2 To 48
            MsgBox (tbl.DataBodyRange(i, j))
            field = tbl.DataBodyRange(i, j).Value
            'Recursively going through each cell
            If InStr(field, "#N") <> 0 Then
                field = "NULL "
                k = 1

它首先在MessageBox上遇到错误,消息框将显示不匹配错误。

围绕问题的一种方法是使用变体数据类型来处理错误。

当您发现字符串变量时,无法保留错误值,而变体可以。然后,您可以沿着:

的行使用代码
IF ISERROR(field) THEN
   field = NULL  
   K=1  
END IF  

变体也可以保持无效。

编辑:

我已经看到了有关此的帖子,推荐的答案是使用 如果Iserror,但我需要错误的"#n/a"一部分以识别 一个发生,而不是跳过行。

ISERROR零件确定发生了错误。这条代码本身不会跳过行;它使您有机会使用该行进行其他操作,例如用null值替换错误值或其他必需值。

相关内容

  • 没有找到相关文章

最新更新