Dim NumberOfErrors As Integer
NumberOfErrors = 0
If Dir(FilePath) = "" Then ' This is declared earlier and working ok
NumberOfErrors = NumberOfErrors +1
Dim ErrorArray() As Integer
ReDim ErrorArray(NumberOfErrors)
ErrorArray = Cells(cell.Row, "C").Value
End If
Next cell
If NumberOfErrors > 0 Then
MsgBox "Attachments Do Not Exist for The Following Users: " & ErrorArray(NumberOfErrors)
End If
所以只是试着澄清我想要做的事情。如果该文件不存在,则创建一个动态数组以显示不存在的文件的名称。将它们传递给一个数组,并在不存在的文件的消息框中显示一个列表
答案 0 :(得分:0)
您的数组不是动态的,因为您总是将其调整为4,但是您应该将Dim线移出循环,然后使用:
ReDim Preserve ErrorArray(NumberOfErrors)
ErrorArray(NumberOfErrors) = Cells(cell.Row, "C").Value
或者你也可以使用Collection或Dictionary而不是数组。
要将数组与MsgBox
一起使用,您需要使用Join
:
MsgBox Join(ErrorArray, vbLf)
例如。