Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Excel字符串函数不返回值_String_Excel_Function_Vba - Fatal编程技术网

String Excel字符串函数不返回值

String Excel字符串函数不返回值,string,excel,function,vba,String,Excel,Function,Vba,我很难理解代码中的错误。 函数没有返回任何值。当我要求调试器在最后一行停止&Verif_toutes_errurers=result时,它不会停止。 我不明白为什么,是吗 Function Verif_Toutes_Erreurs() As String Dim RESULT As String Dim CELLULE As Range Dim LISTE As String Dim TEMP As String Dim i As Integer i = 0 For Each CELLULE

我很难理解代码中的错误。 函数没有返回任何值。当我要求调试器在最后一行停止&Verif_toutes_errurers=result时,它不会停止。 我不明白为什么,是吗

Function Verif_Toutes_Erreurs() As String
Dim RESULT As String
Dim CELLULE As Range
Dim LISTE As String
Dim TEMP As String
Dim i As Integer

i = 0

For Each CELLULE In SheetCoutRH.Range("Table_CoutRH").SpecialCells(xlCellTypeFormulas, xlErrors)
TEMP = SheetCoutRH.Cells(CELLULE.Row, SheetCoutRH.Range("Table_CoutRH").Column)
    If InStr(1, LISTE, TEMP) = 0 And i < 10 Then
    LISTE = LISTE & TEMP & ";"
    RESULT = RESULT & "La ligne " & TEMP & " contient une erreur." & vbCrLf
    i = i + 1
    End If
    If i > 9 Then Exit For
Next

For Each CELLULE In SheetIngredients.Range("Table_ing").SpecialCells(xlCellTypeFormulas, xlErrors)
TEMP = SheetIngredients.Cells(CELLULE.Row, SheetIngredients.Range("Table_ing").Column)
    If InStr(1, LISTE, TEMP) = 0 And i < 10 Then
    LISTE = LISTE & TEMP & ";"
    RESULT = RESULT & "La ligne " & TEMP & " contient une erreur." & vbCrLf
    i = i + 1
    End If
    If i > 9 Then Exit For
Next

For Each CELLULE In SheetRecettes.Range("Table_ing").SpecialCells(xlCellTypeFormulas, xlErrors)
TEMP = SheetRecettes.Cells(CELLULE.Row, SheetRecettes.Range("Table_recettes[Recette]").Column)
    If InStr(1, LISTE, TEMP) = 0 And i < 10 Then
    LISTE = LISTE & TEMP & ";"
    RESULT = RESULT & "La ligne " & TEMP & " contient une erreur." & vbCrLf
    i = i + 1
    End If
    If i > 9 Then Exit For
Next

Verif_Toutes_Erreurs = RESULT

End Function
函数Verif_Toutes_Erreurs()作为字符串 将结果变暗为字符串 暗淡的赛璐珞 将列表设置为字符串 作为字符串的Dim TEMP 作为整数的Dim i i=0 对于SheetCoutRH.范围(“表”中的每个单元格)特殊单元格(xlCellTypeFormulas,xlErrors) 温度=表列单元格(单元格行、表列) 如果InStr(1,LISTE,TEMP)=0且i<10,则 LISTE=LISTE&TEMP&“;” 结果=结果和“对齐”&温度和“连续错误”&vbCrLf i=i+1 如果结束 如果i>9,则退出以获取 下一个 对于板材中的每个单元。成分范围(“表”)特殊单元(xlCellTypeFormulas,xlErrors) 温度=板材配料。单元格(单元行、板材配料。范围(“表格”)列) 如果InStr(1,LISTE,TEMP)=0且i<10,则 LISTE=LISTE&TEMP&“;” 结果=结果和“对齐”&温度和“连续错误”&vbCrLf i=i+1 如果结束 如果i>9,则退出以获取 下一个 适用于活页夹中的每个单元格。范围(“表格”)。特殊单元格(xlCellTypeFormulas,xlErrors) TEMP=SheetRecettes.单元格(Cellle.Row,SheetRecettes.Range(“Table_recettes[Recette]”)列) 如果InStr(1,LISTE,TEMP)=0且i<10,则 LISTE=LISTE&TEMP&“;” 结果=结果和“对齐”&温度和“连续错误”&vbCrLf i=i+1 如果结束 如果i>9,则退出以获取 下一个 Verif_Toutes_Erreurs=结果 端函数 谢谢你的帮助

当执行流未到达断点时,通常会“避免”断点。:-)


如果函数因错误而过早退出(例如,无效工作表),则永远不会到达最后一行。如果您从另一个子/函数调用该函数,该子/函数包含允许的错误处理,如在函数调用之前的“错误恢复下一步”中的“代码”,则该错误将被运行时悄悄忽略,并且该函数将“动作”好像它没有返回任何内容。

您的函数没有参数。

如果函数出现在工作表单元格中,其缺少参数将阻止调用。最简单的修复方法包括:

Application.Volatile

作为函数的第二行。

arf,我忘记了调用此函数的另一个子函数的下一个错误恢复。。。谢谢我很高兴能帮上忙。:-)