 <p>That error is thrown if the second dimension does not exist. My money would go on that as your problem.</p> <p>Here's an example of an array of jagged arrays, the last being empty. The last line will throw a Type Mismatch error because there is no second dimension.</p> <pre><code>Dim mainArray(0 To 3) As Variant Dim subArray As Variant subArray = Array("A", "B", "C") mainArray(0) = subArray Debug.Print mainArray(0)(0) 'prints A subArray = Array(1, 2, 3, 4) mainArray(1) = subArray Debug.Print mainArray(1)(0) 'prints 1 subArray = Split("HELLO|WORLD", "|") mainArray(2) = subArray Debug.Print mainArray(2)(0) 'prints HELLO mainArray(3) = Empty Debug.Print mainArray(3)(0) 'Type mismatch </code></pre> <p>Have a look in your Locals Window and test if your arrays are correct.</p> <p>As noted in the comments, that <code>ReDim</code> without <code>Preserve</code> looks suspicious - I think you may be clearing your old arrays.</p>