Введите строку (значение ячейки) для определенного пользователем типа? - PullRequest
0 голосов
/ 16 января 2011

Я совершенно новичок в VBA.

Я создал определенный пользователем тип QualVal с двумя переменными-членами.Затем я создал несколько переменных как Qualval и инициализировал их значения.

Теперь я хочу прочитать значение ячейки, которое является строкой, и совпадает с именами переменных и типизировать их.

Type QualVal
    ul As Integer 'upper limit
    ll As Integer 'lower limit
End Type

Мои переменные с типом QualVal:

g1.ll = 94
g1.ul = 96
n.ll = 90
n.ul = 93

Теперь я хочу сделать что-то вроде этого:

Dim group As QualVal
group = Cell(1, 2).Value 'would like to cast it to either g1 or n according to the cell value which also can only contain g1 or n

Надеюсь, понятно, чего я хочуделать.Я мог бы использовать оператор выбора регистра, но у меня больше переменных, чем упомянуто, и это решение выглядит не очень хорошо.

Может быть, кто-то может мне помочь.

Спасибо заранее и с наилучшими пожеланиями!

1 Ответ

0 голосов
/ 16 января 2011

Я не думаю, что вы можете сделать это, но я не уверен.

В любом случае, лучшее решение, которое я вижу, - хранить все возможные имена переменных и их объекты в коллекции.Примерно так:

Dim vars As New Collection

vars.Add "g1", g1
vars.Add "n", n

Dim group As QualVal
group = vars.Item(Cell(1, 2).Value)

Это также намного безопаснее, потому что вы можете контролировать, какие переменные выставляются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...