У меня есть код R, который возвращает матрицу шириной 12 колонок с более чем 1M строками. Когда я пытаюсь использовать getarraytovba, чтобы вернуть эту матрицу в вариант VBA, она терпит неудачу. Когда я говорю, что это не так, я имею в виду, что он запускает код без каких-либо ошибок, но переменная VBA будет пустой. Если я скрою матрицу R ниже 5000 строк, то VBA будет захватывать переменную. Если он находится между 5000 и 20000 (шар парк), то иногда он будет работать, а иногда он не будет. Моя система имеет 16 ГБ оперативной памяти и используется только 40%, когда я пытаюсь переместить данные в VBA. Использование памяти, похоже, не меняется, так как я открыл диспетчер задач, когда запускаю код.rExcel getarraytovba ограничение размера
Я искал тему, и единственный ответ, который я нашел, заключается в том, что она ограничена физической памятью, но поскольку у меня почти 10 ГБ свободной памяти, я думаю, что это больше, чем просто. Может ли кто-нибудь помочь мне пролить свет на то, почему getarraytovba настолько ограничивает?
Что это вы хотите сделать с этим большими объемами данных в VBA? Считаете ли вы, что вы проводите весь свой анализ больших объемов данных на стороне R и передаете обратно результаты (небольшие сводные статистические данные, отчеты) в Excel/VBA? Вот как я всегда использовал RExcel. – flodel
@flodel Это именно то, что я делаю, но хочу, чтобы можно было плюнуть на результаты (которые могут быть 10 или тысячи или даже миллионы строк) обратно в Excel. Я закончил создание функции, чтобы разделить матрицу R и перенести ее в строки VBA 3000 за раз. Это фиксировало это ... не идеально, но оно работает. –
ИМХО, миллионы строк в Excel - плохой дизайн. Excel должен быть вашей приборной панелью, только для обеспечения ввода пользователя и представления небольших итоговых результатов. Большие данные должны быть в другом месте: на стороне R, подключении к базе данных и т. Д. Какое использование вы используете для этих миллионов строк в Excel? – flodel