В Excel, У меня есть столбец следующим образом, как часть шаблона рабочей книги:Доступ к динамической Именованные диапазоны в VBA
Date Asset Return
1/3/2005 0.003582399
1/4/2005 -0.01908258
1/5/2005 0.002080625
1/6/2005 0.005699497
1/7/2005 -0.008040505
1/10/2005 -0.00339116
1/11/2005 -0.009715187
1/12/2005 0.002371855
1/13/2005 -0.00580783
1/14/2005 0.001058481
1/18/2005 0.015483842
1/19/2005 -0.014690715
1/20/2005 -0.015714799
1/21/2005 -0.010796326
Я использую Excel в качестве пользовательского интерфейса. Пользователь будет помещать данные в Excel, а затем будет считываться из другой программы (Matlab), которая будет выполнять вычисления.
Чтобы сделать это, я использую команду VBA, чтобы отправить его в Matlab и относятся к диапазону непосредственно или называя диапазон:
MLPutMatrix "VARIABLE_NAME", Range("B8:B2954")
или
MLPutMatrix "VARIABLE_NAME", Range("NamedRange")
Моя проблема заключается в том, что я не знаю, какой размер диапазона будет заблаговременно, так как количество строк будет отличаться в зависимости от того, какие данные пользователь вводит в диапазон Excel.
Я попытался создать именованный диапазон, который относится к последней, не пустой строке, используя эту формулу:
Sheet1!$B$8:INDEX(Sheet1!$B:$B,COUNTA(Sheet1!$B:$B)+8)
Однако, по-видимому, именованные диапазоны, которые определяются с помощью формулы не отображаются в названии и не может использоваться в сценариях VBA, поэтому это не работает. Мне нужно вручную создать имя, чтобы оно отображалось в поле имени и доступ к нему с помощью VBA, но, конечно, я не могу этого сделать, если заранее не знаю размеры диапазона.
Итак, моя проблема: мне нужно найти способ иметь возможность ссылаться на динамический диапазон либо по имени, либо по его размеру, а затем иметь возможность ссылаться на него в VBA, чтобы я мог отправить его в Matlab используя команду «MLPutMatrix».
привет, у вас есть какие-либо проблемы с использованием таблиц в Excel? что дает вам автоматически именованный динамический диапазон. PLS см. это видео: https://www.youtube.com/watch?v=uLJEMnIT0zM объясняет, как использовать динамическое имя диапазона. Надеюсь, поможет! – Hadi