Как я могу выполнить заполнение DataSeries при обращении к выбору ListBox? - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь создать удобную для пользователя рабочую таблицу, в которой пользователь может определить, хотят ли они увеличивать свои ряды данных, используя тип роста "xlLinear" или "xlGrowth".

Я создал ListBox, в котором можно выбрать «Линейный» или «Рост».Оттуда я хотел бы, чтобы ряд данных заполнялся на основе типа заполнения в этом ListBox.На данный момент я получаю сообщение об ошибке «Метод DataSeries of Range Class Failed», которое я связал с параметром «Тип» в коде ряда данных.

Я довольно новичок в vba, хотя я пытался извлечь содержимое ячейки ListBox, используя .Value, .Text и только сам диапазон.Я не верю, что ListBox является проблемой, поскольку та же проблема возникает при удалении ListBox и простом наборе «Linear» или «Growth».

Ниже «RevStream1GrowthType» относится к ячейке ListBox.Первая часть кода не представляет проблем - только вторая часть.

With ThisWorkbook.Worksheets("Inputs")

Range(.Range("RevStream1Ter").Offset(0, 3 + HistoricNumber + AnalystNumber), .Range("RevStream1GrowthValue")).Name = "Test1"

.Range("Test1").DataSeries Rowcol:=xlRows, Type:="xl" & .Range("RevStream1GrowthType"), Date:=xlDay, Trend:=True

End With

1 Ответ

0 голосов
/ 10 февраля 2019

xlLinear (на самом деле xlDataSeriesLinear) и xlGrowth являются членами перечисления Excel XlDataSeriesType, и вы можете ссылаться на них либо через имя перечисления, за которым следует точка, а затем требуемый член (например: XlDataSeriesType.xlGrowth) или напрямую по их значению (например: -4132 для xlDataSeriesLinear).Ни в коем случае нельзя использовать строку (будь то константа или переменная) для вызова требуемого перечисления: "xlLinear" или "xlGrowth" не сработает.

, поэтому вы должны использоватьнекоторая функция, которая, используя ваш список в качестве входных данных, возвращает правильное значение перечисления XlDataSeriesType.

, например, например:

.Range("Test1").DataSeries Rowcol:=xlRows, Type:=IIf(.Range("RevStream1GrowthType").Value = "Linear", xlLinear, xlGrowth), Date:=xlDay, Trend:=True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...