配列の定義は定数でなければいけないが、
変数で定義をすると、コンパイルエラーが起きる
例)
Dim listMax As Integer
listMax = UBound(list)
Dim newList(listMax, 1) As Variant・・・・ここでコンパイルエラー
こんなときは
Redimにしてやればよい
Redim newList(listMax, 1) As Variant
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/vba2003/06-array01.html
の「配列の動的確保」の部分を参照のこと