Criando uma matriz a partir de um intervalo no VBA

Estou com um problema aparentemente básico, mas não consigo encontrar recursos para resolvê-lo.

Simplificando, eu só quero carregar o conteúdo de um intervalo de células (todas uma coluna) em uma matriz.

Eu sou capaz de fazer isso por meio de

DirArray = Array(Range("A1"), Range("A2"))

Mas, por alguma razão, não posso criar a matriz quando expressa dessa maneira:

DirArray = Array(Range("A1:A2"))

Meu intervalo real é muito mais longo (e pode variar em comprimento), por isso não quero enumerar individualmente as células dessa maneira. Alguém pode me dizer como carregar corretamente um intervalo inteiro em uma matriz?

Com o último código:

MsgBox UBound(DirArray, 1)

E

MsgBox UBound(DirArray)

Retorne 0, enquanto que no primeiro eles retornam 1.

questionAnswers(3)

yourAnswerToTheQuestion