В этом случае вы можете создать одномерный массив, подобный этому
Dim vDat as variant
Dim rg as range
Set rg = Range("A1:A" & AnzahlZellen)
vDat = WorksheetFunction.Transpose((rg))
Таким образом, вы можете легко прочитать диапазон ячеек в массив.Вы также можете писать из массива в диапазон ячеек.Обычно вы получаете 2D-массив, но, поскольку у вас есть только один столбец, вы можете преобразовать его с помощью Transpose в 1D-массив.
Поскольку вы не отображали объявление InhaltsArray, я предполагаю, что ошибка времени выполнения 13 вызвано некоторым содержимым диапазона, который не соответствует типу данных InhaltsArray
В качестве дополнительного комментария к вашему коду: Большую часть времени вам не нужно выбирать