Как использовать строковое значение из листа в качестве имени переменной - PullRequest
0 голосов
/ 29 января 2020

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

Пример:

    Dim WHN, Wn18, Wn06, Wn77, Wn26 As String
    Wn18 = "Name1"
    Wn06 = "Name2"
    Wn77 = "Name3"
    Wn26 = "Name4"

    WHN = Range("G2")

    MsgBox WHN

Где Range("G2") будет иметь значение одного из четырех значений Wn18, Wn06, Wn77 или Wn26. Я хотел бы, чтобы в этом примере MsgBox давал мне имя, связанное с этим значением.

Итак, если Range("G2").Value равно Wn06, я бы хотел, чтобы MsgBox отображал Name2.

Я знаю, что это можно сделать с помощью If операторов, но я надеялся на более элегантное решение.

1 Ответ

3 голосов
/ 29 января 2020

Вы можете сделать что-то подобное, используя коллекцию

Dim WHN As String
Dim Wn_Coll As New Collection

Wn_Coll.Add "Name1", "Wn18"
Wn_Coll.Add "Name2", "Wn6"
Wn_Coll.Add "Name3", "Wn77"
Wn_Coll.Add "Name4", "Wn26"

WHN = Wn_Coll(Range("G2"))

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