String Excel字符串函数不返回值
我很难理解代码中的错误。 函数没有返回任何值。当我要求调试器在最后一行停止&Verif_toutes_errurers=result时,它不会停止。 我不明白为什么,是吗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
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,我忘记了调用此函数的另一个子函数的下一个错误恢复。。。谢谢我很高兴能帮上忙。:-)